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
Baixe e instale a
opencensus-ext-django
partir do PyPI. Instrumente seu aplicativo com odjango
middleware. As solicitações recebidas enviadas para seu aplicativo Django são rastreadas.Inclua
opencensus.ext.django.middleware.OpencensusMiddleware
no seusettings.py
ficheiro emMIDDLEWARE
.MIDDLEWARE = ( ... 'opencensus.ext.django.middleware.OpencensusMiddleware', ... )
Verifique se o AzureExporter está configurado corretamente em seu
settings.py
emOPENCENSUS
. Para solicitações de URLs que você não deseja rastrear, adicione-as aoEXCLUDELIST_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
Baixe e instale a
opencensus-ext-flask
partir do PyPI. Instrumente seu aplicativo com oflask
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)
Você também pode configurar seu
flask
aplicativo através doapp.config
. Para solicitações de URLs que você não deseja rastrear, adicione-as aoEXCLUDELIST_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
Baixe e instale a
opencensus-ext-django
partir do PyPI. Instrumente a sua aplicação com a interpolaçãopyramid
. 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')
Você pode configurar sua
pyramid
interpolação diretamente no código. Para solicitações de URLs que você não deseja rastrear, adicione-as aoEXCLUDELIST_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
As seguintes dependências são necessárias:
-
Em um ambiente de produção, recomendamos que você implante uvicorn com gunicorn.
Baixe e instale a
opencensus-ext-fastapi
partir do PyPI.pip install opencensus-ext-fastapi
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!'
Execute seu aplicativo. As chamadas feitas para seu aplicativo FastAPI devem ser rastreadas automaticamente. A telemetria deve ser registrada diretamente no Azure Monitor.