Skip to main content
CLI LogBrew o otwartym kodzie źródłowym odczytuje telemetrię i zarządza danymi konta z terminala. Zacznij od przewodnika po CLI, który opisuje instalację, logowanie i typowe zadania.

Jak działa CLI

W terminalu używaj czytelnego tekstu. W skryptach i agentach kodujących używaj --json. Odczyty danych konta wymagają zalogowania. Zanim zaczniesz logowanie, uruchom logbrew status --json. Autoryzację w przeglądarce musi dokończyć człowiek. Klucze wysyłania projektu wysyłają telemetrię. Nie zastąpią logowania na konto. Tworzenie projektów i kluczy, zmiany statusu, priorytetu i przypisania do problemu, wdrożenia oraz aktualizacje zgłoszeń do pomocy technicznej zmieniają dane konta. Zanim uruchomisz takie polecenie, upewnij się, że operacja i jej cel są właściwe. Uruchom logbrew --help, aby zobaczyć wszystkie polecenia. Dodaj --help do polecenia, na przykład logbrew read logs --help, aby zobaczyć jego flagi. Uruchom logbrew help json, aby poznać reguły JSON.

Odczytaj raport diagnostyki projektu

Użyj ID projektu z logbrew projects --json:
Polecenie odczytuje stan projektu i jeden niedawny log. Nie tworzy projektu, nie zmienia klucza i nie zapisuje konfiguracji. Raport ma status, checks i next. Każde sprawdzenie ma check, status i next. Sprawdzenia to api, auth, project, ingest_key, setup, telemetry i logs. Kod wyjścia 0 oznacza, że CLI zapisał raport. Nie oznacza, że projekt jest gotowy. Odczytaj status raportu i każde sprawdzenie. Sprawdzenie not_checked nie zostało zaliczone. Gdy odczyt projektu się powiedzie, sprawdzenie logs ma wartość visible, empty, unavailable, error lub invalid_response. To sprawdzenie nie zmienia status raportu. Pusty wynik logów nic nie mówi o innych sygnałach. Nieudany odczyt to nie to samo co pusty wynik. Traktuj next jako wskazówkę naprawy. Nie daje uprawnienia do zmiany stanu konta ani projektu.

Przykład: brak dostępu do konta

Bez poświadczeń konta polecenie nie wysyła żądania API. Zapisuje ten raport na standardowe wyjście i kończy działanie z kodem 0:
Ten raport różni się od diagnozy projektu w API. Nie zawiera pól API state, setup_status ani next_action.

Filtry

--since przyjmuje czas trwania, taki jak 24h lub 7d, albo znacznik czasu RFC 3339. --until przyjmuje znacznik czasu RFC 3339. To czas końca, który nie należy do zakresu, i musi być późniejszy niż --since. Odczyt jednego problemu po ID nie przyjmuje --until. Ważność logu to info, warning, error lub critical. Status problemu to stan problemu w procesie pracy, a nie jego ważność. --status ignored to starsza nazwa --status archived. --status open oznacza unresolved, a --status closed oznacza resolved. --assignee none wybiera problemy bez przypisania, a --assignee my_teams wybiera problemy twoich zespołów. Każda inna wartość --assignee kończy się błędem invalid_assignee. CLI przyjmuje też te aliasy: --project-id, --env, --service-name, --trace-id, --distinct-id oraz --level zamiast --severity. W nowych skryptach używaj nazw z tabeli. To polecenie odczytuje błędy z 1 dnia:
ID projektu wybiera projekt. Nazwa usługi wybiera komponent w tym projekcie. Wartości ze spacjami ujmij w cudzysłów:
Jeśli szukany tekst zaczyna się od łącznika, umieść przed nim --:

Wybierz wystąpienie problemu

Problem grupuje pasujące wystąpienia. Odczytaj problem, aby poznać jego status, liczbę wystąpień oraz czas pierwszego i ostatniego wystąpienia:
Dowody z jednego wystąpienia odczytasz przez explain issue lub investigate issue. Bez --occurrence LogBrew wybiera zalecane wystąpienie. Nie zawsze jest to najnowsze zdarzenie. Aby odczytać najnowsze zdarzenie:
--occurrence przyjmuje też recommended, first albo ID wystąpienia zwrócone przez LogBrew. Te polecenia odrzucają filtry projektu, wydania, środowiska i czasu. Zanim porównasz dowody, odczytaj znacznik czasu wybranego wystąpienia. Pola dowodów opisuje strona Zbadaj problem.

Zmień status i priorytet problemu

Aby zmienić 1 problem, użyj 1 ID problemu:
archive ustawia archived, resolve ustawia resolved, a reopen ustawia unresolved. Priorytet ma wartość high, medium lub low. Priorytet ustawiony ręcznie się nie zmienia. W przeciwnym razie priorytet wynika z ważności problemu. Aby zmienić więcej niż 1 problem, dodaj --project. Wszystkie problemy muszą należeć do tego projektu. Jedno polecenie zmienia do 100 problemów:
Wynik ma 1 wpis dla każdego problemu. Każdy wpis ma wartość updated, unchanged lub not_found. Problem unchanged miał już żądaną wartość. Po błędzie sieci możesz uruchomić to samo polecenie ponownie. Te polecenia nie proszą o potwierdzenie. Najpierw sprawdź ID problemów. Odczyty i zmiany problemów pokazują archived zamiast ignored oraz priority, priority_source i assignee każdego problemu. Zobacz odpowiedź problemu.

Przypisz problemy

Problem może być przypisany najwyżej do 1 konta albo 1 zespołu. Wyświetl konta i zespoły, którym możesz przypisywać problemy w projekcie:
Przypisz 1 problem do konta, do siebie przez me albo do zespołu:
Usuń przypisanie:
Dodaj --project, aby zmienić do 100 problemów z tego projektu, tak jak przy statusie i priorytecie. Konto musi mieć dostęp do odczytu projektu, a zespół musi należeć do organizacji projektu. Aby znaleźć problemy przypisane do ciebie lub twoich zespołów:
Wyjście tekstowe pokazuje nazwę przypisanego konta albo team #<slug> dla zespołu. Jeśli konto nie ma nazwy, pokazuje adres e-mail, a w dalszej kolejności ID użytkownika. Problem bez przypisania pokazuje unassigned.

Właściciele, historia i skrzynka odbiorcza

issues owners wyświetla proponowanych właścicieli i dowody, które sprawdził. issues ownership set wysyła lokalne pliki o rozmiarze najwyżej 128 KiB każdy. Pusty plik czyści zapisany tekst tego rodzaju. issues activity i inbox przyjmują --limit od 1 do 200 oraz --cursor-time z --cursor-id z next_cursor. Zobacz Znajdź właściciela problemu.

Ustaw reguły ważności

Ważność to info, warning, error, critical lub source. source przywraca zarejestrowaną ważność. --ignore ukrywa pasujące logi na domyślnej liście logów. Bez --ignore reguła je pokazuje.

Odczytaj następną stronę

Logi, problemy, akcje, metryki i ślady obsługują paginację kursorową. Wydania nie. Dla pierwszej strony użyj --pagination cursor:
Odpowiedź ma logs i next_cursor. Jeśli next_cursor nie jest pusty, zawiera time i id. Wyślij je przez --cursor-time i --cursor-id:
Na każdej stronie zachowaj te same filtry i limit. Zakończ, gdy next_cursor ma wartość null. O tym, czy są kolejne strony, decyduj na podstawie kursora, a nie liczby wierszy. Ostatnia strona może być pusta:
Problemy, akcje i metryki mają tę samą strukturę odpowiedzi, z issues, actions lub metrics zamiast logs.

Obserwowanie na żywo

logbrew watch --json przesyła strumieniowo na żywo logi, problemy i akcje. Dodaj logs, issues lub actions, aby odbierać tylko jeden rodzaj. tail, follow i stream to aliasy watch. Obserwowanie na żywo nie obsługuje śladów ani spanów. Obserwowanie na żywo wymaga --json. Bez tej flagi polecenie wypisuje watch streams JSON for agents i kończy działanie z kodem 1. W obserwowaniu na żywo zdarzenia problemów pokazują zarchiwizowany problem jako ignored, bez priorytetu. Odczytaj problem, aby poznać jego bieżący status i priorytet. Obserwowanie na żywo przyjmuje tylko --severity, na przykład --severity error,critical. logbrew watch actions nie przyjmuje --severity. CLI stosuje ten filtr po otrzymaniu zdarzeń. Nie zmniejsza tego, co wysyła serwer. Obserwowanie na żywo nie ma filtra projektu, wydania, środowiska ani czasu. Do takich filtrów użyj polecenia read. Po chwilowym rozłączeniu CLI czeka, a potem łączy się ponownie.

Odczytaj wyniki i błędy

Umieść --json przed poleceniem lub po nim. Zanim użyjesz wyjścia, odczytaj kod wyjścia. Nie parsuj wyjścia przeznaczonego dla ludzi. Może się zmieniać między wersjami. Wyjście przy sukcesie zachowuje strukturę odpowiedzi API. Może to być tablica albo obiekt. Bez paginacji kursorowej odczyt logów zwraca tablicę. Pusta tablica oznacza, że żaden log nie pasuje. To nie jest błąd. Błędy trafiają na standardowe wyjście błędów. Wyjątkiem jest debug-artifacts --json, które zapisuje błędy na standardowe wyjście. Błąd JSON ma ok, error, message i next. Traktuj error jako stały kod niepowodzenia. Zanim uruchomisz polecenie sugerowane w next, sprawdź je. Na przykład logbrew watch traces --json kończy działanie z kodem 2 i wypisuje:
logbrew read logs --limit 0 --json kończy działanie z kodem 2 i wypisuje:
Popraw wartość i uruchom polecenie ponownie. Odrzucone polecenie to nie pusty wynik. Błędy HTTP opisuje strona Błędy API, a bezpośrednie żądania API – dokumentacja referencyjna API telemetrii.