Delen via


Binnenkomende aanvragen bijhouden met OpenCensus Python

Let op

De OpenCensus Python SDK wordt buiten gebruik gesteld. We raden u aan de Python-aanbieding op basis van OpenTelemetry te gebruiken en migratierichtlijnen te bieden.

OpenCensus Python en de bijbehorende integraties verzamelen binnenkomende aanvraaggegevens. U kunt binnenkomende aanvraaggegevens bijhouden die zijn verzonden naar uw webtoepassingen die zijn gebouwd op basis van 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 bijhouden

  1. Download en installeer deze opencensus-ext-django vanuit PyPI. Instrumenteer uw toepassing met de django middleware. Binnenkomende aanvragen die naar uw Django-toepassing worden verzonden, worden bijgehouden.

  2. Opnemen opencensus.ext.django.middleware.OpencensusMiddleware in uw settings.py bestand onder MIDDLEWARE.

    MIDDLEWARE = (
        ...
        'opencensus.ext.django.middleware.OpencensusMiddleware',
        ...
    )
    
  3. Zorg ervoor dat AzureExporter juist is geconfigureerd in uw settings.py onder OPENCENSUS. Voor aanvragen van URL's die u niet wilt bijhouden, voegt u deze toe aan EXCLUDELIST_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 Azure Monitor OpenCensus Python-voorbeelden.

Flask-toepassingen bijhouden

  1. Download en installeer deze opencensus-ext-flask vanuit PyPI. Instrumenteer uw toepassing met de flask 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)
    
    
  2. U kunt uw flask toepassing ook configureren via app.config. Voor aanvragen van URL's die u niet wilt bijhouden, voegt u deze toe aan EXCLUDELIST_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 Azure Monitor OpenCensus Python-voorbeelden.

Piramidetoepassingen bijhouden

  1. Download en installeer deze opencensus-ext-django vanuit PyPI. Instrumenteer uw toepassing met de pyramid 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')
    
  2. U kunt uw pyramid tween rechtstreeks in de code configureren. Voor aanvragen van URL's die u niet wilt bijhouden, voegt u deze toe aan EXCLUDELIST_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 bijhouden

  1. De volgende afhankelijkheden zijn vereist:

  2. Download en installeer deze opencensus-ext-fastapi vanuit PyPI.

    pip install opencensus-ext-fastapi

  3. 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!'
    
  4. Voer uw toepassing uit. Aanroepen naar uw FastAPI-toepassing moeten automatisch worden bijgehouden. Telemetrie moet rechtstreeks worden geregistreerd bij Azure Monitor.

Volgende stappen