Partilhar via


Rastreie solicitações recebidas com o OpenCensus Python

Atenção

O OpenCensus Python SDK foi desativado. Recomendamos a oferta Python baseada em OpenTelemetry e fornecemos orientação de migração.

O OpenCensus Python e suas integrações coletam dados de solicitações recebidas. Você pode rastrear os dados de solicitação de entrada enviados para seus aplicativos da Web construídos sobre as estruturas populares da Web Django, Flask e Pyramid. O Application Insights recebe os dados como requests telemetria.

Primeiro, instrumente seu aplicativo Python com o mais recente OpenCensus Python SDK.

Acompanhe aplicativos Django

  1. Baixe e instale a opencensus-ext-django partir do PyPI. Instrumente seu aplicativo com o django middleware. As solicitações recebidas enviadas para seu aplicativo Django são rastreadas.

  2. Inclua opencensus.ext.django.middleware.OpencensusMiddleware no seu settings.py ficheiro em MIDDLEWARE.

    MIDDLEWARE = (
        ...
        'opencensus.ext.django.middleware.OpencensusMiddleware',
        ...
    )
    
  3. Verifique se o AzureExporter está configurado corretamente em seu settings.py em OPENCENSUS. Para solicitações de URLs que você não deseja rastrear, adicione-as ao 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.
        }
    }
    

Você pode encontrar um aplicativo de exemplo Django no repositório de exemplos do Azure Monitor OpenCensus Python.

Aplicações do Track Flask

  1. Baixe e instale a opencensus-ext-flask partir do PyPI. Instrumente seu aplicativo com o flask middleware. Os pedidos recebidos enviados para a sua aplicação Flask são rastreados.

    
    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. Você também pode configurar seu flask aplicativo através do app.config. Para solicitações de URLs que você não deseja rastrear, adicione-as ao 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.
        }
    }
    

    Nota

    Para executar o Flask sob uWSGI em um ambiente Docker, você deve primeiro adicionar lazy-apps = true ao arquivo de configuração do uWSGI (uwsgi.ini). Para obter mais informações, consulte a descrição do problema.

Você pode encontrar um aplicativo de exemplo do Flask que rastreia solicitações no repositório de amostras do Azure Monitor OpenCensus Python.

Acompanhe as aplicações do Pyramid

  1. Baixe e instale a opencensus-ext-django partir do PyPI. Instrumente a sua aplicação com a interpolação pyramid . As solicitações recebidas enviadas para seu aplicativo Pyramid são rastreadas.

    def main(global_config, **settings):
        config = Configurator(settings=settings)
    
        config.add_tween('opencensus.ext.pyramid'
                         '.pyramid_middleware.OpenCensusTweenFactory')
    
  2. Você pode configurar sua pyramid interpolação diretamente no código. Para solicitações de URLs que você não deseja rastrear, adicione-as ao 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)
    

Rastreie aplicativos FastAPI

  1. As seguintes dependências são necessárias:

  2. Baixe e instale a opencensus-ext-fastapi partir do PyPI.

    pip install opencensus-ext-fastapi

  3. Instrumente seu aplicativo com o 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. Execute seu aplicativo. As chamadas feitas para seu aplicativo FastAPI devem ser rastreadas automaticamente. A telemetria deve ser registrada diretamente no Azure Monitor.

Próximos passos