Python uygulamanız için Azure İzleyici'i ayarlama

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.

Azure İzleyici, Python uygulamalarının dağıtılmış izleme, ölçüm toplama ve günlüğe kaydedilmesini destekler.

Microsoft'un Python uygulamalarınız için verileri izlemek ve dışarı aktarmak için desteklediği çözüm, Azure İzleyici dışarı aktarıcıları aracılığıyla OpenCensus Python SDK'sı aracılığıyla sağlanır.

Microsoft, python için telemetri SDK'larının desteklenmediğinden telemetri çözümü olarak kullanılmasını önermez.

OpenCensus, OpenTelemetry ile yakınsıyor. OpenTelemetry aşamalı olarak olgunlaşırken OpenCensus'u önermeye devam ediyoruz.

Önkoşullar

Bir Azure aboneliğine ihtiyacınız vardır. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Not

31 Mart 2025’te izleme anahtarı alımı desteği sona erecektir. İzleme anahtarı alımı çalışmaya devam edecek, ancak artık özellik için güncelleştirmeler veya destek sağlamayacağız. Yeni özelliklerden yararlanmak için bağlantı dizelerine geçiş.

OpenCensus Python SDK'sı ile tanışın

OpenCensus , dağıtılmış izleme, ölçümler ve günlük telemetrisi toplamaya olanak sağlayan bir açık kaynak kitaplık kümesidir. Azure İzleyici dışarı aktarmalarını kullanarak toplanan bu telemetriyi Application Insights'a gönderebilirsiniz. Bu makalede, izleme verilerinizi Azure İzleyici'ye göndermek üzere Python için OpenCensus ve Azure İzleyici dışarı aktarmalarını ayarlama işlemi adım adım açıklanmaktadır.

Azure İzleyici dışarı verenleri ile OpenCensus Python SDK'sı ile izleme

OpenCensus Azure İzleyici dışarı vericilerini yükleyin:

python -m pip install opencensus-ext-azure

SDK, Azure İzleyici'ye farklı türde telemetri göndermek için üç Azure İzleyici dışarı aktarması kullanır. Bunlar , metricsve logs' lerdirtrace. Bu telemetri türleri hakkında daha fazla bilgi için bkz . Veri platformuna genel bakış. Bu telemetri türlerini üç dışarı aktarma aracıyla göndermek için aşağıdaki yönergeleri kullanın.

Telemetri türü eşlemeleri

OpenCensus, aşağıdaki dışarı aktarıcıları Azure İzleyici'de gördüğünüz telemetri türleriyle eşler.

Gözlemlenebilirliğin yapı taşı Azure İzleyici'de telemetri türü Açıklama
Günlükler İzlemeler, özel durumlar, customEvents Günlük telemetrisi, özel durum telemetrisi, olay telemetrisi
Ölçümler customMetrics, performanceCounters Özel ölçüm performans sayaçları
İzleme İstek bağımlılıkları Gelen istekler, giden istekler

Günlükler

  1. İlk olarak, bazı yerel günlük verileri oluşturalım.

    
    import logging
    
    logger = logging.getLogger(__name__)
    
    def main():
        """Generate random log data."""
        for num in range(5):
            logger.warning(f"Log Entry - {num}")
    
    if __name__ == "__main__":
        main()
    
  2. Aralıktaki her sayı için bir günlük girdisi yayılır.

    Log Entry - 0
    Log Entry - 1
    Log Entry - 2
    Log Entry - 3
    Log Entry - 4
    
  3. Bu günlük verilerini Azure İzleyici'de görmek istiyoruz. Bunu bir ortam değişkeninde belirtebilirsiniz: APPLICATIONINSIGHTS_CONNECTION_STRING. connection_string doğrudan içine AzureLogHandlerde geçirebilirsiniz, ancak bağlantı dizeleri sürüm denetimine eklenmemelidir.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<appinsights-connection-string>
    

    Application Insights'a telemetri göndermek için kullanılan dışarı aktarıcıların örneğini oluştururken bağlantı dizesini kullanmanızı öneririz. Önceki adımda yer alan kodunuzu aşağıdaki kod örneğine göre değiştirin:

    import logging
    from opencensus.ext.azure.log_exporter import AzureLogHandler
    
    logger = logging.getLogger(__name__)
    logger.addHandler(AzureLogHandler())
    
    # Alternatively manually pass in the connection_string
    # logger.addHandler(AzureLogHandler(connection_string=<appinsights-connection-string>))
    
    """Generate random log data."""
    for num in range(5):
        logger.warning(f"Log Entry - {num}")
    
  4. Dışarı aktarma, günlük verilerini Azure İzleyici'ye gönderir. Verileri altında tracesbulabilirsiniz.

    Bu bağlamda ile traces aynı tracingdeğildir. Burada, traces kullandığınızda AzureLogHandlerAzure İzleyici'de gördüğünüz telemetri türüne başvurur. Ancak tracing OpenCensus'taki bir kavramı ifade eder ve dağıtılmış izlemeyle ilgilidir.

    Not

    Kök günlükçü düzeyiyle warningyapılandırılır. Başka bir deyişle, gönderdiğiniz ve daha az önem derecesine sahip günlükler yoksayılır ve buna karşılık Azure İzleyici'ye gönderilmez. Daha fazla bilgi için günlüğe kaydetme belgelerine bakın.

  5. Alanını kullanarak custom_dimensions anahtar sözcük bağımsız değişkenindeki extra günlük iletilerinize özel özellikler de ekleyebilirsiniz. Bu özellikler Azure İzleyici'de customDimensions anahtar-değer çiftleri olarak görünür.

    Not

    Bu özelliğin çalışması için alana bir sözlük custom_dimensions geçirmeniz gerekir. Başka bir türdeki bağımsız değişkenleri geçirirseniz, günlükçü bunları yoksayar.

    import logging
    
    from opencensus.ext.azure.log_exporter import AzureLogHandler
    
    logger = logging.getLogger(__name__)
    logger.addHandler(AzureLogHandler())
    # Alternatively manually pass in the connection_string
    # logger.addHandler(AzureLogHandler(connection_string=<appinsights-connection-string>))
    
    properties = {'custom_dimensions': {'key_1': 'value_1', 'key_2': 'value_2'}}
    
    # Use properties in logging statements
    logger.warning('action', extra=properties)
    

Not

Application Insights izlemesini kullanmanın bir parçası olarak tanılama verilerini toplayıp Microsoft'a göndeririz. Bu veriler Application Insights'ı çalıştırmamıza ve geliştirmemize yardımcı olur. Temel olmayan veri toplamayı devre dışı bırakma seçeneğiniz vardır. Daha fazla bilgi edinmek için bkz. Application Insights'ta statsbeat.

Django uygulamaları için günlüğe kaydetmeyi yapılandırma

Günlük kaydını uygulama kodunuzda, Django uygulamalarınız için önceki gibi açıkça yapılandırabilir veya Django'nun günlük yapılandırmasında belirtebilirsiniz. Bu kod, genellikle settings.pyDjango sitesinin ayarlar yapılandırması için kullandığınız dosyaya gidebilir.

Django ayarlarını yapılandırma hakkında bilgi için bkz. Django ayarları. Günlüğü yapılandırma hakkında daha fazla bilgi için bkz. Django günlüğü.

LOGGING = {
    "handlers": {
        "azure": {
            "level": "DEBUG",
            "class": "opencensus.ext.azure.log_exporter.AzureLogHandler",
            "connection_string": "<appinsights-connection-string>",
        },
        "console": {
            "level": "DEBUG",
            "class": "logging.StreamHandler",
            "stream": sys.stdout,
        },
      },
    "loggers": {
        "logger_name": {"handlers": ["azure", "console"]},
    },
}

Günlükçü'nüzü yapılandırmanızda belirtilen adla kullandığınızdan emin olun.

# views.py

import logging
from django.shortcuts import request

logger = logging.getLogger("logger_name")
logger.warning("this will be tracked")

Özel durumlar gönderme

OpenCensus Python telemetri verilerini otomatik olarak izlemez ve göndermez exception . Python günlük kitaplığı aracılığıyla AzureLogHandler özel durumlar kullanılarak gönderilir. Normal günlük kaydında yaptığınız gibi özel özellikler ekleyebilirsiniz.

import logging

from opencensus.ext.azure.log_exporter import AzureLogHandler

logger = logging.getLogger(__name__)
logger.addHandler(AzureLogHandler())
# Alternatively, manually pass in the connection_string
# logger.addHandler(AzureLogHandler(connection_string=<appinsights-connection-string>))

properties = {'custom_dimensions': {'key_1': 'value_1', 'key_2': 'value_2'}}

# Use properties in exception logs
try:
    result = 1 / 0  # generate a ZeroDivisionError
except Exception:
    logger.exception('Captured an exception.', extra=properties)

Özel durumları açıkça günlüğe kaydetmeniz gerektiğinden, işlenmeyen özel durumların nasıl günlüğe kaydedildiği size bağlı. OpenCensus bu günlüğün nasıl yapılacağını kısıtlamaz, ancak özel durum telemetrisini açıkça günlüğe kaydetmeniz gerekir.

Olayları gönderme

TelemetriyicustomEvent, bunun yerine kullanarak AzureEventHandler dışında, telemetriyi gönderdiğiniz şekilde gönderebilirsiniztrace.

import logging
from opencensus.ext.azure.log_exporter import AzureEventHandler

logger = logging.getLogger(__name__)
logger.addHandler(AzureEventHandler())
# Alternatively manually pass in the connection_string
# logger.addHandler(AzureEventHandler(connection_string=<appinsights-connection-string>))

logger.setLevel(logging.INFO)
logger.info('Hello, World!')

Örnekleme

OpenCensus'ta örnekleme hakkında bilgi için bkz . OpenCensus'ta Örnekleme.

Günlük bağıntısı

Günlüklerinizi izleme bağlamı verileriyle zenginleştirme hakkında bilgi için bkz. OpenCensus Python günlükleri tümleştirmesi.

Telemetriyi değiştirme

İzlenen telemetriyi Azure İzleyici'ye gönderilmeden önce değiştirme hakkında bilgi için bkz. OpenCensus Python telemetri işlemcileri.

Ölçümler

OpenCensus.stats dört toplama yöntemini destekler ancak Azure İzleyici için kısmi destek sağlar:

  • Sayı: Ölçü noktalarının sayısı. Değer kümülatiftir, yalnızca artabilir ve yeniden başlatıldığında 0'a sıfırlanır.
  • Toplam: Ölçüm noktalarının toplamı. Değer kümülatiftir, yalnızca artabilir ve yeniden başlatıldığında 0'a sıfırlanır.
  • LastValue: Kaydedilen son değeri tutar ve diğer her şeyi bırakır.
  • Dağıtım: Azure dışarıyı veren, ölçüm noktalarının histogram dağıtımını desteklemez.

Toplamayı sayma örneği

  1. İlk olarak, bazı yerel ölçüm verileri oluşturalım. Kullanıcının Enter tuşunu seçme sayısını izlemek için bir ölçüm oluştururuz.

    
    from datetime import datetime
    from opencensus.stats import aggregation as aggregation_module
    from opencensus.stats import measure as measure_module
    from opencensus.stats import stats as stats_module
    from opencensus.stats import view as view_module
    from opencensus.tags import tag_map as tag_map_module
    
    stats = stats_module.stats
    view_manager = stats.view_manager
    stats_recorder = stats.stats_recorder
    
    prompt_measure = measure_module.MeasureInt("prompts",
                                               "number of prompts",
                                               "prompts")
    prompt_view = view_module.View("prompt view",
                                   "number of prompts",
                                   [],
                                   prompt_measure,
                                   aggregation_module.CountAggregation())
    view_manager.register_view(prompt_view)
    mmap = stats_recorder.new_measurement_map()
    tmap = tag_map_module.TagMap()
    
    def main():
        for _ in range(4):
            mmap.measure_int_put(prompt_measure, 1)
            mmap.record(tmap)
            metrics = list(mmap.measure_to_view_map.get_metrics(datetime.utcnow()))
            print(metrics[0].time_series[0].points[0])
    
    if __name__ == "__main__":
        main()
    
  2. Ölçümler birçok kez izlemek için oluşturulur. Her girişte değer artırılır ve ölçüm bilgileri konsolda görünür. Bilgiler, ölçümün güncelleştirildiği geçerli değeri ve geçerli zaman damgasını içerir.

    Point(value=ValueLong(5), timestamp=2019-10-09 20:58:04.930426)
    Point(value=ValueLong(6), timestamp=2019-10-09 20:58:05.170167)
    Point(value=ValueLong(7), timestamp=2019-10-09 20:58:05.438614)
    Point(value=ValueLong(7), timestamp=2019-10-09 20:58:05.834216)
    
  3. Değerlerin girilmesi tanıtım amacıyla yararlıdır, ancak ölçüm verilerini Azure İzleyici'ye yaymak istiyoruz. Bağlantı dizenizi doğrudan dışarı aktarıcıya geçirin. Alternatif olarak, ortam değişkeninde APPLICATIONINSIGHTS_CONNECTION_STRINGbelirtebilirsiniz. Application Insights'a telemetri göndermek için kullanılan dışarı aktarıcıların örneğini elde etmek için bağlantı dizesini kullanmanızı öneririz. Önceki adımda yer alan kodunuzu aşağıdaki kod örneğine göre değiştirin:

    from datetime import datetime
    from opencensus.ext.azure import metrics_exporter
    from opencensus.stats import aggregation as aggregation_module
    from opencensus.stats import measure as measure_module
    from opencensus.stats import stats as stats_module
    from opencensus.stats import view as view_module
    from opencensus.tags import tag_map as tag_map_module
    
    stats = stats_module.stats
    view_manager = stats.view_manager
    stats_recorder = stats.stats_recorder
    
    prompt_measure = measure_module.MeasureInt("prompts",
                                               "number of prompts",
                                               "prompts")
    prompt_view = view_module.View("prompt view",
                                   "number of prompts",
                                   [],
                                   prompt_measure,
                                   aggregation_module.CountAggregation())
    view_manager.register_view(prompt_view)
    mmap = stats_recorder.new_measurement_map()
    tmap = tag_map_module.TagMap()
    
    exporter = metrics_exporter.new_metrics_exporter()
    # Alternatively manually pass in the connection_string
    # exporter = metrics_exporter.new_metrics_exporter(connection_string='<appinsights-connection-string>')
    
    view_manager.register_exporter(exporter)
    
    def main():
        for _ in range(10):
            input("Press enter.")
            mmap.measure_int_put(prompt_measure, 1)
            mmap.record(tmap)
            metrics = list(mmap.measure_to_view_map.get_metrics(datetime.utcnow()))
            print(metrics[0].time_series[0].points[0])
    
    if __name__ == "__main__":
        main()
    
  4. Dışarı aktarıcı, ölçüm verilerini sabit bir aralıkta Azure İzleyici'ye gönderir. Application Insights arka ucu ölçüm noktalarının 60 saniyelik zaman aralığında toplandığını varsaydıkça bu değeri 60 saniye olarak ayarlamanız gerekir. Tek bir ölçümü izliyoruz, bu nedenle içerdiği değer ve zaman damgasına sahip bu ölçüm verileri her aralıkta gönderilir. Veriler kümülatiftir, yalnızca artabilir ve yeniden başlatmada 0'a sıfırlanır.

    Verileri altında customMetricsbulabilirsiniz, ancak customMetrics , , valueSumvalueMin, valueMaxve valueStdDev özellikleri valueCountetkin bir şekilde kullanılmaz.

Ölçümlerde özel boyutlar ayarlama

OpenCensus Python SDK'sı, anahtar-değer çiftlerinin sözlüğüne benzer şekilde kullanarak ölçüm telemetrinize tagsözel boyutlar eklemenize olanak tanır.

  1. Kullanmak istediğiniz etiketleri etiket haritasına ekleyin. Etiket haritası, kullanabileceğiniz tüm kullanılabilir etiketlerin bir tür "havuzu" gibi davranır.

    ...
    tmap = tag_map_module.TagMap()
    tmap.insert("url", "http://example.com")
    ...
    
  2. Belirli Viewbir için, etiket anahtarı aracılığıyla ölçümleri bu görünümle kaydederken kullanmak istediğiniz etiketleri belirtin.

    ...
    prompt_view = view_module.View("prompt view",
                                "number of prompts",
                                ["url"], # <-- A sequence of tag keys used to specify which tag key/value to use from the tag map
                                prompt_measure,
                                aggregation_module.CountAggregation())
    ...
    
  3. Ölçüm haritasında kayıt yaparken etiket haritasını kullandığınızdan emin olun. içinde View belirtilen etiket anahtarları, kaydetmek için kullanılan etiket eşlemesinde bulunmalıdır.

    ...
    mmap = stats_recorder.new_measurement_map()
    mmap.measure_int_put(prompt_measure, 1)
    mmap.record(tmap) # <-- pass the tag map in here
    ...
    
  4. tablosunun customMetrics altında, kullanılarak prompt_view yayılan tüm ölçüm kayıtlarının özel boyutları {"url":"http://example.com"}vardır.

  5. Aynı anahtarları kullanarak farklı değerlere sahip etiketler oluşturmak için, bunlar için yeni etiket eşlemeleri oluşturun.

    ...
    tmap = tag_map_module.TagMap()
    tmap2 = tag_map_module.TagMap()
    tmap.insert("url", "http://example.com")
    tmap2.insert("url", "https://www.wikipedia.org/wiki/")
    ...
    

Performans sayaçları

Varsayılan olarak, ölçümleri veren Azure İzleyici'ye bir performans sayaçları kümesi gönderir. Ölçüm dışarı aktarıcısının enable_standard_metrics oluşturucusunda bayrağını False olarak ayarlayarak bu özelliği devre dışı bırakabilirsiniz.

...
exporter = metrics_exporter.new_metrics_exporter(
  enable_standard_metrics=False,
  )
...

Şu anda aşağıdaki performans sayaçları gönderilmektedir:

  • Kullanılabilir Bellek (bayt)
  • CPU İşlemciSi Süresi (yüzde)
  • Gelen İstek Oranı (saniye başına)
  • Gelen İstek Ortalama Yürütme Süresi (milisaniye)
  • İşlem CPU Kullanımı (yüzde)
  • İşlem Özel Baytları (bayt)

Bu ölçümleri içinde performanceCountersgörebilmeniz gerekir. Daha fazla bilgi için bkz . Performans sayaçları.

Telemetriyi değiştirme

İzlenen telemetriyi Azure İzleyici'ye gönderilmeden önce değiştirme hakkında bilgi için bkz. OpenCensus Python telemetri işlemcileri.

İzleme

Not

OpenCensus'ta dağıtılmış tracingizlemeyi ifade eder. parametresi Azure İzleyici'ye AzureExporter telemetri gönderir ve dependency telemetriyi gönderirrequests.

  1. İlk olarak, yerel olarak bazı izleme verileri oluşturalım. Python IDLE veya tercih edilen düzenleyicinizde aşağıdaki kodu girin:

    from opencensus.trace.samplers import ProbabilitySampler
    from opencensus.trace.tracer import Tracer
    
    tracer = Tracer(sampler=ProbabilitySampler(1.0))
    
    def main():
        with tracer.span(name="test") as span:
            for value in range(5):
                print(value)
    
    
    if __name__ == "__main__":
        main()
    
  2. Her girişte değer kabuğa yazdırılır. OpenCensus Python modülü karşılık gelen bir parçasını SpanDataoluşturur. OpenCensus projesi, bir izlemeyi bir yayılma ağacı olarak tanımlar.

    0
    [SpanData(name='test', context=SpanContext(trace_id=8aa41bc469f1a705aed1bdb20c342603, span_id=None, trace_options=TraceOptions(enabled=True), tracestate=None), span_id='15ac5123ac1f6847', parent_span_id=None, attributes=BoundedDict({}, maxlen=32), start_time='2019-06-27T18:21:22.805429Z', end_time='2019-06-27T18:21:44.933405Z', child_span_count=0, stack_trace=None, annotations=BoundedList([], maxlen=32), message_events=BoundedList([], maxlen=128), links=BoundedList([], maxlen=32), status=None, same_process_as_parent_span=None, span_kind=0)]
    1
    [SpanData(name='test', context=SpanContext(trace_id=8aa41bc469f1a705aed1bdb20c342603, span_id=None, trace_options=TraceOptions(enabled=True), tracestate=None), span_id='2e512f846ba342de', parent_span_id=None, attributes=BoundedDict({}, maxlen=32), start_time='2019-06-27T18:21:44.933405Z', end_time='2019-06-27T18:21:46.156787Z', child_span_count=0, stack_trace=None, annotations=BoundedList([], maxlen=32), message_events=BoundedList([], maxlen=128), links=BoundedList([], maxlen=32), status=None, same_process_as_parent_span=None, span_kind=0)]
    2
    [SpanData(name='test', context=SpanContext(trace_id=8aa41bc469f1a705aed1bdb20c342603, span_id=None, trace_options=TraceOptions(enabled=True), tracestate=None), span_id='f3f9f9ee6db4740a', parent_span_id=None, attributes=BoundedDict({}, maxlen=32), start_time='2019-06-27T18:21:46.157732Z', end_time='2019-06-27T18:21:47.269583Z', child_span_count=0, stack_trace=None, annotations=BoundedList([], maxlen=32), message_events=BoundedList([], maxlen=128), links=BoundedList([], maxlen=32), status=None, same_process_as_parent_span=None, span_kind=0)]
    
  3. Çıkışı görüntülemek tanıtım amacıyla yararlıdır, ancak Azure İzleyici'ye yaymak SpanData istiyoruz. Bağlantı dizenizi doğrudan dışarı aktarıcıya geçirin. Alternatif olarak, ortam değişkeninde APPLICATIONINSIGHTS_CONNECTION_STRINGbelirtebilirsiniz. Application Insights'a telemetri göndermek için kullanılan dışarı aktarıcıların örneğini elde etmek için bağlantı dizesini kullanmanızı öneririz. Önceki adımda yer alan kodunuzu aşağıdaki kod örneğine göre değiştirin:

    from opencensus.ext.azure.trace_exporter import AzureExporter
    from opencensus.trace.samplers import ProbabilitySampler
    from opencensus.trace.tracer import Tracer
    
    tracer = Tracer(
        exporter=AzureExporter(),
        sampler=ProbabilitySampler(1.0),
    )
    # Alternatively manually pass in the connection_string
    # exporter = AzureExporter(
    #   connection_string='<appinsights-connection-string>',
    #   ...
    # )
    
    def main():
        with tracer.span(name="test") as span:
            for value in range(5):
                print(value)
    
    if __name__ == "__main__":
        main()
    
  4. Artık Python betiğini çalıştırdığınızda yalnızca değer kabukta yazdırılıyor. Oluşturulan SpanData , Azure İzleyici'ye gönderilir. Yayılan yayılma verilerini altında dependenciesbulabilirsiniz.

    Giden istekler hakkında daha fazla bilgi için bkz. OpenCensus Python bağımlılıkları. Gelen istekler hakkında daha fazla bilgi için bkz. OpenCensus Python istekleri.

Örnekleme

OpenCensus'ta örnekleme hakkında bilgi için bkz . OpenCensus'ta örnekleme.

bağıntıyı izleme

İzleme verilerinizdeki telemetri bağıntısı hakkında daha fazla bilgi için bkz. OpenCensus Python telemetri bağıntısı.

Telemetriyi değiştirme

İzlenen telemetriyi Azure İzleyici'ye gönderilmeden önce değiştirme hakkında daha fazla bilgi için bkz. OpenCensus Python telemetri işlemcileri.

Azure İzleyici dışarı verenlerini yapılandırma

Gösterildiği gibi, OpenCensus'ı destekleyen üç farklı Azure İzleyici dışarı aktarıcısı vardır. Her biri Azure İzleyici'ye farklı türlerde telemetri gönderir. Her bir verenin gönderdiği telemetri türlerini görmek için aşağıdaki tabloya bakın.

Her dışarı aktarıcı, oluşturucular aracılığıyla geçirilen yapılandırma için aynı bağımsız değişkenleri kabul eder. Her biri hakkında bilgileri burada görebilirsiniz:

dışarı aktarma telemetrisi Description
connection_string Azure İzleyici kaynağınıza bağlanmak için kullanılan bağlantı dizesi. yerine önceliğini instrumentation_keyalır.
credential Azure Active Directory kimlik doğrulaması tarafından kullanılan kimlik bilgisi sınıfı. Aşağıdaki "Kimlik Doğrulaması" bölümüne bakın.
enable_standard_metrics için AzureMetricsExporterkullanılır. Dışarıyı verene performans sayacı ölçümlerini otomatik olarak Azure İzleyici'ye göndermesi için sinyal gönderir. varsayılan olarak Trueayarlanır.
export_interval Dışarı aktarma işleminin saniye cinsinden sıklığını belirtmek için kullanılır. varsayılan olarak 15sayarlanır. Ölçümler için bunu 60 saniye olarak ayarlamanız GEREKIR, aksi durumda ölçüm toplamalarınız ölçüm gezgininde anlamlı olmaz.
grace_period Dışarı verenlerin saniyeler içinde kapatılması için zaman aşımını belirtmek için kullanılır. varsayılan olarak 5sayarlanır.
instrumentation_key Azure İzleyici kaynağınıza bağlanmak için kullanılan izleme anahtarı.
logging_sampling_rate ve AzureEventHandleriçin AzureLogHandler kullanılır. Günlükleri/olayları dışarı aktarmak için örnekleme oranı [0,1,0] sağlar. varsayılan olarak 1.0ayarlanır.
max_batch_size Bir kerede dışarı aktarılan en büyük telemetri boyutunu belirtir.
proxies Azure İzleyici'ye veri göndermek için kullanılacak proxy dizisini belirtir. Daha fazla bilgi için bkz. proxy'ler.
storage_path Yerel depolama klasörünün bulunduğu yol (atanmamış telemetri). opencensus-ext-azure v1.0.3 itibarıyla varsayılan yol, işletim sistemi geçici dizini + opencensus-python + your-ikeyşeklindedir. v1.0.3'e başlamadan önce varsayılan yol şeklindedir$USER.azure + python-file-name.opencensus + + .
timeout Telemetriyi alma hizmetine saniyeler içinde göndermek için ağ zaman aşımını belirtir. varsayılan olarak 10sayarlanır.

Azure İşlevleri ile tümleştirme

Azure İşlevleri ortamlarda özel telemetri yakalamak için OpenCensus Python Azure İşlevleri uzantısını kullanın. Daha fazla bilgi için bkz. Azure İşlevleri Python geliştirici kılavuzu.

Kimlik doğrulaması (önizleme)

Not

Kimlik doğrulama özelliği v1.1b0'den opencensus-ext-azure itibaren kullanılabilir.

Azure İzleyici dışarı aktarmalarının her biri, Azure Active Directory ile OAuth kimlik doğrulaması aracılığıyla güvenli bir şekilde telemetri yükleri gönderme yapılandırmasını destekler. Daha fazla bilgi için Kimlik doğrulama belgelerine bakın.

Sorgularla verilerinizi görüntüleme

Uygulamanızdan gönderilen telemetri verilerini Günlükler (Analiz) sekmesinden görüntüleyebilirsiniz.

Günlükler (Analiz) sekmesinin seçili olduğu Genel Bakış bölmesinin ekran görüntüsü.

Etkin altındaki listede:

  • Azure İzleyici izleme dışarı aktarma ile gönderilen telemetri için, gelen istekler altında requestsgörünür. Giden veya işlem içi istekler altında dependenciesgörünür.
  • Azure İzleyici ölçümlerini veren ile gönderilen telemetri için gönderilen ölçümler altında customMetricsgörünür.
  • Azure İzleyici günlükleri dışarı aktarma ile gönderilen telemetri için günlükler altında tracesgörünür. altında özel durumlar görünür exceptions.

Sorguları ve günlükleri kullanma hakkında daha fazla bilgi için bkz. Azure İzleyici'deki günlükler.

Python için OpenCensus hakkında daha fazla bilgi edinin

Sorun giderme

Uygulama konağınızla alma hizmeti arasındaki bağlantıyı test etme

Application Insights SDK'ları ve aracıları, alma uç noktalarımıza REST çağrıları olarak veri alımı için telemetri gönderir. PowerShell veya curl komutlarından ham REST istemcilerini kullanarak web sunucunuzdan veya uygulama konak makinenizden alma hizmeti uç noktalarına bağlantıyı test edebilirsiniz. Bkz . Azure İzleyici Application Insights'ta eksik uygulama telemetrisi sorunlarını giderme.

Sürüm Notları

En son sürüm notları için bkz . Python Azure İzleyici Exporter

Service Güncelleştirmeler ayrıca önemli Application Insights geliştirmelerini özetler.

Sonraki adımlar

Uyarılar

  • Kullanılabilirliğe genel bakış: Sitenizin web'de görünür olduğundan emin olmak için testler oluşturun.
  • Akıllı tanılama: Bu testler otomatik olarak çalıştığından, bunları ayarlamak için herhangi bir şey yapmanız gerekmez. Uygulamanızda olağan dışı oranda başarısız istek olup olmadığını bildirirler.
  • Ölçüm uyarıları: Bir ölçümün eşiği aşması durumunda sizi uyaracak uyarılar ayarlayın. Bunları, uygulamanıza kodladığınız özel ölçümlerde ayarlayabilirsiniz.