Azure Monitor instellen voor uw Python-toepassing
Notitie
OpenCensus Python SDK is afgeschaft, maar Microsoft ondersteunt deze tot de buitengebruikstelling op 30 september 2024. We raden nu de Op OpenTelemetry gebaseerde Python-aanbieding aan en bieden migratierichtlijnen.
Azure Monitor ondersteunt gedistribueerde tracering, metrische verzameling en logboekregistratie van Python-toepassingen.
De ondersteunde oplossing van Microsoft voor het bijhouden en exporteren van gegevens voor uw Python-toepassingen vindt plaats via de OpenCensus Python SDK via de Azure Monitor-exporteurs.
Microsoft raadt het gebruik van andere telemetrie-SDK's voor Python niet aan als telemetrieoplossing omdat ze niet worden ondersteund.
OpenCensus wordt samengevoegd in OpenTelemetry. We blijven OpenCensus aanbevelen terwijl OpenTelemetry geleidelijk verder wordt ontwikkeld.
Vereisten
U hebt een Azure-abonnement nodig. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Notitie
Op 31 maart 2025 eindigt de ondersteuning voor opname van instrumentatiesleutels. Opname van instrumentatiesleutels blijft werken, maar we bieden geen updates of ondersteuning meer voor de functie. Overgang naar verbindingsreeks s om te profiteren van nieuwe mogelijkheden.
Inleiding tot OpenCensus Python SDK
OpenCensus is een set opensource-bibliotheken voor het verzamelen van gedistribueerde tracering, metrische gegevens en logboekregistratietelemetrie. Met behulp van Azure Monitor-exporteurs kunt u deze verzamelde telemetrie verzenden naar Application Insights. Dit artikel begeleidt u bij het instellen van OpenCensus- en Azure Monitor-exporteurs voor Python om uw bewakingsgegevens naar Azure Monitor te verzenden.
Instrument met OpenCensus Python SDK met Azure Monitor-exporteurs
Installeer de OpenCensus Azure Monitor-exporteurs:
python -m pip install opencensus-ext-azure
De SDK gebruikt drie Azure Monitor-exporteurs om verschillende typen telemetrie naar Azure Monitor te verzenden. Ze zijn trace
, metrics
en logs
. Zie het overzicht van het gegevensplatform voor meer informatie over deze telemetrietypen. Gebruik de volgende instructies om deze telemetrietypen via de drie exporteurs te verzenden.
Toewijzingen van telemetrietypen
OpenCensus wijst de volgende exporteurs toe aan de typen telemetrie die u in Azure Monitor ziet.
Pijler van waarneembaarheid | Telemetrietype in Azure Monitor | Uitleg |
---|---|---|
Logboeken | Traceringen, uitzonderingen, customEvents | Logboektelemetrie, uitzonderingstelemetrie, gebeurtenistelemetrie |
Metrische gegevens voor | customMetrics, performanceCounters | Prestatiemeteritems voor aangepaste metrische gegevens |
Tracering | Afhankelijkheden aanvragen | Binnenkomende aanvragen, uitgaande aanvragen |
Logboeken
Eerst gaan we enkele lokale logboekgegevens genereren.
import logging logger = logging.getLogger(__name__) def main(): """Generate random log data.""" for num in range(5): logger.warning(f"Log Entry - {num}") if __name__ == "__main__": main()
Er wordt een logboekvermelding verzonden voor elk getal in het bereik.
Log Entry - 0 Log Entry - 1 Log Entry - 2 Log Entry - 3 Log Entry - 4
We willen deze logboekgegevens naar Azure Monitor zien. U kunt deze opgeven in een omgevingsvariabele.
APPLICATIONINSIGHTS_CONNECTION_STRING
U kunt de connection_string ook rechtstreeks doorgeven aan hetAzureLogHandler
besturingselement, maar verbindingsreeks s mogen niet worden toegevoegd aan versiebeheer.APPLICATIONINSIGHTS_CONNECTION_STRING=<appinsights-connection-string>
U wordt aangeraden de verbindingsreeks te gebruiken om de exporteurs te instantiëren die worden gebruikt voor het verzenden van telemetrie naar Application Insights. Wijzig uw code uit de vorige stap op basis van het volgende codevoorbeeld:
import logging from opencensus.ext.azure.log_exporter import AzureLogHandler logger = logging.getLogger(__name__) logger.addHandler(AzureLogHandler()) # Alternatively manually pass in the connection_string # logger.addHandler(AzureLogHandler(connection_string=<appinsights-connection-string>)) """Generate random log data.""" for num in range(5): logger.warning(f"Log Entry - {num}")
De exporteur verzendt logboekgegevens naar Azure Monitor. U vindt de gegevens onder
traces
.In deze context
traces
is dit niet hetzelfde alstracing
.traces
Hier verwijst u naar het type telemetrie dat u in Azure Monitor ziet wanneer u deze gebruiktAzureLogHandler
. Maartracing
verwijst naar een concept in OpenCensus en heeft betrekking op gedistribueerde tracering.Notitie
De hoofdlogger is geconfigureerd met het niveau van
warning
. Dat betekent dat alle logboeken die u verzendt die minder ernst hebben, worden genegeerd en op hun beurt niet naar Azure Monitor worden verzonden. Zie de documentatie voor logboekregistratie voor meer informatie.U kunt ook aangepaste eigenschappen toevoegen aan uw logboekberichten in het
extra
trefwoordargument met behulp van hetcustom_dimensions
veld. Deze eigenschappen worden weergegeven als sleutel-waardeparen incustomDimensions
Azure Monitor.Notitie
Deze functie werkt alleen als u een woordenlijst aan het
custom_dimensions
veld doorgeeft. Als u argumenten van een ander type doorgeeft, negeert de logger deze.import logging from opencensus.ext.azure.log_exporter import AzureLogHandler logger = logging.getLogger(__name__) logger.addHandler(AzureLogHandler()) # Alternatively manually pass in the connection_string # logger.addHandler(AzureLogHandler(connection_string=<appinsights-connection-string>)) properties = {'custom_dimensions': {'key_1': 'value_1', 'key_2': 'value_2'}} # Use properties in logging statements logger.warning('action', extra=properties)
Notitie
Als onderdeel van het gebruik van Application Insights-instrumentatie verzamelen en verzenden we diagnostische gegevens naar Microsoft. Met deze gegevens kunnen we Application Insights uitvoeren en verbeteren. U kunt niet-essentiële gegevensverzameling uitschakelen. Zie Statsbeat in Application Insights voor meer informatie.
Logboekregistratie configureren voor Django-toepassingen
U kunt logboekregistratie expliciet configureren in uw toepassingscode, zoals de voorgaande voor uw Django-toepassingen, of u kunt deze opgeven in de logboekregistratieconfiguratie van Django. Deze code kan gaan naar het bestand dat u gebruikt voor de configuratie van de instellingen van de Django-site, meestal settings.py
.
Zie Django-instellingen voor meer informatie over het configureren van Django-instellingen. Zie Django-logboekregistratie voor meer informatie over het configureren van logboekregistratie.
LOGGING = {
"handlers": {
"azure": {
"level": "DEBUG",
"class": "opencensus.ext.azure.log_exporter.AzureLogHandler",
"connection_string": "<appinsights-connection-string>",
},
"console": {
"level": "DEBUG",
"class": "logging.StreamHandler",
"stream": sys.stdout,
},
},
"loggers": {
"logger_name": {"handlers": ["azure", "console"]},
},
}
Zorg ervoor dat u de logboekregistratie gebruikt met dezelfde naam als de logboekregistratie die in uw configuratie is opgegeven.
# views.py
import logging
from django.shortcuts import request
logger = logging.getLogger("logger_name")
logger.warning("this will be tracked")
Uitzonderingen verzenden
OpenCensus Python houdt telemetrie niet automatisch bij en verzendt exception
deze niet. Het wordt verzonden AzureLogHandler
met behulp van uitzonderingen via de Python-logboekregistratiebibliotheek. U kunt aangepaste eigenschappen zoals u doet met normale logboekregistratie toevoegen.
import logging
from opencensus.ext.azure.log_exporter import AzureLogHandler
logger = logging.getLogger(__name__)
logger.addHandler(AzureLogHandler())
# Alternatively, manually pass in the connection_string
# logger.addHandler(AzureLogHandler(connection_string=<appinsights-connection-string>))
properties = {'custom_dimensions': {'key_1': 'value_1', 'key_2': 'value_2'}}
# Use properties in exception logs
try:
result = 1 / 0 # generate a ZeroDivisionError
except Exception:
logger.exception('Captured an exception.', extra=properties)
Omdat u expliciet uitzonderingen moet registreren, is het aan u om niet-verwerkte uitzonderingen te registreren. OpenCensus plaatst geen beperkingen voor het uitvoeren van deze logboekregistratie, maar u moet expliciet uitzonderingstelemetrie vastleggen.
Gebeurtenissen verzenden
U kunt telemetrie op exact dezelfde manier verzenden customEvent
als u telemetrie verzendt trace
, behalve met behulp van in plaats daarvan AzureEventHandler
.
import logging
from opencensus.ext.azure.log_exporter import AzureEventHandler
logger = logging.getLogger(__name__)
logger.addHandler(AzureEventHandler())
# Alternatively manually pass in the connection_string
# logger.addHandler(AzureEventHandler(connection_string=<appinsights-connection-string>))
logger.setLevel(logging.INFO)
logger.info('Hello, World!')
Steekproeven
Zie Sampling in OpenCensus voor informatie over steekproeven in OpenCensus.
Logboekcorrelatie
Zie De integratie van OpenCensus Python-logboeken voor informatie over het verrijken van uw logboeken met traceringscontextgegevens.
Telemetrie wijzigen
Zie OpenCensus Python-telemetrieprocessors voor informatie over het wijzigen van bijgehouden telemetrie voordat deze naar Azure Monitor wordt verzonden.
Metrische gegevens voor
OpenCensus.stats ondersteunt vier aggregatiemethoden, maar biedt gedeeltelijke ondersteuning voor Azure Monitor:
- Aantal: Het aantal meetpunten. De waarde is cumulatief, kan alleen toenemen en wordt opnieuw ingesteld op 0 bij opnieuw opstarten.
- Som: Een samenvatting van de meetpunten. De waarde is cumulatief, kan alleen toenemen en wordt opnieuw ingesteld op 0 bij opnieuw opstarten.
- LastValue: hiermee blijft de laatst vastgelegde waarde behouden en worden alle andere waarden verwijderd.
- Distributie: De Azure-exporteur biedt geen ondersteuning voor de histogramverdeling van de meetpunten.
Voorbeeld van aggregatie tellen
Eerst gaan we enkele lokale metrische gegevens genereren. We maken een metrische waarde om het aantal keren bij te houden dat de gebruiker de Enter-toets selecteert.
from datetime import datetime from opencensus.stats import aggregation as aggregation_module from opencensus.stats import measure as measure_module from opencensus.stats import stats as stats_module from opencensus.stats import view as view_module from opencensus.tags import tag_map as tag_map_module stats = stats_module.stats view_manager = stats.view_manager stats_recorder = stats.stats_recorder prompt_measure = measure_module.MeasureInt("prompts", "number of prompts", "prompts") prompt_view = view_module.View("prompt view", "number of prompts", [], prompt_measure, aggregation_module.CountAggregation()) view_manager.register_view(prompt_view) mmap = stats_recorder.new_measurement_map() tmap = tag_map_module.TagMap() def main(): for _ in range(4): mmap.measure_int_put(prompt_measure, 1) mmap.record(tmap) metrics = list(mmap.measure_to_view_map.get_metrics(datetime.utcnow())) print(metrics[0].time_series[0].points[0]) if __name__ == "__main__": main()
Metrische gegevens worden gemaakt om meerdere keren bij te houden. Bij elke vermelding wordt de waarde verhoogd en worden de metrische gegevens weergegeven in de console. De informatie bevat de huidige waarde en het huidige tijdstempel waarop de metrische waarde is bijgewerkt.
Point(value=ValueLong(5), timestamp=2019-10-09 20:58:04.930426) Point(value=ValueLong(6), timestamp=2019-10-09 20:58:05.170167) Point(value=ValueLong(7), timestamp=2019-10-09 20:58:05.438614) Point(value=ValueLong(7), timestamp=2019-10-09 20:58:05.834216)
Het invoeren van waarden is handig voor demonstratiedoeleinden, maar we willen de metrische gegevens verzenden naar Azure Monitor. Geef uw verbindingsreeks rechtstreeks door aan de exporteur. U kunt deze ook opgeven in een omgevingsvariabele.
APPLICATIONINSIGHTS_CONNECTION_STRING
U wordt aangeraden de verbindingsreeks te gebruiken om de exporteurs te instantiëren die worden gebruikt voor het verzenden van telemetrie naar Application Insights. Wijzig uw code uit de vorige stap op basis van het volgende codevoorbeeld:from datetime import datetime from opencensus.ext.azure import metrics_exporter from opencensus.stats import aggregation as aggregation_module from opencensus.stats import measure as measure_module from opencensus.stats import stats as stats_module from opencensus.stats import view as view_module from opencensus.tags import tag_map as tag_map_module stats = stats_module.stats view_manager = stats.view_manager stats_recorder = stats.stats_recorder prompt_measure = measure_module.MeasureInt("prompts", "number of prompts", "prompts") prompt_view = view_module.View("prompt view", "number of prompts", [], prompt_measure, aggregation_module.CountAggregation()) view_manager.register_view(prompt_view) mmap = stats_recorder.new_measurement_map() tmap = tag_map_module.TagMap() exporter = metrics_exporter.new_metrics_exporter() # Alternatively manually pass in the connection_string # exporter = metrics_exporter.new_metrics_exporter(connection_string='<appinsights-connection-string>') view_manager.register_exporter(exporter) def main(): for _ in range(10): input("Press enter.") mmap.measure_int_put(prompt_measure, 1) mmap.record(tmap) metrics = list(mmap.measure_to_view_map.get_metrics(datetime.utcnow())) print(metrics[0].time_series[0].points[0]) if __name__ == "__main__": main()
De exporteur verzendt met een vast interval metrische gegevens naar Azure Monitor. U moet deze waarde instellen op 60 seconden, omdat de Application Insights-back-end ervan uitgaat dat metrische gegevenspunten worden geaggregeerd op een interval van 60 seconden. We volgen één metrische waarde, dus deze metrische gegevens, met elke waarde en tijdstempel die deze bevat, worden elk interval verzonden. De gegevens zijn cumulatief, kunnen alleen worden verhoogd en opnieuw worden ingesteld op 0 bij opnieuw opstarten.
U vindt de gegevens onder
customMetrics
, maar decustomMetrics
eigenschappenvalueCount
,valueSum
, ,valueMin
envalueMax
valueStdDev
worden niet effectief gebruikt.
Aangepaste dimensies instellen in metrische gegevens
Met de OpenCensus Python SDK kunt u aangepaste dimensies toevoegen aan uw telemetriegegevens met behulp van tags
een woordenlijst met sleutel-waardeparen.
Voeg de tags in die u wilt gebruiken in de tagkaart. De tagkaart fungeert als een soort 'pool' van alle beschikbare tags die u kunt gebruiken.
... tmap = tag_map_module.TagMap() tmap.insert("url", "http://example.com") ...
Geef voor een specifieke
View
code de tags op die u wilt gebruiken wanneer u metrische gegevens opneemt met die weergave via de tagsleutel.... prompt_view = view_module.View("prompt view", "number of prompts", ["url"], # <-- A sequence of tag keys used to specify which tag key/value to use from the tag map prompt_measure, aggregation_module.CountAggregation()) ...
Zorg ervoor dat u de tagkaart gebruikt wanneer u opneemt in de metingskaart. De tagsleutels die in de
View
tag zijn opgegeven, moeten worden gevonden in de tagkaart die wordt gebruikt om op te nemen.... mmap = stats_recorder.new_measurement_map() mmap.measure_int_put(prompt_measure, 1) mmap.record(tmap) # <-- pass the tag map in here ...
Onder de
customMetrics
tabel zijn alle metrische records die worden verzonden met behulp vanprompt_view
aangepaste dimensies{"url":"http://example.com"}
.Als u tags met verschillende waarden wilt produceren met behulp van dezelfde sleutels, maakt u er nieuwe tagtoewijzingen voor.
... tmap = tag_map_module.TagMap() tmap2 = tag_map_module.TagMap() tmap.insert("url", "http://example.com") tmap2.insert("url", "https://www.wikipedia.org/wiki/") ...
Prestatiemeteritems
De exporteur van metrische gegevens verzendt standaard een set prestatiemeteritems naar Azure Monitor. U kunt deze mogelijkheid uitschakelen door de enable_standard_metrics
vlag False
in te stellen in de constructor van de exportfunctie voor metrische gegevens.
...
exporter = metrics_exporter.new_metrics_exporter(
enable_standard_metrics=False,
)
...
De volgende prestatiemeteritems worden momenteel verzonden:
- Beschikbaar geheugen (bytes)
- CPU-processortijd (percentage)
- Tarief voor binnenkomende aanvragen (per seconde)
- Gemiddelde uitvoeringstijd van binnenkomende aanvragen (milliseconden)
- CPU-gebruik verwerken (percentage)
- Privébytes verwerken (bytes)
U moet deze metrische gegevens kunnen zien in performanceCounters
. Zie Prestatiemeteritems voor meer informatie.
Telemetrie wijzigen
Zie OpenCensus Python-telemetrieprocessors voor informatie over het wijzigen van bijgehouden telemetrie voordat deze naar Azure Monitor wordt verzonden.
Tracering
Notitie
In OpenCensus tracing
verwijst u naar gedistribueerde tracering. De AzureExporter
parameter verzendt requests
en dependency
telemetrie naar Azure Monitor.
Eerst gaan we enkele traceringsgegevens lokaal genereren. Voer in Python IDLE of de gewenste editor de volgende code in:
from opencensus.trace.samplers import ProbabilitySampler from opencensus.trace.tracer import Tracer tracer = Tracer(sampler=ProbabilitySampler(1.0)) def main(): with tracer.span(name="test") as span: for value in range(5): print(value) if __name__ == "__main__": main()
Bij elke vermelding wordt de waarde afgedrukt naar de shell. De OpenCensus Python-module genereert een bijbehorend stukje
SpanData
. Het Project OpenCensus definieert een tracering als een boom van spanten.0 [SpanData(name='test', context=SpanContext(trace_id=8aa41bc469f1a705aed1bdb20c342603, span_id=None, trace_options=TraceOptions(enabled=True), tracestate=None), span_id='15ac5123ac1f6847', parent_span_id=None, attributes=BoundedDict({}, maxlen=32), start_time='2019-06-27T18:21:22.805429Z', end_time='2019-06-27T18:21:44.933405Z', child_span_count=0, stack_trace=None, annotations=BoundedList([], maxlen=32), message_events=BoundedList([], maxlen=128), links=BoundedList([], maxlen=32), status=None, same_process_as_parent_span=None, span_kind=0)] 1 [SpanData(name='test', context=SpanContext(trace_id=8aa41bc469f1a705aed1bdb20c342603, span_id=None, trace_options=TraceOptions(enabled=True), tracestate=None), span_id='2e512f846ba342de', parent_span_id=None, attributes=BoundedDict({}, maxlen=32), start_time='2019-06-27T18:21:44.933405Z', end_time='2019-06-27T18:21:46.156787Z', child_span_count=0, stack_trace=None, annotations=BoundedList([], maxlen=32), message_events=BoundedList([], maxlen=128), links=BoundedList([], maxlen=32), status=None, same_process_as_parent_span=None, span_kind=0)] 2 [SpanData(name='test', context=SpanContext(trace_id=8aa41bc469f1a705aed1bdb20c342603, span_id=None, trace_options=TraceOptions(enabled=True), tracestate=None), span_id='f3f9f9ee6db4740a', parent_span_id=None, attributes=BoundedDict({}, maxlen=32), start_time='2019-06-27T18:21:46.157732Z', end_time='2019-06-27T18:21:47.269583Z', child_span_count=0, stack_trace=None, annotations=BoundedList([], maxlen=32), message_events=BoundedList([], maxlen=128), links=BoundedList([], maxlen=32), status=None, same_process_as_parent_span=None, span_kind=0)]
Het weergeven van de uitvoer is handig voor demonstratiedoeleinden, maar we willen verzenden
SpanData
naar Azure Monitor. Geef uw verbindingsreeks rechtstreeks door aan de exporteur. U kunt deze ook opgeven in een omgevingsvariabele.APPLICATIONINSIGHTS_CONNECTION_STRING
U wordt aangeraden de verbindingsreeks te gebruiken om de exporteurs te instantiëren die worden gebruikt voor het verzenden van telemetrie naar Application Insights. Wijzig uw code uit de vorige stap op basis van het volgende codevoorbeeld:from opencensus.ext.azure.trace_exporter import AzureExporter from opencensus.trace.samplers import ProbabilitySampler from opencensus.trace.tracer import Tracer tracer = Tracer( exporter=AzureExporter(), sampler=ProbabilitySampler(1.0), ) # Alternatively manually pass in the connection_string # exporter = AzureExporter( # connection_string='<appinsights-connection-string>', # ... # ) def main(): with tracer.span(name="test") as span: for value in range(5): print(value) if __name__ == "__main__": main()
Wanneer u nu het Python-script uitvoert, wordt alleen de waarde in de shell afgedrukt. Het gemaakte
SpanData
bestand wordt verzonden naar Azure Monitor. U vindt de verzonden spangegevens onderdependencies
.Zie OpenCensus Python-afhankelijkheden voor meer informatie over uitgaande aanvragen. Zie OpenCensus Python-aanvragen voor meer informatie over binnenkomende aanvragen.
Steekproeven
Zie Sampling in OpenCensus voor informatie over steekproeven in OpenCensus.
Correlatie traceren
Zie OpenCensus Python-telemetriecorrelatie voor meer informatie over telemetriecorrelatie met telemetriegegevens in uw traceringsgegevens.
Telemetrie wijzigen
Zie OpenCensus Python-telemetrieprocessors voor meer informatie over het wijzigen van bijgehouden telemetrie voordat deze naar Azure Monitor wordt verzonden.
Azure Monitor-exporteurs configureren
Zoals u ziet, zijn er drie verschillende Azure Monitor-exporteurs die OpenCensus ondersteunen. Elk type telemetrie verzendt naar Azure Monitor. Zie de volgende tabel om te zien welke typen telemetrie elke exporteur verzendt.
Elke exporteur accepteert dezelfde argumenten voor de configuratie, doorgegeven via de constructors. U kunt hier informatie over elke informatie bekijken:
Telemetrie van exporteur | Beschrijving |
---|---|
connection_string |
De verbindingsreeks gebruikt om verbinding te maken met uw Azure Monitor-resource. Neemt prioriteit boven instrumentation_key . |
credential |
Referentieklasse die wordt gebruikt door Azure Active Directory-verificatie. Zie de sectie Verificatie die volgt. |
enable_standard_metrics |
Wordt gebruikt voor AzureMetricsExporter . Geeft aan dat de exporteur automatisch prestatiemeteritems naar Azure Monitor verzendt. Standaard ingesteld op True . |
export_interval |
Wordt gebruikt om de frequentie in seconden van exporteren op te geven. Standaard ingesteld op 15s . Voor metrische gegevens moet u deze instellen op 60 seconden of anders zijn uw metrische aggregaties niet logisch in de metrics Explorer. |
grace_period |
Wordt gebruikt om de time-out voor het afsluiten van exporteurs in seconden op te geven. Standaard ingesteld op 5s . |
instrumentation_key |
De instrumentatiesleutel die wordt gebruikt om verbinding te maken met uw Azure Monitor-resource. |
logging_sampling_rate |
Wordt gebruikt voor AzureLogHandler en AzureEventHandler . Biedt een steekproeffrequentie [0,1.0] voor het exporteren van logboeken/gebeurtenissen. Standaard ingesteld op 1.0 . |
max_batch_size |
Hiermee geeft u de maximale grootte van telemetrie die tegelijk wordt geëxporteerd. |
proxies |
Hiermee geeft u een reeks proxy's op die moeten worden gebruikt voor het verzenden van gegevens naar Azure Monitor. Zie proxy's voor meer informatie. |
storage_path |
Een pad naar de locatie waar de lokale opslagmap bestaat (niet-verzonden telemetrie). Vanaf opencensus-ext-azure v1.0.3 is het standaardpad de tijdelijke map van het besturingssysteem + + opencensus-python your-ikey . Vóór v1.0.3 is $USER .azure python-file-name + .opencensus + + het standaardpad. |
timeout |
Hiermee geeft u de netwerktime-out voor het verzenden van telemetrie naar de opnameservice in seconden. Standaard ingesteld op 10s . |
Integreren met Azure Functions
Als u aangepaste telemetrie in Azure Functions-omgevingen wilt vastleggen, gebruikt u de Azure Functions-extensie OpenCensus Python. Zie de ontwikkelaarshandleiding voor Azure Functions Python voor meer informatie.
Verificatie (preview)
Notitie
De verificatiefunctie is beschikbaar vanaf opencensus-ext-azure
v1.1b0.
Elk van de Azure Monitor-exporteurs ondersteunt de configuratie van veilig verzenden van telemetrieladingen via OAuth-verificatie met Azure Active Directory. Zie de verificatiedocumentatie voor meer informatie.
Uw gegevens weergeven met query's
U kunt de telemetriegegevens bekijken die vanuit uw toepassing zijn verzonden via het tabblad Logboeken (Analyse).
In de lijst onder Actief:
- Voor telemetrie die wordt verzonden met de Azure Monitor-traceerexporteur, worden binnenkomende aanvragen weergegeven onder
requests
. Uitgaande of in-process aanvragen worden weergegeven onderdependencies
. - Verzonden metrische gegevensexporteur van Azure Monitor worden onder
customMetrics
verzonden metrische gegevens weergegeven voor telemetrie die wordt verzonden met de exporteur van metrische gegevens van Azure Monitor. - Voor telemetrie die wordt verzonden met de Azure Monitor-logboekexporteur, worden logboeken weergegeven onder
traces
. Uitzonderingen worden weergegeven onderexceptions
.
Zie Logboeken in Azure Monitor voor meer informatie over het gebruik van query's en logboeken.
Verificatie op basis van Microsoft Entra-id configureren en inschakelen
Notitie
Microsoft Entra-verificatie is alleen beschikbaar voor Python v2.7, v3.6 en v3.7. Ondersteuning voor Microsoft Entra ID in de Application Insights OpenCensus Python SDK is opgenomen vanaf bètaversie opencensus-ext-azure 1.1b0.
Notitie
OpenCensus Python SDK is afgeschaft, maar Microsoft ondersteunt deze tot de buitengebruikstelling op 30 september 2024. We raden nu de Op OpenTelemetry gebaseerde Python-aanbieding aan en bieden migratierichtlijnen.
Bouw de juiste referenties en geef deze door aan de constructor van de Azure Monitor-exporteur. Zorg ervoor dat uw verbindingsreeks is ingesteld met de instrumentatiesleutel en het opname-eindpunt van uw resource.
De OpenCensus
Azure Monitor-exporteurs ondersteunen deze verificatietypen. U wordt aangeraden beheerde identiteiten te gebruiken in productieomgevingen.
Door het systeem toegewezen beheerde identiteit
from azure.identity import ManagedIdentityCredential
from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer
credential = ManagedIdentityCredential()
tracer = Tracer(
exporter=AzureExporter(credential=credential, connection_string="InstrumentationKey=<your-instrumentation-key>;IngestionEndpoint=<your-ingestion-endpoint>"),
sampler=ProbabilitySampler(1.0)
)
...
Door de gebruiker toegewezen beheerde identiteit
from azure.identity import ManagedIdentityCredential
from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer
credential = ManagedIdentityCredential(client_id="<client-id>")
tracer = Tracer(
exporter=AzureExporter(credential=credential, connection_string="InstrumentationKey=<your-instrumentation-key>;IngestionEndpoint=<your-ingestion-endpoint>"),
sampler=ProbabilitySampler(1.0)
)
...
Meer informatie over OpenCensus voor Python
- OpenCensus Python op GitHub
- Aanpassing
- Azure Monitor-exporteurs op GitHub
- OpenCensus-integraties
- Azure Monitor-voorbeeldtoepassingen
Probleemoplossing
Connectiviteit testen tussen uw toepassingshost en de opnameservice
Application Insights SDK's en agents verzenden telemetrie om opgenomen te worden als REST-aanroepen naar onze opname-eindpunten. U kunt de connectiviteit vanaf uw webserver of toepassingshostcomputer testen op de service-eindpunten voor opname met behulp van onbewerkte REST-clients uit PowerShell- of curl-opdrachten. Zie Problemen met ontbrekende toepassingstelemetrie oplossen in Azure Monitor Application Insights.
Opmerkingen bij de release
Zie Python Azure Monitor Exporter voor de meest recente opmerkingen bij de release
Onze service-updates geven ook een overzicht van belangrijke Application Insights-verbeteringen.
Volgende stappen
- Als u gebruikservaringen wilt inschakelen, schakelt u bewaking van web- of browsergebruikers in
- Binnenkomende aanvragen bijhouden.
- Uitgaande aanvragen bijhouden.
- Bekijk de toepassingskaart.
- Leer hoe u end-to-end prestatiebewaking kunt uitvoeren.
Waarschuwingen
- Beschikbaarheidsoverzicht: Maak tests om ervoor te zorgen dat uw site zichtbaar is op het web.
- Slimme diagnostische gegevens: deze tests worden automatisch uitgevoerd, zodat u niets hoeft te doen om ze in te stellen. Deze geeft aan of een app een ongebruikelijk aantal mislukte aanvragen heeft.
- Metrische waarschuwingen: stel waarschuwingen in om u te waarschuwen als een metrische waarde een drempelwaarde overschrijdt. U kunt deze instellen op aangepaste metrische gegevens die u in uw app codeert.