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

Azure İzleyici, Python uygulamalarının dağıtılmış izlemeyi, ölçüm toplamayı 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.

Python için diğer telemetri SDK'ları desteklenmez ve Microsoft tarafından telemetri çözümü olarak kullanılması önerilmez.

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

Not

OpenTelemetry tabanlı python teklifinin önizlemesini kullanabilirsiniz. Daha fazla bilgi edinmek için bkz. OpenTelemetry'ye genel bakış.

Ön koş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ştirme 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 telemetrisinin toplanmasına 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 makale, izleme verilerinizi Azure İzleyici'ye göndermek üzere Python için OpenCensus ve Azure İzleyici dışarı aktarmalarını ayarlama işleminde size yol gösterir.

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

OpenCensus Azure İzleyici verenlerini yükleyin:

python -m pip install opencensus-ext-azure

SDK, Azure İzleyici'ye farklı türlerde telemetri göndermek için üç Azure İzleyici vereni kullanır. Bunlar , metricsve logsşeklindedirtrace. 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özlemlenebilirlik sütunu 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 valuePrompt():
        line = input("Enter a value: ")
        logger.warning(line)
    
    def main():
        while True:
            valuePrompt()
    
    if __name__ == "__main__":
        main()
    
  2. Kod sürekli olarak bir değer girilmesi istenir. Girilen her değer için bir günlük girdisi gösterilir.

    Enter a value: 24
    24
    Enter a value: 55
    55
    Enter a value: 123
    123
    Enter a value: 90
    90
    
  3. Değerlerin girilmesi tanıtım amacıyla yararlıdır, ancak günlük 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:

    import logging
    from opencensus.ext.azure.log_exporter import AzureLogHandler
    
    logger = logging.getLogger(__name__)
    
    # TODO: replace the all-zero GUID with your instrumentation key.
    logger.addHandler(AzureLogHandler(
        connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000')
    )
    # You can also instantiate the exporter directly if you have the environment variable
    # `APPLICATIONINSIGHTS_CONNECTION_STRING` configured
    # logger.addHandler(AzureLogHandler())
    
    def valuePrompt():
        line = input("Enter a value: ")
        logger.warning(line)
    
    def main():
        while True:
            valuePrompt()
    
    if __name__ == "__main__":
        main()
    
  4. Dışarı aktarma, günlük verilerini Azure İzleyici'ye gönderir. Verileri altında tracesbulabilirsiniz.

    Bu bağlamda, traces ile aynı tracingdeğildir. Burada, traces kullandığınızda AzureLogHandlerAzure İzleyici'de göreceğiniz 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. Bu, gönderdiğiniz ve daha az önem derecesine sahip günlüklerin yoksayıldığı ve buna karşılık Azure İzleyici'ye gönderilmeyeceği anlamına gelir. Daha fazla bilgi için bkz. Günlüğe kaydetme belgeleri.

  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 sözlüğe 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__)
    # TODO: replace the all-zero GUID with your instrumentation key.
    logger.addHandler(AzureLogHandler(
        connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000')
    )
    
    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 toplar ve 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ı, Django uygulamalarınız için önceki gibi uygulama kodunuzda açıkça yapılandırabilir veya Django'nun günlük yapılandırmasında belirtebilirsiniz. Bu kod, Django 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",
            "instrumentation_key": "<your-ikey-here>",
         },
        "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.

import logging

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

Özel durum 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ıyla yaptığınız gibi özel özellikler ekleyebilirsiniz.

import logging

from opencensus.ext.azure.log_exporter import AzureLogHandler

logger = logging.getLogger(__name__)
# TODO: replace the all-zero GUID with your instrumentation key.
logger.addHandler(AzureLogHandler(
    connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000')
)

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 kullanmak AzureEventHandler dışında, telemetriyi gönderdiğiniz trace şekilde gönderebilirsiniz.

import logging

from opencensus.ext.azure.log_exporter import AzureEventHandler

logger = logging.getLogger(__name__)
logger.addHandler(AzureEventHandler(connection_string='InstrumentationKey=<your-instrumentation_key-here>'))
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şlatmada 0'a sıfırlanır.
  • Toplam: Ölçü noktalarının toplamı. Değer kümülatiftir, yalnızca artabilir ve yeniden başlatmada 0'a sıfırlanır.
  • LastValue: Kaydedilen son değeri tutar ve diğer her şeyi bırakır.
  • Dağılım: Ölçüm noktalarının histogram dağılımı. Bu yöntem Azure dışarıyı veren tarafından desteklenmez.

Toplamayı say örneği

  1. İlk olarak bazı yerel ölçüm verileri oluşturalım. Kullanıcının Enter tuşunu kaç kez seçtiğini izlemek için bir ölçüm oluşturacağız.

    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 prompt():
        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])
    
    def main():
        while True:
            prompt()
    
    if __name__ == "__main__":
        main()
    
  2. Kodu tekrar tekrar çalıştırmak , Enter'ı seçmenizi ister. Enter'ın kaç kez seçildiğini izlemek için bir ölçüm 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.

    Press enter.
    Point(value=ValueLong(5), timestamp=2019-10-09 20:58:04.930426)
    Press enter.
    Point(value=ValueLong(6), timestamp=2019-10-09 20:58:06.570167)
    Press enter.
    Point(value=ValueLong(7), timestamp=2019-10-09 20:58:07.138614)
    
  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. Veya bunu bir ortam değişkeninde belirtebilirsiniz: APPLICATIONINSIGHTS_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:

    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()
    
    # TODO: replace the all-zero GUID with your instrumentation key.
    exporter = metrics_exporter.new_metrics_exporter(
        connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000')
    # You can also instantiate the exporter directly if you have the environment variable
    # `APPLICATIONINSIGHTS_CONNECTION_STRING` configured
    # exporter = metrics_exporter.new_metrics_exporter()
    
    view_manager.register_exporter(exporter)
    
    def prompt():
        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])
    
    def main():
        while True:
            prompt()
    
    if __name__ == "__main__":
        main()
    
  4. Dışarı aktarma, ölçüm verilerini sabit bir aralıkta Azure İzleyici'ye gönderir. Varsayılan değer her 15 saniyede birdir. Dışarı aktarma aralığını değiştirmek için saniye cinsinden export_interval parametresini öğesine geçirin new_metrics_exporter(). Tek bir ölçümü izliyoruz, bu nedenle içerdiği değer ve zaman damgasına sahip bu ölçüm verileri her zaman gönderilir. Değer kümülatiftir, yalnızca artabilir ve yeniden başlatıldığında 0'a sıfırlanır.

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

Ölçümlerde özel boyutlar ayarlama

OpenCensus Python SDK'sı, kullanarak ölçüm telemetrinize tagsanahtar-değer çiftleri sözlüğü gibi ö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"}olacaktır.

  5. Aynı anahtarları kullanarak farklı değerlere sahip etiketler üretmek 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 dizi performans sayacı gönderir. Ölçüm dışarı aktarıcısının oluşturucusunda bayrağını enable_standard_metricsFalse olarak ayarlayarak bu özelliği devre dışı bırakabilirsiniz.

...
exporter = metrics_exporter.new_metrics_exporter(
  enable_standard_metrics=False,
  connection_string='InstrumentationKey=<your-instrumentation-key-here>')
...

Ş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önderirrequests.dependency

  1. İlk olarak, yerel olarak bazı izleme verileri oluşturalım. Python IDLE'da veya seçtiğiniz düzenleyicide aşağıdaki kodu girin:

    from opencensus.trace.samplers import ProbabilitySampler
    from opencensus.trace.tracer import Tracer
    
    tracer = Tracer(sampler=ProbabilitySampler(1.0))
    
    def valuePrompt():
        with tracer.span(name="test") as span:
            line = input("Enter a value: ")
            print(line)
    
    def main():
        while True:
            valuePrompt()
    
    if __name__ == "__main__":
        main()
    
  2. Kodu tekrar tekrar çalıştırmak bir değer girmenizi ister. Her girdide, 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 yayma ağacı olarak tanımlar.

    Enter a value: 4
    4
    [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)]
    Enter a value: 25
    25
    [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)]
    Enter a value: 100
    100
    [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. Değerlerin girilmesi 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. Veya bunu bir ortam değişkeninde belirtebilirsiniz: APPLICATIONINSIGHTS_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:

    from opencensus.ext.azure.trace_exporter import AzureExporter
    from opencensus.trace.samplers import ProbabilitySampler
    from opencensus.trace.tracer import Tracer
    
    # TODO: replace the all-zero GUID with your instrumentation key.
    tracer = Tracer(
        exporter=AzureExporter(
            connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000'),
        sampler=ProbabilitySampler(1.0),
    )
    # You can also instantiate the exporter directly if you have the environment variable
    # `APPLICATIONINSIGHTS_CONNECTION_STRING` configured
    # exporter = AzureExporter()
    
    def valuePrompt():
        with tracer.span(name="test") as span:
            line = input("Enter a value: ")
            print(line)
    
    def main():
        while True:
            valuePrompt()
    
    if __name__ == "__main__":
        main()
    
  4. Artık Python betiğini çalıştırdığınızda yine de değerleri girmeniz istenir, ancak kabukta yalnızca değer yazdırılır. Oluşturulan SpanData , Azure İzleyici'ye gönderilir. Yayılan span 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ıyı verenleri yapılandırma

Gösterildiği gibi, OpenCensus'u destekleyen üç farklı Azure İzleyici dışarı aktarıcısı vardır. Her biri Azure İzleyici'ye farklı türlerde telemetri gönderir. Her bir dışarı aktarmanın 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 olarak Truegösterilir.
export_interval Dışarı aktarma işleminin saniye cinsinden sıklığını belirtmek için kullanılır. Varsayılan olarak olarak 15sgösterilir.
grace_period Saniyeler içinde dışarı verenlerin kapatılması için zaman aşımını belirtmek için kullanılır. Varsayılan olarak olarak 5sgösterilir.
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 olarak 1.0gösterilir.
max_batch_size Aynı anda dışarı aktarılan en büyük telemetri boyutunu belirtir.
proxies Azure İzleyici'ye veri göndermek için kullanılacak ara sunucu dizisini belirtir. Daha fazla bilgi için bkz. proxy'ler.
storage_path Yerel depolama klasörünün bulunduğu yol (telemetrisi atanmamış). 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 Alma hizmetine telemetri göndermek için ağ zaman aşımını saniyeler içinde belirtir. Varsayılan olarak olarak 10sgösterilir.

Azure İşlevleri ile tümleştirme

Azure İşlevleri ortamlarında özel telemetriyi 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ğrulaması belgelerine bakın.

Sorgularla verilerinizi görüntüleme

Uygulamanızdan gönderilen telemetri verilerini Günlükler (Analiz) sekmesi aracılığıyla 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çümleri dışarı aktarma 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 exceptionsözel durumlar görünür.

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 almak için telemetri gönderir. PowerShell veya curl komutlarından ham REST istemcilerini kullanarak web sunucunuzdan veya uygulama konak makinenizden alım hizmeti uç noktalarına bağlantıyı test edebilirsiniz. Bkz . Azure İzleyici Application Insights'ta eksik uygulama telemetrisi sorunlarını giderme.

Sonraki adımlar

Uyarılar

  • Kullanılabilirlik testleri: Sitenizin web’de görünür olduğundan emin olmaya yönelik 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.