Azure Monitor instellen voor uw Python-toepassing

Notitie

OpenCensus Python SDK is afgeschaft, maar Microsoft ondersteunt dit 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, het verzamelen van metrische gegevens en logboekregistratie van Python-toepassingen.

De ondersteunde oplossing van Microsoft voor het bijhouden en exporteren van gegevens voor uw Python-toepassingen is 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 deze niet worden ondersteund.

OpenCensus wordt samengevoegd in OpenTelemetry. We blijven OpenCensus aanbevelen terwijl OpenTelemetry geleidelijk volwassener wordt.

Vereisten

U hebt een Azure-abonnement nodig. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan 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. Stap over op verbindingsreeksen om te profiteren van nieuwe mogelijkheden.

Inleiding tot OpenCensus Python SDK

OpenCensus is een set opensourcebibliotheken 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. In dit artikel wordt u begeleid 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 maakt gebruik van drie Azure Monitor-exporteurs om verschillende typen telemetrie naar Azure Monitor te verzenden. Het zijn trace, metricsen logs. Zie overzicht van het gegevensplatform voor meer informatie over deze telemetrietypen. Gebruik de volgende instructies om deze telemetrietypen te verzenden via de drie exporteurs.

Toewijzingen van telemetrietypen

OpenCensus wijst de volgende exporteurs toe aan de typen telemetrie die u ziet in Azure Monitor.

Pijler van waarneembaarheid Telemetrietype in Azure Monitor Uitleg
Logboeken Traceringen, uitzonderingen, customEvents Logboektelemetrie, uitzonderingstelemetrie, telemetrie van gebeurtenissen
Metrische gegevens customMetrics, performanceCounters Prestatiemeteritems voor aangepaste metrische gegevens
Tracering Afhankelijkheden aanvragen Binnenkomende aanvragen, uitgaande aanvragen

Logboeken

  1. 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()
    
  2. 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
    
  3. We willen deze logboekgegevens weergeven in Azure Monitor. U kunt deze opgeven in een omgevingsvariabele, APPLICATIONINSIGHTS_CONNECTION_STRING. U kunt de connection_string ook rechtstreeks doorgeven aan de AzureLogHandler, maar verbindingsreeksen mogen niet worden toegevoegd aan versiebeheer.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<appinsights-connection-string>
    

    U wordt aangeraden de connection string te gebruiken om de exporteurs te instantiëren die worden gebruikt voor het verzenden van telemetrie naar Application Insights. Wijzig de 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}")
    
  4. De exporteur verzendt logboekgegevens naar Azure Monitor. U vindt de gegevens onder traces.

    In deze context traces is niet hetzelfde als tracing. traces Hier verwijst naar het type telemetrie dat u in Azure Monitor ziet wanneer u gebruiktAzureLogHandler. Maar tracing verwijst naar een concept in OpenCensus en heeft betrekking op gedistribueerde tracering.

    Notitie

    De root logger is geconfigureerd met het niveau van warning. Dit betekent dat logboeken die u verzendt met een lagere ernst, worden genegeerd en op hun beurt niet naar Azure Monitor worden verzonden. Zie Documentatie voor logboekregistratie voor meer informatie.

  5. U kunt ook aangepaste eigenschappen toevoegen aan uw logboekberichten in het extra trefwoordargument met behulp van het custom_dimensions veld. Deze eigenschappen worden weergegeven als sleutel-waardeparen in customDimensions Azure Monitor.

    Notitie

    Deze functie werkt alleen als u een woordenlijst doorgeeft aan het custom_dimensions veld. Als u argumenten van een ander type doorgeeft, worden deze genegeerd door de logboekregistratie.

    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 het verzamelen van niet-essentiële gegevens 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 dit opgeven in de configuratie voor logboekregistratie van Django. Deze code kan worden gebruikt in 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 telemetriegegevens niet automatisch bij en verzendt exception deze niet automatisch. Het wordt verzonden AzureLogHandler met behulp van uitzonderingen via de Python-logboekregistratiebibliotheek. U kunt aangepaste eigenschappen toevoegen zoals bij normale logboekregistratie.

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 uitzonderingen expliciet moet vastleggen, is het aan u om niet-verwerkte uitzonderingen te registreren. OpenCensus stelt geen beperkingen voor het uitvoeren van deze logboekregistratie, maar u moet expliciet telemetrie van uitzonderingen vastleggen.

Gebeurtenissen verzenden

U kunt telemetrie op precies dezelfde manier verzenden customEvent als telemetrie trace , behalve door in plaats daarvan te gebruiken 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 Steekproeven in OpenCensus voor meer informatie over steekproeven in OpenCensus.

Logboekcorrelatie

Zie Integratie van OpenCensus Python-logboeken voor meer 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

OpenCensus.stats ondersteunt vier aggregatiemethoden, maar biedt gedeeltelijke ondersteuning voor Azure Monitor:

  • Aantal: het aantal meetpunten. De waarde is cumulatief, kan alleen worden verhoogd en wordt opnieuw ingesteld op 0 bij opnieuw opstarten.
  • Som: Een som van de meetpunten. De waarde is cumulatief, kan alleen worden verhoogd en wordt opnieuw ingesteld op 0 bij opnieuw opstarten.
  • LastValue: behoudt de laatst vastgelegde waarde en verwijdert al het andere.
  • Distributie: De Azure-exporteur biedt geen ondersteuning voor de histogramdistributie van de meetpunten.

Voorbeeld van aggregatie van aantal

  1. Eerst gaan we wat lokale metrische gegevens genereren. We maken een metrische waarde om bij te houden hoe vaak 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()
    
  2. Metrische gegevens worden gemaakt om vaak 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 toen de metrische waarde werd 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)
    
  3. Het invoeren van waarden is handig voor demonstratiedoeleinden, maar we willen de metrische gegevens verzenden naar Azure Monitor. Geef uw connection string rechtstreeks door aan de exporteur. U kunt deze ook opgeven in een omgevingsvariabele, APPLICATIONINSIGHTS_CONNECTION_STRING. U wordt aangeraden de connection string te gebruiken om de exporteurs te instantiëren die worden gebruikt om telemetrie naar Application Insights te verzenden. Wijzig de 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()
    
  4. De exporteur verzendt metrische gegevens met een vast interval naar Azure Monitor. U moet deze waarde instellen op 60 seconden, omdat de back-end van Application Insights uitgaat van de aggregatie van metrische punten met een tijdsinterval van 60 seconden. We houden één metrische waarde bij, dus deze metrische gegevens, met de waarde en tijdstempel die ze bevatten, worden elk interval verzonden. De gegevens zijn cumulatief, kunnen alleen toenemen en worden opnieuw ingesteld op 0 bij opnieuw opstarten.

    U vindt de gegevens onder customMetrics, maar de customMetrics eigenschappen valueCount, valueSum, valueMin, valueMaxen valueStdDev worden niet effectief gebruikt.

Aangepaste dimensies instellen in metrische gegevens

Met de OpenCensus Python SDK kunt u aangepaste dimensies toevoegen aan de telemetrie van uw metrische gegevens met behulp van tags, die lijken op een woordenlijst van sleutel-waardeparen.

  1. Voeg de tags die u wilt gebruiken in de tagtoewijzing in. 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")
    ...
    
  2. Geef voor een specifieke Viewtag de tags op die u wilt gebruiken wanneer u metrische gegevens met die weergave opneemt 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())
    ...
    
  3. Zorg ervoor dat u de tagkaart gebruikt wanneer u opneemt in de maatkaart. De tagsleutels die in de View zijn opgegeven, moeten worden gevonden in de tagtoewijzing 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
    ...
    
  4. In de customMetrics tabel hebben alle metrische records die worden verzonden met behulp prompt_view van aangepaste dimensies {"url":"http://example.com"}.

  5. Als u tags met verschillende waarden wilt maken 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

Standaard verzendt de exporteur van metrische gegevens een set prestatiemeteritems naar Azure Monitor. U kunt deze mogelijkheid uitschakelen door de enable_standard_metrics vlag in te False stellen op 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)
  • Aantal binnenkomende aanvragen (per seconde)
  • Gemiddelde uitvoeringstijd van binnenkomende aanvraag (milliseconden)
  • CPU-gebruik verwerken (percentage)
  • Persoonlijke 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 naar gedistribueerde tracering. De AzureExporter parameter verzendt requests en dependency telemetrie naar Azure Monitor.

  1. Eerst gaan we enkele traceringsgegevens lokaal genereren. Voer in Python IDLE of de editor van uw keuze 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()
    
  2. Bij elke vermelding wordt de waarde naar de shell afgedrukt. De OpenCensus Python-module genereert een bijbehorend deel van SpanData. Het OpenCensus-project definieert een tracering als een boomstructuur van spanen.

    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)]
    
  3. Het weergeven van de uitvoer is handig voor demonstratiedoeleinden, maar we willen verzenden SpanData naar Azure Monitor. Geef uw connection string rechtstreeks door aan de exporteur. U kunt deze ook opgeven in een omgevingsvariabele, APPLICATIONINSIGHTS_CONNECTION_STRING. U wordt aangeraden de connection string te gebruiken om de exporteurs te instantiëren die worden gebruikt om telemetrie naar Application Insights te verzenden. Wijzig de 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()
    
  4. Wanneer u nu het Python-script uitvoert, wordt alleen de waarde afgedrukt in de shell. De gemaakte SpanData wordt verzonden naar Azure Monitor. U vindt de verzonden spangegevens onder dependencies.

    Zie OpenCensus Python-afhankelijkheden voor meer informatie over uitgaande aanvragen. Zie OpenCensus Python-aanvragen voor meer informatie over binnenkomende aanvragen.

Steekproeven

Zie Steekproeven in OpenCensus voor meer informatie over steekproeven in OpenCensus.

Correlatie traceren

Zie Telemetriecorrelatie van OpenCensus Python voor meer informatie over telemetriecorrelatie 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 weergegeven, zijn er drie verschillende Azure Monitor-exporteurs die OpenCensus ondersteunen. Elke telemetrie verzendt verschillende typen telemetrie naar Azure Monitor. Als u wilt zien welke typen telemetrie door elke exporteur worden verzonden, raadpleegt u de volgende tabel.

Elke exporteur accepteert dezelfde argumenten voor de configuratie, doorgegeven via de constructors. Hier vindt u informatie over elk item:

Telemetrie exporteren Description
connection_string De connection string gebruikt om verbinding te maken met uw Azure Monitor-resource. Heeft voorrang op 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. De standaardwaarde is True.
export_interval Wordt gebruikt om de frequentie in seconden van het exporteren op te geven. De standaardwaarde is 15s. Voor metrische gegevens MOET u deze instellen op 60 seconden, 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. De standaardwaarde is 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. De standaardwaarde is 1.0.
max_batch_size Hiermee geeft u de maximale grootte van telemetrie die in één keer 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 zich bevindt (niet-verzonden telemetrie). opencensus-ext-azure Vanaf v1.0.3 is het standaardpad de tijdelijke map van het besturingssysteem + + opencensus-pythonyour-ikey . Vóór v1.0.3 is $USER.azurepython-file-name + .opencensus + + het standaardpad .
timeout Hiermee geeft u de time-out van het netwerk op voor het verzenden van telemetrie naar de opnameservice in seconden. De standaardwaarde is 10s.

Integreren met Azure Functions

Als u aangepaste telemetrie wilt vastleggen in Azure Functions omgevingen, gebruikt u de OpenCensus Python Azure Functions-extensie. 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 het 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).

Schermopname van het deelvenster Overzicht met het tabblad Logboeken (Analyse) geselecteerd.

In de lijst onder Actief:

  • Voor telemetrie die is verzonden met de Azure Monitor-traceringsexporteur, worden binnenkomende aanvragen weergegeven onder requests. Uitgaande of in verwerking zijnde aanvragen worden weergegeven onder dependencies.
  • Voor telemetrie die is verzonden met de metrische gegevensexporteur van Azure Monitor, worden verzonden metrische gegevens weergegeven onder customMetrics.
  • Voor telemetrie die wordt verzonden met de Azure Monitor-logboekexporteur, worden logboeken weergegeven onder traces. Uitzonderingen worden weergegeven onder exceptions.

Zie Logboeken in Azure Monitor voor meer informatie over het gebruik van query's en logboeken.

Meer informatie over OpenCensus voor Python

Problemen oplossen

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 van uw webserver of toepassingshostcomputer met de opnameservice-eindpunten testen met behulp van onbewerkte REST-clients van PowerShell of curl-opdrachten. Zie Problemen met ontbrekende toepassingstelemetrie in Azure Monitor Application Insights oplossen.

Opmerkingen bij de release

Zie Python Azure Monitor Exporter (Python Azure Monitor Exporter) voor de meest recente opmerkingen bij de release

Onze Service Updates ook belangrijke Application Insights-verbeteringen samen.

Volgende stappen

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.
  • Waarschuwingen voor metrische gegevens: 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.