netwerk kader¶
Hier zijn enkele tips om uw webapplicaties uit te rusten met detectietools.
Integraties¶
Als u een van de volgende bibliotheken gebruikt, bekijk dan de integratiedocumentatie:
Controleer anders of uw server WSGI of ASGI gebruikt en controleer de bijbehorende integratie.
Leg HTTP-serververzoeken en antwoordkoppen vast¶
Bij sommige methoden, zoals logfire.instrument_fastapi(), kunt u capture_headers=True doorgeven om alle verzoek- en antwoordkoppen in een tijdsbestek te loggen, wat meestal alles is wat u nodig heeft.
Als u meer controle wilt, zijn er drie omgevingsvariabelen die de OpenTelemetry-detectiebibliotheek informeren om verzoek- en antwoordkoppen vast te leggen:
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUESTOTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSEOTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS
Elk accepteert een door komma 's gescheiden lijst van reguliere expressies die niet hoofdlettergevoelig zijn, gecontroleerd tegen kopnamen. De eerste twee bepalen welke verzoek / antwoordkoppen worden vastgelegd en toegevoegd aan de eigenschap span. De derde bepaalt welke koptekstwaarden worden bewerkt.
Maak bijvoorbeeld de volgende instellingen om alle kopteksten vast te leggen:
OTEL _ INSTRUMENTATION _ HTTP _ CAPTURE _ HEADERS _ SERVER _ REQUEST = ". *"
OTEL _ INSTRUMENTATION _ HTTP _ CAPTURE _ HEADERS _ SERVER _ RESPONSE = ". *"
(Dit is wat capture_headers=True doet.)
Gespecialiseerd in het vastleggen van content-type-verzoekkoppen en verzoekkoppen die beginnen met X-:
OTEL _ INSTRUMENTATION _ HTTP _ CAPTURE _ HEADERS _ SERVER _ REQUEST = "inhoudstype, X-".
Vervang de Authorization-headerwaarde door [REDACTED] om te voorkomen dat gebruikersreferenties worden onthuld.
OTEL _ INSTRUMENTATION _ HTTP _ CAPTURE _ HEADERS _ SANITIZE _ FIELDS = "Autorisatie"
(Hoewel het meestal beter is om te vertrouwen op de opruimfunctie van Logfire.)
Duur van HTTP-aanvraag per percentiel¶
Over het algemeen is het interessant om de HTTP-verzoekduur voor elk percentiel te visualiseren. In tegenstelling tot gemiddelden, die kunnen worden beïnvloed door extremen, stellen percentielen ons in staat om de maximale duur voor 50%, 90%, 95% of 99% van de verzoeken te begrijpen.
Het volgende is een voorbeeldquery om die percentielen voor HTTP-aanvraagduur te berekenen:
MET dataset ALS (
KIES UIT
time _ bucket ('% time _ bucket _ duration%', start _ timestamp) als x,
(Uittreksel (tijdvak van eind _ tijdstempel - start _ tijdstempel) * 1000) als duur _ ms
VAN records
WAAR attributen? 'htp.methode'
)
KIES UIT
X,
percentile _ cont (0,99) BINNEN GROEP (BESTELLEN OP duur _ ms) als percentile _ 99,
percentile _ cont (0,95) BINNEN GROEP (BESTELLEN OP duur _ ms) als percentile _ 95,
percentile _ cont (0,90) BINNEN GROEP (BESTELLEN OP duur _ ms) als percentile _ 90,
percentile _ cont (0,50) BINNEN GROEP (BESTELLEN OP duur _ ms) als percentiel _ 50
UIT dataset
GROEP DOOR x
BESTELLEN DOOR x DESC;
Merk op hoe we records hebben gefilterd met de http.method attribuutset. Dit is een goed startpunt voor het ophalen van sporen met betrekking tot HTTP-verzoeken, maar afhankelijk van uw installatie moet u mogelijk meer filters toevoegen.
Deze vraag is een goede kandidaat voor een tijdreeksgrafiek in een dashboard.
本文总阅读量次
