OpenCensus Python ile gelen istekleri izleme
Dikkat
OpenCensus Python SDK'sı kullanımdan kaldırıldı. OpenTelemetry tabanlı Python teklifini öneririz ve geçiş kılavuzu sağlarız.
OpenCensus Python ve tümleştirmeleri gelen istek verilerini toplar. Popüler web çerçeveleri Django, Flask ve Piramit üzerine kurulu web uygulamalarınıza gönderilen gelen istek verilerini izleyebilirsiniz. Application Insights verileri telemetri olarak requests
alır.
İlk olarak, Python uygulamanızı en son OpenCensus Python SDK'sı ile izleyin.
Django uygulamalarını izleme
PyPI'dan indirin ve yükleyin
opencensus-ext-django
. Uygulamanızı ara yazılımladjango
izleme. Django uygulamanıza gönderilen gelen istekler izlenir.dosyanıza
settings.py
öğesinin altınaMIDDLEWARE
ekleyinopencensus.ext.django.middleware.OpencensusMiddleware
.MIDDLEWARE = ( ... 'opencensus.ext.django.middleware.OpencensusMiddleware', ... )
AzureExporter'ın altında
OPENCENSUS
cihazınızdasettings.py
düzgün yapılandırıldığından emin olun. İzlemek istemediğiniz URL'lerden gelen istekler için bunları öğesineEXCLUDELIST_PATHS
ekleyin.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. } }
Django örnek uygulamasını Azure İzleyici OpenCensus Python örnekleri deposunda bulabilirsiniz.
Flask uygulamalarını izleme
PyPI'dan indirin ve yükleyin
opencensus-ext-flask
. Uygulamanızı ara yazılımlaflask
izleme. Flask uygulamanıza gönderilen gelen istekler izlenir.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)
Uygulamanızı
flask
aracılığıylaapp.config
da yapılandırabilirsiniz. İzlemek istemediğiniz URL'lerden gelen istekler için bunları öğesineEXCLUDELIST_PATHS
ekleyin.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. } }
Azure İzleyici OpenCensus Python örnekleri deposunda istekleri izleyen bir Flask örnek uygulaması bulabilirsiniz.
Piramit uygulamalarını izleme
PyPI'dan indirin ve yükleyin
opencensus-ext-django
. Uygulamanızı araylapyramid
birlikte izleme. Piramit uygulamanıza gönderilen gelen istekler izlenir.def main(global_config, **settings): config = Configurator(settings=settings) config.add_tween('opencensus.ext.pyramid' '.pyramid_middleware.OpenCensusTweenFactory')
Aranızı
pyramid
doğrudan kodda yapılandırabilirsiniz. İzlemek istemediğiniz URL'lerden gelen istekler için bunları öğesineEXCLUDELIST_PATHS
ekleyin.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 uygulamalarını izleme
Aşağıdaki bağımlılıklar gereklidir:
-
Üretim ayarında, gunicorn ile vicorn dağıtmanızı öneririz.
PyPI'dan indirin ve yükleyin
opencensus-ext-fastapi
.pip install opencensus-ext-fastapi
Uygulamanızı ara yazılımla
fastapi
izleme.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!'
Uygulamanızı çalıştırın. FastAPI uygulamanıza yapılan çağrılar otomatik olarak izlenmelidir. Telemetri doğrudan Azure İzleyici'ye günlüğe kaydedilmelidir.