Aracılığıyla paylaş


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

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

  2. dosyanıza settings.py öğesinin altına MIDDLEWAREekleyinopencensus.ext.django.middleware.OpencensusMiddleware.

    MIDDLEWARE = (
        ...
        'opencensus.ext.django.middleware.OpencensusMiddleware',
        ...
    )
    
  3. AzureExporter'ın altında OPENCENSUScihazınızda settings.py dü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 flask 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)
    
    
  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ı arayla pyramid 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')
    
  2. Aranı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 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!'
    
  4. 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.

Sonraki adımlar