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

  1. PyPI'dan indirin ve yükleyinopencensus-ext-django. Uygulamanızı ara yazılımla izleme django . Django uygulamanıza gönderilen gelen istekler izlenir.

  2. altındaki dosyanıza settings.pyMIDDLEWAREekleyinopencensus.ext.django.middleware.OpencensusMiddleware.

    MIDDLEWARE = (
        ...
        'opencensus.ext.django.middleware.OpencensusMiddleware',
        ...
    )
    
  3. Altında AzureExporter'ın settings.pyOPENCENSUSdüzgün yapılandırıldığından emin olun. İzlemek istemediğiniz URL'lerden gelen istekler için, bunları öğesine EXCLUDELIST_PATHSekleyin.

    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

  1. PyPI'dan indirin ve yükleyinopencensus-ext-flask. Uygulamanızı ara yazılımla izleme flask . 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)
    
    
  2. Uygulamanızı flask aracılığıyla app.configda yapılandırabilirsiniz. İzlemek istemediğiniz URL'lerden gelen istekler için, bunları öğesine EXCLUDELIST_PATHSekleyin.

    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

  1. PyPI'dan indirin ve yükleyinopencensus-ext-django. Uygulamanızı ara doldurma ile pyramid 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')
    
  2. Ara doldurmanızı pyramid doğrudan kodda yapılandırabilirsiniz. İzlemek istemediğiniz URL'lerden gelen istekler için, bunları öğesine EXCLUDELIST_PATHSekleyin.

    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

  1. Aşağıdaki bağımlılıklar gereklidir:

  2. PyPI'dan indirin ve yükleyinopencensus-ext-fastapi.

    pip install opencensus-ext-fastapi

  3. 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!'
    
  4. 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.

Sonraki adımlar