Fonctionnement de la CLI
Dans un terminal, utilisez la sortie texte lisible. Utilisez--json dans les
scripts et avec les agents de codage.
La connexion au compte est nécessaire pour lire les données du compte. Avant de
lancer une connexion, exécutez logbrew status --json. Une personne doit
terminer l’autorisation dans le navigateur. Les clés d’ingestion de projet
envoient la télémétrie. Elles ne remplacent pas la connexion au compte.
La création de projets et de clés, les modifications du statut, de la priorité
et du responsable des problèmes, les déploiements et les mises à jour du
support modifient les données du compte. Avant de lancer l’une de ces
opérations, vérifiez que l’action et la cible sont correctes.
Exécutez logbrew --help pour voir toutes les commandes. Ajoutez --help à
une commande, comme logbrew read logs --help, pour voir ses options.
Exécutez logbrew help json pour les règles JSON.
Lire le rapport de diagnostic d’un projet
Utilisez un ID de projet issu delogbrew projects --json :
status, checks et next. Chaque vérification contient
check, status et next. Les vérifications sont api, auth, project,
ingest_key, setup, telemetry et logs.
Le code de sortie 0 signifie que la CLI a écrit un rapport. Il ne signifie
pas que le projet est prêt. Lisez le status du rapport et chaque
vérification. Une vérification not_checked n’a pas réussi.
Quand la lecture du projet réussit, la vérification
logs vaut visible,
empty, unavailable, error ou invalid_response. Cette vérification ne
modifie pas le status du rapport. Un résultat de logs vide n’indique rien sur
les autres signaux. Une lecture échouée n’est pas un résultat vide.
Utilisez next comme indication de correction. Il n’autorise pas à modifier
l’état du compte ou du projet.
Exemple : accès au compte manquant
Sans identifiants de compte, la commande n’envoie aucune requête à l’API. Elle écrit ce rapport sur la sortie standard et quitte avec le code0 :
state, setup_status ni next_action.
Filtres
--since accepte une durée comme 24h ou 7d, ou un horodatage RFC 3339.
--until accepte un horodatage RFC 3339. C’est une heure de fin exclue, qui
doit être postérieure à --since. La lecture d’un seul problème par
ID n’accepte pas --until.
La gravité d’un log vaut info, warning, error ou critical. Le statut
d’un problème est son état dans le workflow, pas sa gravité.
--status ignored est un ancien nom de --status archived. --status open
signifie unresolved, et --status closed signifie resolved.
--assignee none sélectionne les problèmes sans responsable, et
--assignee my_teams sélectionne les problèmes de vos équipes. Toute autre
valeur de --assignee échoue avec invalid_assignee.
La CLI accepte aussi ces alias : --project-id, --env, --service-name,
--trace-id, --distinct-id, et --level pour --severity. Utilisez les
noms du tableau dans les nouveaux scripts.
Cette commande lit les erreurs d’une journée :
-- avant le
texte :
Sélectionner une occurrence d’un problème
Un problème regroupe des occurrences correspondantes. Lisez le problème pour obtenir son statut, son nombre d’occurrences et les dates de première et de dernière occurrence :explain issue ou investigate issue pour les preuves d’une
occurrence. Sans --occurrence, LogBrew sélectionne l’occurrence recommandée.
Ce n’est pas toujours la plus récente. Pour lire la plus récente :
--occurrence accepte aussi recommended, first ou un ID
d’occurrence renvoyé par LogBrew. Ces commandes refusent les filtres de projet,
de version, d’environnement et de temps. Avant de comparer des preuves, lisez
l’horodatage de l’occurrence sélectionnée. Consultez
Investiguer un problème pour les champs de
preuves.
Modifier le statut et la priorité des problèmes
Pour modifier un seul problème, utilisez son ID :archive définit archived, resolve définit resolved et reopen définit
unresolved. La priorité vaut high, medium ou low. Une priorité que vous
définissez reste fixe. Sinon, la priorité suit la gravité du problème.
Pour modifier plusieurs problèmes, ajoutez --project. Tous les problèmes
doivent appartenir à ce projet. Une commande modifie 100 problèmes au plus :
updated,
unchanged ou not_found. Un problème unchanged avait déjà la valeur
demandée. Vous pouvez relancer la même commande après une panne réseau.
Ces commandes ne demandent pas de confirmation. Vérifiez d’abord les
ID des problèmes. Les lectures et modifications de problèmes
affichent archived au lieu de ignored, ainsi que la priority, la
priority_source et l’assignee de chaque problème. Consultez la
réponse d’un problème.
Attribuer des problèmes
Un problème a au plus un responsable : un compte ou une équipe. Listez les comptes et les équipes auxquels vous pouvez attribuer des problèmes dans un projet :me, ou à une équipe :
--project pour modifier jusqu’à 100 problèmes de ce projet, comme
pour le statut et la priorité. Un compte doit pouvoir lire le projet, et une
équipe doit appartenir à l’organisation du projet. Pour trouver les problèmes
qui vous sont attribués, à vous ou à vos équipes :
team #<slug> pour une
équipe. Si le compte n’a pas de nom, elle affiche l’adresse e-mail, puis l’ID
de l’utilisateur. Un problème sans responsable affiche unassigned.
Propriétaires, historique et boîte de réception
issues owners liste les propriétaires suggérés et les preuves vérifiées.
issues ownership set envoie des fichiers locaux de 128 Kio au plus chacun.
Un fichier vide efface son texte. issues activity et inbox acceptent
--limit de 1 à 200, ainsi que --cursor-time avec --cursor-id issus de
next_cursor. Consultez
Trouver le propriétaire d’un problème.
Définir des règles de gravité
info, warning, error, critical ou source. source
rétablit l’affichage de la gravité capturée. --ignore masque les logs
correspondants dans la liste de logs par défaut. Sans --ignore, la règle les
affiche.
Lire la page suivante
Les logs, problèmes, actions, métriques et traces acceptent la pagination par curseur. Les versions ne l’acceptent pas. Utilisez--pagination cursor pour
la première page :
logs et next_cursor. Un next_cursor non nul contient
time et id. Envoyez-les avec --cursor-time et --cursor-id :
next_cursor vaut null. Utilisez le curseur, pas le nombre de lignes, pour
savoir s’il reste des pages. La dernière page peut être vide :
issues,
actions ou metrics à la place de logs.
Suivi en direct
logbrew watch --json diffuse en direct les logs, problèmes et actions.
Ajoutez logs, issues ou actions pour diffuser un seul type. tail,
follow et stream sont des alias de watch. Le suivi ne prend pas en charge
les traces ni les spans.
Le suivi nécessite --json. Sans cette option, la commande écrit watch streams JSON for agents et quitte avec le code 1.
Dans les événements de problèmes du suivi, un problème archivé apparaît comme
ignored, sans priorité. Lisez le problème pour obtenir son statut et sa
priorité actuels.
Le suivi accepte uniquement --severity, comme --severity error,critical.
logbrew watch actions n’accepte pas --severity. La CLI applique ce filtre
après avoir reçu les événements. Il ne réduit pas ce que le
serveur envoie. Le suivi n’a pas de filtre de projet, de version,
d’environnement ni de temps. Pour ces filtres, utilisez une commande read.
Après une déconnexion temporaire, la CLI attend, puis se reconnecte.
Lire les résultats et les erreurs
Placez--json avant ou après la commande. Lisez le code de sortie avant
d’utiliser la sortie. N’analysez pas la sortie lisible par un humain : elle
peut changer d’une version à l’autre.
En cas de succès, la sortie garde la forme de la réponse de l’API. Ce peut être
un tableau ou un objet. Sans pagination par curseur, une lecture de logs
renvoie un tableau. Un tableau vide signifie qu’aucun log ne correspond. Ce
n’est pas une erreur.
Les erreurs vont sur la sortie d’erreur standard. L’exception est
debug-artifacts --json, qui écrit les erreurs sur la sortie standard. Une
erreur JSON contient ok, error, message et next. Utilisez error comme
code d’échec stable. Examinez next avant d’exécuter la commande qu’il
suggère.
Par exemple, logbrew watch traces --json quitte avec le code 2 et écrit :
logbrew read logs --limit 0 --json quitte avec le code 2 et écrit :
