Bejövő kérések nyomon követése az OpenCensus Pythonnal
Megjegyzés
Az OpenCensus Python SDK elavult, de a Microsoft 2024. szeptember 30-i kivonásáig támogatja. Most az OpenTelemetry-alapú Python-ajánlatot ajánljuk, és migrálási útmutatást nyújtunk.
Az OpenCensus Python és integrációi bejövő kérésadatokat gyűjtenek. Nyomon követheti a webalkalmazásoknak küldött bejövő kérelmek adatait a django, flask és piramis népszerű webes keretrendszerek alapján. Az Application Insights telemetriaként requests
fogadja az adatokat.
Először a Python-alkalmazást a legújabb OpenCensus Python SDK-val alakítsa ki.
Django-alkalmazások nyomon követése
Töltse le és telepítse
opencensus-ext-django
a PyPI-ból. Alakítsa ki az alkalmazást a köztesdjango
szoftverrel. A Django-alkalmazásnak küldött bejövő kérelmek nyomon lesznek követve.Adja meg
opencensus.ext.django.middleware.OpencensusMiddleware
a fájlban asettings.py
következőt:MIDDLEWARE
.MIDDLEWARE = ( ... 'opencensus.ext.django.middleware.OpencensusMiddleware', ... )
Győződjön meg arról, hogy az AzureExporter megfelelően van konfigurálva a
settings.py
(z) alattOPENCENSUS
. A nem nyomon követni kívánt URL-címekről érkező kérések esetén adja hozzá őket a következőhözEXCLUDELIST_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. } }
Django-mintaalkalmazást az Azure Monitor OpenCensus Python-mintaadattárban talál.
Flask-alkalmazások nyomon követése
Töltse le és telepítse
opencensus-ext-flask
a PyPI-ból. Alakítsa ki az alkalmazást a köztesflask
szoftverrel. A Rendszer nyomon követi a Flask-alkalmazásnak küldött bejövő kérelmeket.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)
Az alkalmazást a
flask
használatávalapp.config
is konfigurálhatja. A nem nyomon követni kívánt URL-címekről érkező kérések esetén adja hozzá őket a következőhözEXCLUDELIST_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. } }
Megjegyzés
Ha Docker-környezetben szeretné futtatni a Flaskot uWSGI alatt, először hozzá kell adnia
lazy-apps = true
az uWSGI konfigurációs fájlhoz (uwsgi.ini). További információt a probléma leírásában talál.
Egy Flask-mintaalkalmazást talál, amely nyomon követi a kéréseket az Azure Monitor OpenCensus Python-minták adattárában.
Piramisalkalmazások nyomon követése
Töltse le és telepítse
opencensus-ext-django
a PyPI-ból. A tween segítségével alakítsa ki azpyramid
alkalmazást. A Piramis-alkalmazásnak küldött bejövő kérések nyomon követhetők.def main(global_config, **settings): config = Configurator(settings=settings) config.add_tween('opencensus.ext.pyramid' '.pyramid_middleware.OpenCensusTweenFactory')
A
pyramid
tweent közvetlenül a kódban konfigurálhatja. A nem nyomon követni kívánt URL-címekről érkező kérések esetén adja hozzá őket a következőhözEXCLUDELIST_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)
FastAPI-alkalmazások nyomon követése
A következő függőségekre van szükség:
-
Éles környezetben azt javasoljuk, hogy helyezzen üzembe uvicorn-t gunicorn használatával.
Töltse le és telepítse
opencensus-ext-fastapi
a PyPI-ból.pip install opencensus-ext-fastapi
Alakítsa ki az alkalmazást a köztes
fastapi
szoftverrel.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!'
Futtassa az alkalmazást. A FastAPI-alkalmazáshoz indított hívásokat automatikusan nyomon kell követni. A telemetriát közvetlenül az Azure Monitorba kell naplózni.