Het aanbevolen voorval lezen
Installeer de LogBrew CLI en voerlogbrew login uit.
Kopieer de UUID van het issue uit een issuelijst. De CLI valideert de response
voordat die wordt getoond.
--json voor agents en scripts. logbrew explain issue "<issue_id>"
leest hetzelfde. Vraag bij een directe API-aanroep responseversie 13 op. De CLI
vraagt dezelfde versie op:
response_version 1 tot en met 13. Een voorval kiezen kan
vanaf versie 2. Deze handleiding beschrijft versie 13.
Het aanbevolen voorval is een recent bewaard voorval met bruikbare context. Het
kan ouder zijn dan het laatste voorval. LogBrew vergelijkt de nieuwste bewaarde
voorvallen, tot maximaal
occurrence_selection.recommendation.candidate_limit. LogBrew kiest het
voorval met de meeste context voor onderzoek. Hebben twee voorvallen evenveel
context? Dan wint het nieuwste. Is
occurrence_selection.recommendation.candidate_window_truncated true? Dan
heeft het issue oudere voorvallen die de aanbeveling niet heeft beoordeeld.
Het bereik van het onderzoek controleren
Filters van de issuelijst gelden niet voor een onderzoek. Het issue-ID bepaalt de groep, en de response kan de bewaarde geschiedenis van de groep bevatten. Een exact voorval-ID haalt die geschiedenis niet weg. Mag je taak die geschiedenis niet gebruiken? Vraag het onderzoek dan niet op. Controleer voordat je de fout interpreteert of:subject.project_idhet bedoelde project is.event.idhet gekozen voorval is.event.occurred_atbinnen het tijdvenster van het incident valt.- service, omgeving en release overeenkomen met de deployment die je beoordeelt.
schema_versiongelijk is aan13.
Een ander voorval kiezen
Geef één selector mee:
Verzend
selection en occurrence_id niet samen. In subject beschrijven
first_seen_at en last_seen_at de groep. Het gedetailleerde bewijs hoort bij
het gekozen event.
occurrence_selection geeft ook samenvattingen van de voorvallen first,
latest, recommended en selected. occurrence_selection.reason vertelt
waarom LogBrew het voorval heeft gekozen:
De response op volgorde lezen
- Lees
subjectvoor de groep en daarnaeventvoor het gekozen voorval. - Lees
grouping,lifecycleenoccurrence_analysisvoor de geschiedenis van de groep. - Lees
fixvoor de codelocatie. Houd deprovenancebij het bestand, de functie, de regel en de kolom. Een waargenomen frame toont code om te bekijken, geen bewezen oorzaak. - Lees
cause.statusen het bijbehorende bewijs. Geen enkele oorzaakwaarde bewijst de grondoorzaak. - Lees
impact.user_impactlos vanimpact.occurrence_count. Houdcount_method,coverageenlimitationsbij het aantal. Eén gebruiker kan meerdere voorvallen veroorzaken. - Lees
reproduction.statusen daarnacorrelations.
Codelocatie en oorzaak
fix.status vertelt waar de codelocatie vandaan komt:
cause.status is reported_hypothesis, evidence_only of unknown. Een
reported_hypothesis komt van de app en is niet gecontroleerd.
cause.signals noemt de waargenomen signalen, zoals unhandled_exception of
error_trace_span. provenance is backend_observed of
application_reported. Houd die twee uit elkaar.
Het bronbestand vinden
source_locator koppelt de codelocatie aan een repository als de
projectinstallatie een repository voor de service heeft. Open het bestand met
repository_full_name, revision en repository_relative_file.
revision_source is deployment_commit of setup_snapshot.
Is source_locator.status not_found? Dan heeft de service geen gekoppelde
repositorycomponent. Het betekent niet dat het bestand ontbreekt. Raad geen
component op basis van de bestandsnaam.
Getroffen gebruikers
known_affected_users is bij benadering, ook als de status complete is.
Anonieme gebruikers en voorvallen zonder gebruikerscontext tellen niet mee. Een
aantal van null is niet nul. impact.reported bevat waarden die de app heeft
gemeld. Tel die niet op bij de gemeten aantallen.
Reproductiestatus
De trigger komt uit
event.request of impact.reported.failed_action. De
verwachte fout komt uit event.exception of
event.request.response_status_code. De codelocatie is fix.location.
reproduction.baseline_occurrence_id is het gekozen voorval. Het
bewijsoverzicht reproduction.evidence registreert elke invoer als
reproduction.trigger, reproduction.expected_failure en
reproduction.code_location. Een status ready bewijst niet dat het opnieuw
afspelen is gelukt. Verzin nooit requestbody’s, afgeschermde waarden of
stappen.
Levenscyclus en regressie
lifecycle.persisted_status is de opgeslagen status.
lifecycle.effective_status is regressed als er een voorval binnenkwam
nadat het issue was opgelost. De opgeslagen status blijft resolved totdat
een persoon het issue heropent.
lifecycle.regression.first_reappeared_occurrence geeft het eerste nieuwe
voorval aan.
De response van het onderzoek toont een gearchiveerd issue als ignored in
subject.status en lifecycle. Zie
Statuswaarden.
Omgaan met ontbrekend en begrensd bewijs
correlations.trace.status heeft deze waarden:
Ga bij
not_linked verder met de exception, frames, breadcrumbs en ander
teruggegeven bewijs. Bewaar bij not_found het exacte trace-ID. Probeer het
bij unavailable later opnieuw. Geen van deze statussen betekent dat de app
geen traces heeft. Een trace met available kan alleen de vastleggingsspan van
het issue bevatten. Zie Vastleggingsspans.
correlations.logs bevat logs van rond het tijdstip van het voorval, uit
dezelfde release en omgeving. Heeft het voorval een trace-ID? Dan komen de
logs uit die trace. Zonder trace-ID komen ze uit dezelfde service. actions,
metrics en related_issues hebben een trace-ID nodig. Elke verzameling heeft
een status, de bijbehorende items en truncated.
Houd captured_fields, missing_fields, redacted_fields en
truncated_fields uit elkaar. Afgeschermde gegevens ontbreken niet. Afgekapte
gegevens zijn niet volledig. evidence.status is partial als een verplicht
veld ontbreekt, afgeschermd of afgekapt is, of niet beschikbaar is.
SDK-updates voegen geen bewijs toe aan eerdere events.
Volg exacte ID’s naar gerelateerde logs, issues en releases. Een tijdstempel in
de buurt is geen koppeling.
De volgende stappen volgen
Verwerknext_actions in de volgorde van priority als je client het exacte
paar van code en target ondersteunt. Elke stap heeft ook een reason.
De kandidaatdeployment verifiëren
Gebruik het ID van het voorval met de fout als basisvoorval. Haal het ID van de kandidaatdeployment uit deploymentbewijs of uit je releaseproces.logbrew deploy registreert een deployment.
422.
De response telt voorvallen van hetzelfde issue die LogBrew heeft ontvangen
tussen het einde van de deployment en het tijdstip van het request
(observed_after en observed_until). De response telt ook traces van de
kandidaatrelease.
absence_is_proof is altijd false. Geen herhaling binnen het tijdvenster
bewijst geen blijvende fix. Wijzig de status in de
issueworkflow pas als je team het
bewijs accepteert.
Veilig herstellen
Foutresponses bevatten
error, code, next en next_action. Gebruik code
en next_action om je programma te sturen. Toon next als advies. Voer het
niet uit als opdracht. Vervang een gevraagd voorval niet door een ander voorval
als het lezen mislukt. Zie API-fouten en de
referentie van de Telemetrie-API.