OpenCensus Python ile gelen istekleri izleme
Not
OpenCensus Python SDK'sı kullanımdan kaldırılmıştır, ancak Microsoft 30 Eylül 2024'te kullanımdan kaldırılana kadar bunu destekler. Şimdi 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ımla izlemedjango
. Django uygulamanıza gönderilen gelen istekler izlenir.altındaki dosyanıza
settings.py
MIDDLEWARE
ekleyinopencensus.ext.django.middleware.OpencensusMiddleware
.MIDDLEWARE = ( ... 'opencensus.ext.django.middleware.OpencensusMiddleware', ... )
Altında AzureExporter'ın
settings.py
OPENCENSUS
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ımla izlemeflask
. 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. } }
Not
Flask'i bir Docker ortamında uWSGI altında çalıştırmak için önce uWSGI yapılandırma dosyasına (uwsgi.ini) eklemeniz
lazy-apps = true
gerekir. Daha fazla bilgi için sorun açıklamasına bakın.
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ı ara doldurma ilepyramid
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')
Ara doldurmanı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 izleme
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!'
Uygulamanızı çalıştırın. FastAPI uygulamanıza yapılan çağrılar otomatik olarak izlenmelidir. Telemetri doğrudan Azure İzleyici'de günlüğe kaydedilmelidir.