JSON i dzienniki aplikacji Nowy
Łączyć Dzienniki aplikacji do Excela, Arkuszy i AI
Dziennik aplikacji, ślady stosu nadal podłączone. Linie JSON z ECS, Serilog, Pino lub Bunyan. Zwykły znacznik czasu [POZIOM] rejestrator: wiadomość tekst, gdzie czterdziestoliniowy ślad stosu pozostaje połączony z wierszem, który go wywołał, zamiast stać się czterdziestoma bezużytecznymi wierszami. Oraz, w Debianie i Ubuntu, dwa dzienniki rejestrujące zmiany na komputerze.
Twój folder dziennika stanie się tabelą, według której możesz grupować.
Nie grep i nie stos logów. Query Streams odczytuje pliki, które Twoja aplikacja już zapisuje, przypina format i zwraca kolumny z typem – więc pytanie „który rejestrator generuje najwięcej błędów w tym tygodniu” to jedno zapytanie, a nie jedno popołudnie. Wiersz, którego parser nie może odczytać, jest przechowywany jako wiersz z uzasadnieniem, a nie po cichu usuwany.
sklep-api/app.jsonlJSON
pracownik-witryny-sklepowej/app.logtekst
historia.logtrafnyObsłużono rotacje, skompresowane archiwa i ponownie odczytane pliki
SELECT aplikacja, rejestrator,
liczyć(*) AS błędy
Z zestaw_plików.zdarzenia
GDZIE poziom = 'BŁĄD'
GROUP BY aplikacja, rejestrator
ORDER BY błędy DESCPołącz go z bazą danych swojej aplikacji w tym samym zapytaniu
Pliki, które Twoja aplikacja już zapisuje, teraz w tabeli, na podstawie której możesz raportować
Dwa kształty pisze Twoja aplikacja, dwa kształty pisze pole
Każda karta zawiera nazwy plików odczytywanych przez Query Streams i informacje o ich działaniu. Nie trzeba korzystać z biblioteki rejestrowania ani zmieniać formatu, aby to działało — obsługiwane są formaty, które te narzędzia generują domyślnie.
Obsługiwane dzienniki aplikacji
4 formaty
Linie JSONECS, Serilog Compact, Pino, Bunyan
- Jeden obiekt JSON na wiersz w
.jsonl,.ndjsonlub*-json.log - Nazwy pól ECS są mapowane bezpośrednio —
poziom dziennika,nazwa_hosta,nazwa usługi - Serilog compact, pino i Bunyan czytają też: te same klucze, inna pisownia
- Zagnieżdżone obiekty spłaszczają się do kropkowanych kolumn; wszystko, co nie jest mapowane, ląduje w
dane - Dołącza; datowane obroty i
.gzśledzony
Dziennik tekstowyznacznik czasu, poziom, rejestrator, wiadomość
- Domyślny kształt: znaczek, poziom w nawiasach, rejestrator, wiadomość
- Ślad stosu jest połączony z linią, która go wywołała — jeden wiersz, a nie czterdzieści
Na …,Spowodowane przez:orazŚledzeniewszystko czytać jako kontynuację- Czyta
.dziennik,.na zewnątrzoraz.txtPliki JSON są wykluczane przez deklarację - Przecinek lub kropka w milisekundach; zegar lokalny odczytywany jako czas Agenta
dpkgdziennik pakietów
- Jeden wiersz na krok pakietu:
zainstalować,aktualizacja,usunąć,skonfigurować pakiet,wersjaoraznowa_wersjajako własne kolumnystatuslinie przenoszą stan dpkg przeniósł pakiet do/var/log/dpkg.logi jego numerowane.gzobroty- Brak strefy w pliku; odczytaj jako lokalny zegar Agenta
trafnydziennik historii
- Jeden
Klucz: wartośćblok na transakcję, pusta linia między blokami - Dokładny
Wiersz poleceńktóry działał i co zmienił Data rozpoczęciajest czasem wydarzenia;Data końcowajest osobną kolumną- Niezakończona transakcja czeka, zamiast być dzielona na pół
/var/log/apt/history.logplus jego.gzobroty
Nowe formaty dzienników aplikacji i pakietów są dodawane z każdą wersją Agenta. Ponieważ Agenty są na bieżąco aktualizowane, format dodany później pojawia się w konektorze bez ingerencji serwera.
Dziennik Twojej aplikacji z każdego regionu, przeczytaj gdzie to jest
Jedna aplikacja rzadko jest jednym serwerem. API w jednym regionie chmury, pracownicy w innym, coś wciąż na komputerze w biurze. W każdej lokalizacji działa agent sieciowy, który odczytuje pliki dziennika tam, gdzie się one już znajdują, i nawiązuje połączenie z Query Streams. Z punktu widzenia zapory sieciowej jest to zwykłe połączenie wychodzące — nic do otwarcia, bez tworzenia VPN i bez biblioteki logowania do dodania do aplikacji.
Trzy połączenia wychodzące, jedno miejsce do ich sprawdzania — bez portu przychodzącego, bez VPN, bez zmiany zapory sieciowej
Jeden agent na lokalizację
Agent obejmuje całą lokalizację, a nie pojedynczy log: wiersze JSON, log tekstowy i historia pakietów w danej lokalizacji stają się osobnymi łącznikami zestawu plików w tym samym agencie. W ramach darmowego poziomu działa jeden agent, a w wyższych poziomach – więcej.
1 lokalizacja = 1 agent = wiele łączników
Nic do otwarcia
Agent nawiązuje jedno szyfrowane połączenie wychodzące, przez które zarówno żądanie wychodzące, jak i dane z powrotem są przesyłane. Bez portu przychodzącego, bez VPN, bez konieczności zmiany zapory sieciowej – i bez żadnych dodatkowych elementów dodawanych do aplikacji, aby ją uruchomić.
jedno połączenie, w obu kierunkach
Jedno zapytanie obejmujące wszystkie regiony
Każde źródło w zapytanie federacyjne nadaje nazwy własnemu agentowi, dzięki czemu jednym poleceniem można umieścić błędy API w jednym regionie obok błędów pracowników w innym — lub obok historii pakietu, która wyjaśnia, kiedy został uruchomiony. Dostępne w wersjach Business i Enterprise.
2 regiony → 1 zestaw wyników
Utrzymują się na bieżąco
Agenci aktualizują się sami, więc format dziennika dodany w późniejszej wersji dociera do każdej lokalizacji bez Twojego własnego wdrożenia. To właśnie sprawia, że ściana powyżej jest punktem startowym, a nie stałą listą.
nowe formaty pojawiają się wraz z Agentem
Ślady stosu, zegary i podobne obiekty
Dziennik aplikacji to najbardziej chaotyczny plik na serwerze: jedno zdarzenie może obejmować czterdzieści wierszy, dwa niepowiązane formaty mogą wyglądać identycznie, a połowa tych plików w ogóle nie zawiera strefy czasowej. Każdy z tych plików jest obsługiwany poprzez deklarację, a nie na zasadzie domysłów.
Jedno wydarzenie, a nie czterdzieści wierszy
Linia, która nie rozpoczyna się znacznikiem czasu, należy do linii powyżej. W ten sposób ślad stosu pozostaje powiązany z wiadomością, która go wywołała, zamiast rozpadać się na dziesiątki fragmentów, których nie da się już odtworzyć. GROUP BY można złożyć z powrotem.
linie kontynuacji → połączone, do 200
Dwa podobne kłody
Linia aplikacji JSON, koperta Dockera i linia dostępu JSON serwera WWW to „JSON ze znacznikiem czasu”. Format jest ustalany na podstawie zawartości linii, więc każdy z nich trafia do własnego profilu — nigdy poprzez rozgałęzienie na nazwie pliku.
decyduje treść, a nie nazwa pliku
Zegar bez strefy czasowej
Dzienniki tekstowe, dpkg i apt zapisują lokalny czas hosta bez dodanego przesunięcia. Zamiast zgadywać, profile te deklarują, że znacznik jest lokalny i odczytują go jako strefę czasową agenta — a oryginalny ciąg znaków jest w obu przypadkach przechowywany w osobnej kolumnie.
zegar lokalny → zadeklarowany, nigdy nie wnioskowany
Transakcja nadal trwa
apt zapisuje początek aktualizacji natychmiast, a linię końcową dopiero po zakończeniu działania dpkg, co może nastąpić kilka minut później. Blok, który nie został jeszcze zamknięty, czeka, zamiast zostać przecięty na pół i pojawić się jako zdarzenie bez początku.
czeka na datę końcową, do 30 min
- czas_wydarzenia
- 2026-09-08 14:02:11.431
- poziom
- BŁĄD
- drwal
- Klient płatności
- wiadomość
- nie udało się naładować ↵ java.net.SocketTimeoutException: Przekroczono limit czasu odczytu ↵ w …
Kolumny, które faktycznie otrzymujesz
Nie jest to kleks tekstu ze znacznikiem czasu. Każdy format jest analizowany w kolumny, które można filtrować, grupować i agregować bezpośrednio — a podczas gdy Twoja aplikacja rejestruje ustrukturyzowany JSON, jej własne pola również są rozpakowywane w kolumny.
Każdy rząd również niesie czas_wydarzenia, surowy znacznik, z którego został odczytany, oraz plik, z którego pochodzi. Twoje logi aplikacji są identyfikowane przez aplikacja i dwa dzienniki pakietów według gospodarz — oba pobrane z folderu, w którym znajduje się plik, więc folder dla usługi lub maszyny daje czystą kolumnę do grupowania. Trzykolumnowy dziennik tekstowy jest celowy: zamiast zgadywać, których pól nie zawiera prawidłowa wiadomość, wiadomość jest zachowywana w całości, wraz ze śladem stosu.
Gdzie mogą trafić dane z dziennika aplikacji
Pliki dziennika nie są ślepą uliczką. Podłącz folder raz, a to samo połączenie tylko do odczytu będzie dostępne dla każdej powierzchni obsługiwanej przez Query Streams — bez konieczności drugiej konfiguracji, drugiej kopii danych i bez różnicy w obsłudze ze strony łącznika bazy danych.
Rejestry aplikacji do programu Excel
Microsoft Excel · Dodatek do programu Excel
Przeciągaj wyniki dziennika aplikacji na żywo bezpośrednio do arkusza kalkulacyjnego i odświeżaj je na żądanie — w programie Excel na komputerze stacjonarnym, w programie Excel Online, w programie Microsoft 365.
Jak działa ExcelRejestry aplikacji w Arkuszach Google
Dodatek Arkuszy
Uruchom zapisany dziennik aplikacji z paska bocznego i upuść wiersze do arkusza. Współpracownicy korzystający z udostępnionego konta mogą je samodzielnie odświeżyć.
Jak działają Arkusze GoogleRejestry aplikacji serwera MCP
Claude, klienci Cursor i MCP · Serwer MCP
Udziel asystentowi AI dostępu tylko do odczytu dziennika aplikacji ze schematem potrzebnym do pisania prawidłowych instrukcji SQL — bez konieczności podawania danych uwierzytelniających w czacie.
Jak działa MCPLogi aplikacji REST API
Punkt końcowy HTTP
Opublikuj zapytanie do dziennika aplikacji jako uwierzytelniony punkt końcowy JSON, który może wywołać dowolna aplikacja, ze specyfikacją OpenAPI 3.1 i gotowymi kolekcjami Postman, Insomnia i Hoppscotch. Port bazy danych nie jest otwarty.
Jak działa REST APIRejestry aplikacji w Airtable
Platforma automatyzacji
Synchronizuj wiersze dziennika aplikacji z Airtable zgodnie z harmonogramem lub pobieraj je za pomocą skryptu automatyzacji Airtable.
Jak działa AirtableRejestry aplikacji do Baserow
Platforma automatyzacji
Przekaż tabelę Baserow z dziennika aplikacji do punktu końcowego REST — hostowanego samodzielnie lub w chmurze Baserow.
Jak działa BaserowRejestry aplikacji do SeaTable
Platforma automatyzacji
Utrzymuj bazę SeaTable na bieżąco, korzystając z danych dziennika aplikacji, bez konieczności eksportowania pliku lub udostępniania bazy danych.
Jak działa SeaTableRejestry aplikacji w Smartsheet
Platforma automatyzacji
Przesyłaj wyniki dziennika aplikacji do siatki Smartsheet, aby plany i raporty były odczytywane z systemu źródłowego, a nie z eksportu z poprzedniego tygodnia.
Jak działa SmartsheetLogi aplikacji do Anvil
Anvil Works · Platforma aplikacji
Wspieraj aplikację Anvil Python dziennikiem aplikacji przez punkt końcowy REST zamiast osadzać poświadczenia bazy danych w aplikacji.
Jak działa AnvilRejestry aplikacji w usłudze Power BI
Power Query M
Wklej wygenerowany kod Power Query M do Edytora zaawansowanego usługi Power BI, a raport odczyta wyniki dziennika aplikacji na żywo przesyłane przez protokół HTTPS — bez sterownika ODBC i bez otwartego portu bazy danych.
Jak działa Power BIRejestry aplikacji, alerty i raporty
Slack · Discord · E-mail · Webhook
Utwórz harmonogram zapytań do dziennika aplikacji i otrzymuj wiersze dostarczane do Slacka, Discorda, poczty e-mail lub podpisanego webhooka — albo wstrzymaj wiadomość, aż liczba wierszy, próg lub zmiana procentowa przekroczy ustawioną linię.
Jak działają alerty i raportyCzego to celowo nie robi
To nie jest żywy ogon. Query Streams odczytuje pliki w momencie ich obecności na dysku podczas uruchamiania zapytania, więc nagły wzrost błędu pojawia się jako wiersze, a nie jako strumień, który można obserwować. Jeśli potrzebujesz alertów na temat wiersza w trakcie jego drukowania, potok logów jest odpowiednim narzędziem i o tym powiemy.
Dziennik Twojej aplikacji zawiera wszystko, co ona drukuje, i warto to powiedzieć wprost: jeśli loguje token, e-mail klienta lub pełną treść żądania, ten ciąg znaków znajduje się już w pliku i będzie również w kolumnie. Nie ma mapy pól, która wykluczałaby to, co ma miejsce w przypadku dziennika serwera WWW. Traktuj wynikową tabelę z taką samą ostrożnością, z jaką traktowałbyś plik.
Część tego, co mogą zarejestrować dzienniki pakietów, jest rozpoznawana na podstawie kształtu, a nie potwierdzana przez przechwycenie. dpkg dokumentuje wiersz pliku konfiguracyjnego i oczyszczać oraz zniknąć działania; odpowiednie dokumenty Na życzenie, Błąd, Oczyszczać, Zainstaluj ponownie oraz NachylenieŻaden z nich nie pojawił się w dziennikach, na podstawie których zbudowano te profile, dlatego są one zadeklarowane, a nie zademonstrowane — a żaden z dzienników pakietów nie obejmuje dystrybucji opartych na pakietach RPM ani systemu Windows.
Jeden szczegół konfiguracji zamiast ograniczenia: kolumna tożsamości pochodzi z folderu, w którym znajduje się plik, znajdującego się poniżej folderu, na który wskazujesz. Skieruj łącznik na katalog zawierający jeden podfolder na usługę lub komputer, a otrzymasz przydatne nazwy za darmo; skieruj go bezpośrednio na katalog luźnych plików, a każdy wiersz będzie nazwany tak, jak ten katalog. Warto poświęcić trzydzieści sekund na konfigurację.
Reszta działa zgodnie ze standardową strukturą. Agent łączy się z siecią wychodzącą i odczytuje pliki; nic nie jest instalowane razem z aplikacją, nic nie jest zapisywane z powrotem, żaden proces nie jest dołączany ani instrumentowany, a dostęp jest tylko do odczytu.
Jak to działa
Trzy kroki i brak zmian w sposobie rejestrowania danych przez aplikację.
Wskaż folder dziennika
Udziel agentowi strumieni zapytań dostępu do odczytu miejsca, w którym znajdują się już logi — folderu obok aplikacji, udziału, w którym je zbierasz, lub /var/log dla historii pakietów.
Rozpoznaje format
Query Streams identyfikuje format na podstawie zawartości wierszy, a nie nazwy pliku — dzięki temu zmieniona nazwa kopii nadal daje się odczytać, a plik, który nie pasuje do przypiętego formatu, jest parkowany z określonego powodu, zamiast uszkadzać tabelę.
Zapytaj o to lub dołącz do nas
Uruchamiaj polecenia SQL z poziomu portalu, wdrażaj je w programie Microsoft Excel lub Arkuszach Google albo użyj zapytania federacyjnego, aby połączyć dziennik błędów z zamówieniami i użytkownikami w bazie danych aplikacji — w jednym poleceniu.
Często zadawane pytania dotyczące dziennika aplikacji
Z której biblioteki rejestrującej powinienem korzystać?
Żadnego konkretnego. Jeśli piszesz wiersze JSON, nazwy pól Elastic Common Schema są mapowane bezpośrednio, a kompaktowy format Seriloga sprawia, że Pino i Bunyan czytają się równie dobrze, ponieważ używają tych samych kluczy najwyższego poziomu, ale z inną pisownią — znacznik czasu jest pobierany z dowolnej ze zwykłych nazw, które faktycznie zawiera Twój wiersz.
Jeśli piszesz zwykły tekst, zwykły znacznik czasu [POZIOM] rejestrator: wiadomość Shape jest formatem obsługiwanym sam w sobie. Nie ma potrzeby niczego adoptować ani rekonfigurować.
Co właściwie dzieje się ze śladem stosu?
Pozostaje przy błędzie, który go wygenerował. Rekord zaczyna się od wiersza, który rozpoczyna się znacznikiem czasu, a każdy kolejny wiersz, który go nie zawiera, jest traktowany jako jego kontynuacja — co jest dokładnie tym samym kształtem, jaki ma ślad w Javie, .NET lub Pythonie. Klasa wyjątku, Na … ramki, a Spowodowane przez: łańcuch i Python Śledzenie nagłówek jest rozpoznawany jako należący do wiersza powyżej.
Praktyczna różnica polega na tym, że zliczanie błędów zlicza błędy. Bez tego jeden wyjątek zawyża liczby o liczbę klatek, które wydrukował, a wiadomość, którą chcesz przeczytać, znajduje się w innym wierszu niż nazwa klasy.
Dlaczego dpkg i apt znajdują się w dziennikach aplikacji?
Ponieważ odpowiadają na pytanie, które zadajesz zaraz po „kiedy to zaczęło szwankować?” – a mianowicie „co się zmieniło?”. Są to własne logi menedżerów pakietów, znajdujące się w tym samym drzewie folderów, odczytywane w ten sam sposób i będące najprzydatniejszym sąsiadem dziennika błędów.
Historia apt jest czytelna: jeden blok na transakcję z dokładnym poleceniem, które zostało uruchomione, oraz informacjami o tym, co zostało zainstalowane, zaktualizowane lub usunięte. Dziennik dpkg jest szczegółowy, z wierszem na krok pakietu. Pomiędzy nimi można przypisać datę zmiany, zamiast próbować ją zapamiętać.
Czy mogę połączyć moje błędy z aktualizacją, która je spowodowała?
Tak, ale pamiętaj o jednym: złącze odczytuje jeden format, więc dziennik aplikacji i /var/log/apt/history.log Są to dwa łączniki, a nie jeden. Zapytanie federacyjne łączy je w jednym poleceniu, tym samym mechanizmem, który łączy dziennik z produkcyjną bazą danych.
To jest pytanie, które warto zadać w odniesieniu do tej rodziny — liczba błędów na godzinę, oprócz transakcji wykonanych danego dnia, obie były odczytywane z plików, których nikt nie musiał nigdzie wysyłać.
Czy to dzieje się w czasie rzeczywistym?
Działa na żądanie, a nie strumieniowo. Pliki są odczytywane w momencie uruchomienia zapytania, więc nowe wiersze pojawiają się w momencie ich zapisu przez aplikację, a plik jest pobierany — nie według stałego nocnego harmonogramu, ale też nie na bieżąco.
Jeśli chodzi o zadanie pytania dotyczącego ostatnich kilku tygodni i uzyskanie odpowiedzi w arkuszu kalkulacyjnym lub zaplanowanym raporcie, jest to przydatny kształt, wymagający znacznie mniej narzędzi niż stos kłód.
W moim dzienniku są pola, których nie wymieniłeś. Czy są utracone?
Nie. W formatach JSON i apt wszystko, co nie jest mapowane na nazwaną kolumnę, jest przechowywane w dane Kolumna, a nie odrzucana, dzięki czemu identyfikator żądania, dzierżawca lub czas trwania, który rejestrujesz, nadal mogą być odpytywane. Zagnieżdżone obiekty są spłaszczane do nazw z kropkami w trakcie przesyłania.
Linia, która w ogóle nie pasuje do przypiętego formatu, również zostaje zachowana — jako surowy wiersz z dołączonym powodem, dzięki czemu nieoczekiwana zmiana formatu jest widoczna, a nie pojawia się jako cicha luka w liczbach.
A co z historią pakietów Red Hat, Fedora lub Alpine?
Brak profilu dla nie kontynuować, pycha lub apk Dzisiaj nie ma odpowiednika w systemie Windows. Dwa formaty pakietów to dziennik dpkg i historia apt, obejmująca Debiana i Ubuntu.
Logi Twojej aplikacji nie są przez to zakłócane — formaty JSON i tekstowe nie zwracają uwagi na to, w jakiej dystrybucji się znajdują. A jeśli nie masz pewności, jak zostanie rozpoznany Twój folder, funkcja Test Connection zgłosi znalezione dane przed zatwierdzeniem zmian.
Twoja aplikacja już to zapisała
Podłącz folder dziennika i uruchom w nim pierwsze zapytanie w ciągu kilku minut. Bezpłatny plan, brak karty kredytowej, brak zmian w sposobie logowania.
Tylko do odczytu · tylko połączenie wychodzące · Twoje logi pozostają na Twoim serwerze












