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 zlogbrew projects --json:
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 kodem0:
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:
--:
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: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:
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:me albo do zespołu:
--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:
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
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:
logs i next_cursor. Jeśli next_cursor nie jest pusty,
zawiera time i id. Wyślij je przez --cursor-time i --cursor-id:
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:
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:
