Binnenkomende aanvragen bijhouden met OpenCensus Python
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.
OpenCensus Python en de bijbehorende integraties verzamelen binnenkomende aanvraaggegevens. U kunt binnenkomende aanvraaggegevens bijhouden die zijn verzonden naar uw webtoepassingen die zijn gebouwd op de populaire webframeworks Django, Flask en Pyramid. Application Insights ontvangt de gegevens als requests
telemetrie.
Instrumenteer eerst uw Python-toepassing met de nieuwste OpenCensus Python SDK.
Django-toepassingen volgen
Downloaden en installeren
opencensus-ext-django
vanuit PyPI. Instrumenteer uw toepassing met dedjango
middleware. Binnenkomende aanvragen die naar uw Django-toepassing worden verzonden, worden bijgehouden.Neem op
opencensus.ext.django.middleware.OpencensusMiddleware
in uwsettings.py
bestand onderMIDDLEWARE
.MIDDLEWARE = ( ... 'opencensus.ext.django.middleware.OpencensusMiddleware', ... )
Zorg ervoor dat AzureExporter juist is geconfigureerd in uw
settings.py
onderOPENCENSUS
. Voor aanvragen van URL's die u niet wilt bijhouden, voegt u deze toe aanEXCLUDELIST_PATHS
.OPENCENSUS = { 'TRACE': { 'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1)', 'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter( connection_string="InstrumentationKey=<your-ikey-here>" )''', 'EXCLUDELIST_PATHS': ['https://example.com'], <--- These sites will not be traced if a request is sent to it. } }
U vindt een Django-voorbeeldtoepassing in de opslagplaats met Python-voorbeelden van Azure Monitor OpenCensus.
Flask-toepassingen volgen
Downloaden en installeren
opencensus-ext-flask
vanuit PyPI. Instrumenteer uw toepassing met deflask
middleware. Binnenkomende aanvragen die naar uw Flask-toepassing worden verzonden, worden bijgehouden.from flask import Flask from opencensus.ext.azure.trace_exporter import AzureExporter from opencensus.ext.flask.flask_middleware import FlaskMiddleware from opencensus.trace.samplers import ProbabilitySampler app = Flask(__name__) middleware = FlaskMiddleware( app, exporter=AzureExporter(connection_string="InstrumentationKey=<your-ikey-here>"), sampler=ProbabilitySampler(rate=1.0), ) @app.route('/') def hello(): return 'Hello World!' if __name__ == '__main__': app.run(host='localhost', port=8080, threaded=True)
U kunt uw
flask
toepassing ook configureren viaapp.config
. Voor aanvragen van URL's die u niet wilt bijhouden, voegt u deze toe aanEXCLUDELIST_PATHS
.app.config['OPENCENSUS'] = { 'TRACE': { 'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1.0)', 'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter( connection_string="InstrumentationKey=<your-ikey-here>", )''', 'EXCLUDELIST_PATHS': ['https://example.com'], <--- These sites will not be traced if a request is sent to it. } }
Notitie
Als u Flask wilt uitvoeren onder uWSGI in een Docker-omgeving, moet u eerst toevoegen
lazy-apps = true
aan het uWSGI-configuratiebestand (uwsgi.ini). Zie de beschrijving van het probleem voor meer informatie.
U vindt een Flask-voorbeeldtoepassing die aanvragen bijhoudt in de opslagplaats met Python-voorbeelden van Azure Monitor OpenCensus.
Piramidetoepassingen volgen
Downloaden en installeren
opencensus-ext-django
vanuit PyPI. Instrumenteer uw toepassing met depyramid
tween. Binnenkomende aanvragen die naar uw Pyramid-toepassing worden verzonden, worden bijgehouden.def main(global_config, **settings): config = Configurator(settings=settings) config.add_tween('opencensus.ext.pyramid' '.pyramid_middleware.OpenCensusTweenFactory')
U kunt uw
pyramid
tween rechtstreeks in de code configureren. Voor aanvragen van URL's die u niet wilt bijhouden, voegt u deze toe aanEXCLUDELIST_PATHS
.settings = { 'OPENCENSUS': { 'TRACE': { 'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1.0)', 'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter( connection_string="InstrumentationKey=<your-ikey-here>", )''', 'EXCLUDELIST_PATHS': ['https://example.com'], <--- These sites will not be traced if a request is sent to it. } } } config = Configurator(settings=settings)
FastAPI-toepassingen volgen
De volgende afhankelijkheden zijn vereist:
-
In een productieomgeving raden we uvicorn met gunicorn te implementeren.
Downloaden en installeren
opencensus-ext-fastapi
vanuit PyPI.pip install opencensus-ext-fastapi
Instrumenteer uw toepassing met de
fastapi
middleware.from fastapi import FastAPI from opencensus.ext.fastapi.fastapi_middleware import FastAPIMiddleware app = FastAPI(__name__) app.add_middleware(FastAPIMiddleware) @app.get('/') def hello(): return 'Hello World!'
Voer uw toepassing uit. Aanroepen naar uw FastAPI-toepassing moeten automatisch worden bijgehouden. Telemetrie moet rechtstreeks in Azure Monitor worden geregistreerd.