Acompanhar solicitações de entrada com OpenCensus Python
Cuidado
O SDK do OpenCensus Python foi desativado. Recomendamos a oferta do Python baseada em OpenTelemetry e fornecemos diretrizes de migração.
O OpenCensus Python e suas integrações coletam dados de solicitação de entrada. Acompanhe os dados das solicitações que chegam aos seus aplicativos web criados com base nas estruturas da web mais populares como o Django, o Flask e o Pyramid. O Application Insights recebe os dados como telemetria de requests
.
Primeiro, instrumente seu aplicativo do Python com o SDK do OpenCensus do Python mais recente.
Acompanhar aplicativos do Django
Baixe e instale o
opencensus-ext-django
a partir do PyPI. Instrumente seu aplicativo com o middleware dodjango
. As solicitações que chegam ao seu aplicativo do Django serão acompanhadas.Inclua
opencensus.ext.django.middleware.OpencensusMiddleware
em seu arquivosettings.py
emMIDDLEWARE
.MIDDLEWARE = ( ... 'opencensus.ext.django.middleware.OpencensusMiddleware', ... )
Verifique se o AzureExporter está configurado corretamente no
settings.py
emOPENCENSUS
. No caso de solicitações de URLs que você não deseja acompanhar, 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 uma amostra de aplicativo do Django no repositório de amostras do OpenCensus do Python no Azure Monitor.
Acompanhar aplicativos do Flask
Baixe e instale o
opencensus-ext-flask
a partir do PyPI. Instrumente seu aplicativo com o middleware doflask
. As solicitações que chegam ao seu aplicativo do Flask serão acompanhadas.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 o aplicativo
flask
por meio doapp.config
. No caso de solicitações de URLs que você não deseja acompanhar, 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. } }
Observação
Para executar o Flask em uWSGI em um ambiente do Docker, primeiro você deve adicionar
lazy-apps = true
ao arquivo de configuração uWSGI (uwsgi.ini). Para obter mais informações, consulte a descrição do problema.
Você pode encontrar uma amostra do aplicativo do Flask que acompanha as solicitações no repositório de amostras do OpenCensus do Python no Azure Monitor.
Acompanhar aplicativos do Pyramid
Baixe e instale o
opencensus-ext-django
a partir do PyPI. Instrumente seu aplicativo com o tween dopyramid
. As solicitações que chegam ao seu aplicativo do Pyramid serão acompanhadas.def main(global_config, **settings): config = Configurator(settings=settings) config.add_tween('opencensus.ext.pyramid' '.pyramid_middleware.OpenCensusTweenFactory')
Você pode configurar a interpolação
pyramid
diretamente no código. No caso de solicitações de URLs que você não deseja acompanhar, 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)
Acompanhar os aplicativos do FastAPI
As seguintes dependências são necessárias:
-
Em uma configuração de produção, recomendamos que você implante uvicorn com gunicorn.
Baixe e instale o
opencensus-ext-fastapi
a partir do PyPI.pip install opencensus-ext-fastapi
Instrumente seu aplicativo com o middleware do
fastapi
.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 ao seu aplicativo do FastAPI devem ser rastreadas automaticamente. A telemetria deve ser registrada diretamente no Azure Monitor.