Skip to main content
La CLI open source di LogBrew legge la telemetria e gestisce i dati dell’account da un terminale. Inizia dalla guida alla CLI per installazione, accesso e attività comuni.

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 da logbrew projects --json:
Il comando legge lo stato del progetto e un log recente. Non crea un progetto, non modifica una chiave e non registra la configurazione. Il report contiene 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 codice 0:
Questo report è diverso dalla diagnosi del progetto tramite API. Non contiene i campi API 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:
L’ID del progetto seleziona il progetto. Il nome del servizio seleziona un componente in quel progetto. Racchiudi tra virgolette i valori che contengono spazi:
Per un testo di ricerca che inizia con un trattino, inserisci -- 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:
Usa 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:
Il risultato ha 1 voce per ogni problema. Ogni voce vale 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:
Assegna 1 problema a un account, a te stesso con me oppure a un team:
Rimuovi l’assegnatario:
Aggiungi --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:
L’output testuale mostra il nome dell’assegnatario, oppure 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à

La gravità vale 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:
La risposta contiene logs e next_cursor. Un next_cursor non nullo contiene time e id. Inviali con --cursor-time e --cursor-id:
Mantieni gli stessi filtri e lo stesso limite in ogni pagina. Fermati quando next_cursor è null. Per capire se esistono altre pagine usa il cursore, non il numero di righe. L’ultima pagina può essere vuota:
Problemi, azioni e metriche usano la stessa forma, con 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:
Correggi il valore ed esegui di nuovo il comando. Un comando rifiutato non è un risultato vuoto. Consulta Errori API per gli errori HTTP e il riferimento dell’API di telemetria per le richieste dirette all’API.