Come funziona la CLI
In un terminale usa il testo leggibile. In script e agenti di codifica usa--json.
Per le letture dell’account serve l’accesso con l’account. Prima di avviare un
accesso, esegui logbrew status --json. Una persona deve completare
l’autorizzazione nel browser. Le chiavi di ingestione del progetto inviano
telemetria. Non possono sostituire l’accesso con l’account.
La creazione di progetti e chiavi, le modifiche a stato, priorità e
assegnatario dei problemi, i deploy e gli aggiornamenti delle segnalazioni
modificano i dati dell’account. Prima di eseguire uno di questi comandi,
verifica che l’azione e la destinazione siano corrette.
Esegui logbrew --help per vedere tutti i comandi. Aggiungi --help a un
comando, come logbrew read logs --help, per vederne i flag. Esegui
logbrew help json per le regole del JSON.
Leggi il report di diagnostica di un progetto
Usa un ID progetto preso dalogbrew projects --json:
status, checks e next. Ogni controllo contiene
check, status e next. I controlli sono api, auth, project,
ingest_key, setup, telemetry e logs.
Il codice di uscita 0 significa che la CLI ha scritto un report. Non
significa che il progetto sia pronto. Leggi lo status del report e ogni
controllo. Un controllo not_checked non conta come superato.
Quando la lettura del progetto riesce, il controllo
logs vale visible,
empty, unavailable, error o invalid_response. Questo controllo non
cambia lo status del report. Un risultato vuoto dei log non dice nulla sugli
altri segnali. Una lettura non riuscita non è un risultato vuoto.
Usa next come indicazione per il ripristino. Non dà il permesso di
modificare lo stato dell’account o del progetto.
Esempio: accesso all’account mancante
Senza credenziali dell’account, il comando non esegue richieste API. Scrive questo report sull’output standard ed esce con codice0:
state, setup_status o next_action.
Filtri
--since accetta una durata come 24h o 7d, oppure un timestamp RFC 3339.
--until accetta un timestamp RFC 3339. È un orario di fine escluso e deve
essere successivo a --since. La lettura di un singolo problema per ID non
accetta --until.
La gravità dei log vale info, warning, error o critical. Lo stato del
problema è lo stato del flusso di lavoro del problema, non la sua gravità.
--status ignored è un nome precedente di --status archived.
--status open significa unresolved e --status closed significa
resolved. --assignee none seleziona i problemi senza assegnatario e
--assignee my_teams seleziona i problemi dei tuoi team. Qualsiasi altro
valore di --assignee non riesce con invalid_assignee.
La CLI accetta anche questi alias: --project-id, --env, --service-name,
--trace-id, --distinct-id e --level per --severity. Nei nuovi script
usa i nomi della tabella.
Questo comando legge gli errori di 1 giorno:
-- prima del
testo:
Seleziona un’occorrenza del problema
Un problema raggruppa le occorrenze corrispondenti. Leggi il problema per conoscerne lo stato, il numero di occorrenze e gli orari di prima e ultima occorrenza:explain issue o investigate issue per le prove di una singola
occorrenza. Senza --occurrence, LogBrew seleziona l’occorrenza consigliata.
Non è sempre l’evento più recente. Per leggere l’evento più recente:
--occurrence accetta anche recommended, first o un ID occorrenza
restituito da LogBrew. Questi comandi rifiutano i filtri di progetto, release,
ambiente e tempo. Prima di confrontare le prove, leggi il timestamp
dell’occorrenza selezionata. Consulta
Indaga su un problema per i campi delle
prove.
Cambia stato e priorità dei problemi
Usa 1 ID problema per modificare 1 problema:archive imposta archived, resolve imposta resolved e reopen imposta
unresolved. La priorità vale high, medium o low. Una priorità
impostata da te resta fissa. Altrimenti, la priorità segue la gravità del
problema.
Per modificare più di 1 problema, aggiungi --project. Tutti i problemi
devono essere in quel progetto. Un comando modifica fino a 100 problemi:
updated,
unchanged o not_found. Un problema unchanged aveva già il valore
richiesto. Puoi eseguire di nuovo lo stesso comando dopo un errore di rete.
Questi comandi non chiedono conferma. Controlla prima gli ID dei problemi. Le
letture e le modifiche dei problemi mostrano archived invece di ignored, e
la priority, la priority_source e l’assignee di ogni problema. Consulta
la risposta dei problemi.
Assegna i problemi
Un problema ha 0 o 1 assegnatario: un account o un team. Elenca gli account e i team che puoi assegnare in un progetto:me oppure a un team:
--project per modificare fino a 100 problemi di quel progetto, come
per stato e priorità. Un account deve poter leggere il progetto e un team deve
appartenere all’organizzazione del progetto. Per trovare i problemi assegnati
a te o ai tuoi team:
team #<slug> per
un team. Se l’account non ha un nome, mostra l’indirizzo email, poi l’ID
utente. Un problema senza assegnatario mostra unassigned.
Referenti, cronologia e inbox
issues owners elenca i referenti suggeriti e le prove che ha controllato.
issues ownership set invia file locali di massimo 128 KiB ciascuno. Un file
vuoto cancella il testo corrispondente. issues activity e inbox accettano
--limit da 1 a 200, e --cursor-time con --cursor-id presi da
next_cursor. Consulta
Trova il referente di un problema.
Imposta le regole di gravità
info, warning, error, critical o source. source
mostra di nuovo la gravità acquisita. --ignore nasconde i log corrispondenti
dall’elenco predefinito dei log. Senza --ignore, la regola li mostra.
Leggi la pagina successiva
Log, problemi, azioni, metriche e tracce accettano la paginazione con cursore. Le release no. Usa--pagination cursor per la prima pagina:
logs e next_cursor. Un next_cursor non nullo
contiene time e id. Inviali con --cursor-time e --cursor-id:
next_cursor è null. Per capire se esistono altre pagine usa il cursore,
non il numero di righe. L’ultima pagina può essere vuota:
issues, actions o
metrics al posto di logs.
Monitoraggio in tempo reale
logbrew watch --json trasmette in tempo reale log, problemi e azioni.
Aggiungi logs, issues o actions per trasmettere un solo tipo. tail,
follow e stream sono alias di watch. Watch non supporta tracce o span.
Watch richiede --json. Senza questo flag, il comando scrive watch streams JSON for agents ed esce con codice 1.
Negli eventi dei problemi di watch, un problema archiviato compare come
ignored, senza priorità. Leggi il problema per ottenerne lo stato e la
priorità attuali.
Watch accetta solo --severity, come --severity error,critical.
logbrew watch actions non accetta --severity. La CLI applica questo filtro
dopo aver ricevuto gli eventi. Non riduce ciò che il server invia. Watch non
ha filtri di progetto, release, ambiente o tempo. Per questi filtri, usa un
comando read. Dopo una disconnessione temporanea, la CLI attende e poi si
riconnette.
Leggi risultati ed errori
Inserisci--json prima o dopo il comando. Leggi il codice di uscita prima di
usare l’output. Non analizzare l’output leggibile dalle persone: può cambiare
tra una versione e l’altra.
L’output di successo mantiene la forma della risposta dell’API. Può essere un
array o un oggetto. Senza paginazione con cursore, una lettura dei log
restituisce un array. Un array vuoto significa che nessun log corrisponde. Non
è un errore.
Gli errori vanno sull’errore standard. L’eccezione è
debug-artifacts --json,
che scrive gli errori sull’output standard. Un errore JSON contiene ok,
error, message e next. Usa error come codice di errore stabile.
Esamina next prima di eseguire il comando che suggerisce.
Per esempio, logbrew watch traces --json esce con codice 2 e scrive:
logbrew read logs --limit 0 --json esce con codice 2 e scrive:
