Menyiapkan Azure Monitor untuk aplikasi Python Anda

Azure Monitor mendukung pelacakan terdistribusi, pengumpulan metrik, dan pengelogan aplikasi Python.

Solusi Microsoft yang didukung untuk melacak dan mengekspor data untuk aplikasi Python Anda adalah melalui SDK Opencensus Python melalui pengekspor Azure Monitor.

SDK telemetri lainnya untuk Python TIDAK DIDUKUNG dan TIDAK disarankan oleh Microsoft untuk digunakan sebagai solusi telemetri.

Anda mungkin telah mencatat bahwa OpenCensus menyatu menjadi OpenTelemetry. Namun, kami terus menyarankan OpenCensus sementara OpenTelemetry secara bertahap matang.

Prasyarat

  • Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
  • Penginstalan Python. Artikel ini menggunakan Python 3.7.0, meskipun versi lain kemungkinan akan berfungsi dengan sedikit perubahan. SDK Opencensus Python hanya mendukung Python v2.7 dan v3.4+.
  • Buat sumber daya Application Insights. Anda akan diberi kunci instrumentasi Anda sendiri (ikey) untuk sumber daya Anda.

Memperkenalkan SDK Opencensus Python

OpenCensus adalah kumpulan pustaka sumber terbuka untuk memungkinkan pengumpulan pelacakan terdistribusi, metrik, dan telemetri pengelogan. Melalui penggunaan pengekspor Azure Monitor, Anda akan dapat mengirim telemetri yang dikumpulkan ini ke wawasan Aplikasi. Artikel ini memandu Anda melalui proses penyiapan OpenCensus dan Azure Monitor Exporters untuk Python guna mengirim data pemantauan Anda ke Azure Monitor.

Instrumen dengan SDK OpenCensus Python dengan pengekspor Azure Monitor

Instal pengekspor OpenCensus Azure Monitor:

python -m pip install opencensus-ext-azure

Catatan

Perintah python -m pip install opencensus-ext-azure mengasumsikan bahwa Anda memiliki kumpulan variabel lingkungan PATH untuk penginstalan Python Anda. Jika Anda belum mengonfigurasi variabel ini, Anda perlu memberikan jalur direktori lengkap ke tempat yang dapat dieksekusi Python Anda berada. Hasilnya adalah perintah seperti ini: C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\python.exe -m pip install opencensus-ext-azure.

SDK menggunakan tiga pengekspor Azure Monitor untuk mengirim berbagai jenis telemetri ke Azure Monitor. Pengekspor tersebut adalah jejak, metrik, dan log. Untuk informasi selengkapnya tentang jenis telemetri ini, lihat ringkasan platform data. Gunakan petunjuk berikut untuk mengirim jenis telemetri ini melalui tiga pengekspor.

Pemetaan jenis telemetri

Berikut adalah pengekspor yang disediakan OpenCensus yang dipetakan ke jenis telemetri yang Anda lihat di Azure Monitor.

Pilar pengamatan Jenis telemetri di Azure Monitor Penjelasan
Log Jejak, pengecualian, customEvents Log telemetri, telemetri pengecualian, telemetri acara
Metrik customMetrics, performanceCounters Penghitung kinerja metrik kustom
Menelusuri Dependensi permintaan Permintaan masuk, permintaan keluar

Log

  1. Pertama, mari buat beberapa data log lokal.

    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. Kode terus meminta nilai untuk dimasukkan. Entri log dikeluarkan untuk setiap nilai yang dimasukkan.

    Enter a value: 24
    24
    Enter a value: 55
    55
    Enter a value: 123
    123
    Enter a value: 90
    90
    
  3. Meskipun memasukkan nilai sangat membantu untuk tujuan demonstrasi, pada akhirnya kita ingin mengeluarkan data log ke Azure Monitor. Lewati string koneksi Anda langsung ke eksportir. Atau, Anda dapat menentukannya dalam variabel lingkungan, APPLICATIONINSIGHTS_CONNECTION_STRING. Sebaiknya gunakan string koneksi untuk instantiate eksportir yang digunakan untuk mengirim telemetri ke Aplikasi Insights. Ubah kode Anda dari langkah sebelumnya berdasarkan sampel kode berikut:

    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. Pengekspor mengirim data log ke Azure Monitor. Anda dapat menemukan data pada traces.

    Catatan

    Dalam konteks ini, traces tidak sama dengan tracing. Di sini, traces mengacu pada jenis telemetri yang akan Anda lihat di Azure Monitor saat Anda menggunakan AzureLogHandler. Tetapi tracing mengacu pada konsep di OpenCensus dan berkaitan dengan penelusuran tracing

    Catatan

    Pencatat akar dikonfigurasi dengan tingkat PERINGATAN. Artinya, setiap log yang Anda kirim yang memiliki tingkat keparahan yang lebih rendah akan diabaikan, dan pada gilirannya, tidak akan dikirim ke Azure Monitor. Untuk informasi selengkapnya, lihat dokumentasi.

  5. Anda juga dapat menambahkan properti kustom ke pesan log Anda dalam argumen kata kunci tambahan menggunakan bidang custom_dimensions. Properti ini muncul sebagai pasangan kunci-nilai di customDimensions di Azure Monitor.

    Catatan

    Agar fitur ini berfungsi, Anda perlu meneruskan kamus ke bidang custom_dimensions. Jika Anda meneruskan argumen dari jenis lain, pencatat akan mengabaikannya.

    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)
    

Catatan

Sebagai bagian dari penggunaan instrumentasi Application Insights, kami mengumpulkan dan mengirim data diagnostik ke Microsoft. Data ini membantu kami menjalankan dan meningkatkan Application Insights. Anda memiliki opsi untuk menonaktifkan pengumpulan data yang tidak penting. Pelajari Lebih Lanjut.

Mengonfigurasi pengelogan untuk aplikasi Django

Anda dapat mengonfigurasi pengelogan secara eksplisit di kode aplikasi seperti di atas untuk aplikasi Django Anda, atau Anda dapat menentukannya dalam konfigurasi pengelogan Django. Kode ini dapat masuk ke file apa pun yang Anda gunakan untuk konfigurasi pengaturan Django. Untuk cara mengonfigurasi pengaturan Django, lihat Pengaturan Django. Untuk informasi selengkapnya tentang mengonfigurasi pengelogan, lihat Pengelogan Django.

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"]},
    },
}

Pastikan Anda menggunakan pencatat dengan nama yang sama dengan yang ditentukan dalam konfigurasi Anda.

import logging

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

Mengirim pengecualian

OpenCensus Python tidak secara otomatis melacak dan mengirim telemetri exception. Telemetri dikirim melalui AzureLogHandler menggunakan pengecualian melalui pustaka pengelogan Python. Anda dapat menambahkan properti kustom seperti halnya dengan pengelogan normal.

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)

Karena Anda harus mencatat pengecualian secara eksplisit, terserah pengguna bagaimana mereka ingin mencatat pengecualian yang tidak tertangani. OpenCensus tidak menempatkan pembatasan tentang bagaimana pengguna ingin melakukannya, selama mereka secara eksplisit mencatat telemetri pengecualian.

Mengirim peristiwa

Anda dapat mengirim telemetri customEvent dengan cara yang sama persis seperti Anda mengirim telemetri trace kecuali menggunakan AzureEventHandler sebagai gantinya.

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!')

Pengambilan sampel

Untuk informasi tentang pengambilan sampel di OpenCensus, lihat pengambilan sampel di OpenCensus.

Korelasi log

Untuk detail tentang cara memperkaya log Anda dengan data konteks jejak, lihat Integrasi log OpenCensus Python.

Mengubah telemetri

Untuk detail tentang cara mengubah telemetri terlacak sebelum dikirim ke Azure Monitor, lihat prosesor telemetri OpenCensus Python.

Metrik

OpenCensus.stats mendukung 4 metode agregasi tetapi memberikan dukungan parsial untuk Azure Monitor:

  • Count: Jumlah titik pengukuran. Nilainya kumulatif, hanya dapat meningkatkan dan mengatur ulang ke 0 saat menghidupkan ulang.
  • Sum: Sejumlah titik pengukuran. Nilainya kumulatif, hanya dapat meningkatkan dan mengatur ulang ke 0 saat menghidupkan ulang.
  • LastValue: Menyimpan nilai terakhir yang direkam, menghilangkan segala sesuatu yang lain.
  • Distribution: Distribusi histogram dari titik pengukuran. Metode ini TIDAK didukung oleh Azure Exporter.

Contoh Hitungan Agregasi

  1. Pertama, mari buat beberapa data metrik lokal. Kita akan membuat metrik sederhana untuk melacak berapa kali pengguna memilih tombol Enter.

    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. Menjalankan kode berulang kali akan meminta Anda untuk memilih Enter. Metrik dibuat untuk melacak berapa kali Enter dipilih. Dengan setiap entri, nilainya bertahap dan informasi metrik muncul di konsol. Informasi ini mencakup nilai saat ini dan tanda waktu saat ini ketika metrik diperbarui.

    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. Meskipun memasukkan nilai sangat membantu untuk tujuan demonstrasi, pada akhirnya kita ingin mengeluarkan data metrik ke Azure Monitor. Lewati string koneksi Anda langsung ke eksportir. Atau, Anda dapat menentukannya dalam variabel lingkungan, APPLICATIONINSIGHTS_CONNECTION_STRING. Sebaiknya gunakan string koneksi untuk instantiate eksportir yang digunakan untuk mengirim telemetri ke Aplikasi Insights. Ubah kode Anda dari langkah sebelumnya berdasarkan sampel kode berikut:

    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. Pengekspor mengirim data metrik ke Azure Monitor pada interval tetap. Defaultnya adalah setiap 15 detik. Satu metrik dilacak, jadi data metrik ini, dengan nilai dan tanda waktu apa pun yang dikandungnya, dikirim setiap interval. Nilainya kumulatif, hanya dapat meningkatkan dan mengatur ulang ke 0 saat menghidupkan ulang. Anda dapat menemukan data pada customMetrics, tetapi properti customMetrics valueCount, valueSum, valueMin, valueMax, dan valueStdDev tidak digunakan secara efektif.

Mengatur dimensi kustom dalam metrik

SDK Opencensus Python memungkinkan penambahan dimensi kustom ke telemetri metrik Anda dengan cara tags, yang pada dasarnya merupakan kamus pasangan kunci/nilai.

  1. Sisipkan tag yang ingin Anda gunakan ke dalam peta tag. Peta tag bertindak seperti semacam "kumpulan" dari semua tag yang tersedia yang dapat Anda gunakan.

    ...
    tmap = tag_map_module.TagMap()
    tmap.insert("url", "http://example.com")
    ...
    
  2. Untuk tertentu View, tentukan tag yang ingin Anda gunakan saat merekam metrik dengan tampilan tersebut melalui kunci tag.

    ...
    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. Pastikan untuk menggunakan peta tag saat merekam di peta pengukuran. Kunci tag yang ditentukan dalam View harus ditemukan di peta tag yang digunakan untuk merekam.

    ...
    mmap = stats_recorder.new_measurement_map()
    mmap.measure_int_put(prompt_measure, 1)
    mmap.record(tmap) # <-- pass the tag map in here
    ...
    
  4. Pada tabel customMetrics, semua rekaman metrik yang dikeluarkan menggunakan prompt_view akan memiliki dimensi kustom {"url":"http://example.com"}.

  5. Untuk menghasilkan tag dengan nilai yang berbeda menggunakan kunci yang sama, buat peta tag baru untuk tag tersebut.

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

Penghitung kinerja

Secara default, pengekspor metrik mengirimkan kumpulan penghitung performa ke Azure Monitor. Anda dapat menonaktifkannya dengan mengatur bendera enable_standard_metrics ke False dalam konstruktor pengekspor metrik.

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

Penghitung performa ini saat ini dikirim:

  • Memori yang Tersedia (byte)
  • Waktu Prosesor CPU (persentase)
  • Tingkat Permintaan Masuk (per detik)
  • Waktu Eksekusi Rata-Rata Permintaan Masuk (milidetik)
  • Proses Penggunaan CPU (persentase)
  • Proses Byte Privat (byte)

Anda seharusnya dapat melihat metrik ini di performanceCounters. Untuk informasi selengkapnya, lihat penghitung performa.

Mengubah telemetri

Untuk detail tentang cara mengubah telemetri terlacak sebelum dikirim ke Azure Monitor, lihat prosesor telemetri OpenCensus Python.

Menelusuri

Catatan

Di OpenCensus, tracing mengacu pada tracing AzureExportermengirim requests dan telemetri dependency ke Azure Monitor.

  1. Pertama, mari buat beberapa data jejak secara lokal. Di Python IDLE, atau editor pilihan Anda, masukkan kode berikut:

    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. Menjalankan kode berulang kali akan meminta Anda untuk memasukkan nilai. Dengan setiap entri, nilai dicetak ke shell. Modul OpenCensus Python menghasilkan bagian yang sesuai dari SpanData. Proyek OpenCensus menentukan jejak sebagai pohon rentang.

    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. Meskipun memasukkan nilai sangat membantu untuk tujuan demonstrasi, pada akhirnya kita ingin mengeluarkan SpanData ke Azure Monitor. Lewati string koneksi Anda langsung ke eksportir. Atau, Anda dapat menentukannya dalam variabel lingkungan, APPLICATIONINSIGHTS_CONNECTION_STRING. Sebaiknya gunakan string koneksi untuk instantiate eksportir yang digunakan untuk mengirim telemetri ke Aplikasi Insights. Ubah kode Anda dari langkah sebelumnya berdasarkan sampel kode berikut:

    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. Sekarang saat Anda menjalankan skrip Python, Anda masih harus diminta untuk memasukkan nilai, tetapi hanya nilai yang sedang dicetak di shell. SpanData yang dibuat dikirim ke Azure Monitor. Anda dapat menemukan data rentang yang dikeluarkan di dependencies. Untuk informasi selengkapnya tentang permintaan keluar, lihat dependensi OpenCensus Python. Untuk informasi selengkapnya tentang permintaan masuk, lihat permintaan OpenCensus Python.

Pengambilan sampel

Untuk informasi tentang pengambilan sampel di OpenCensus, lihat pengambilan sampel di OpenCensus.

Korelasi jejak

Untuk informasi selengkapnya tentang korelasi telemetri dalam data jejak Anda, lihat korelasi telemetriOpenCensus Python.

Mengubah telemetri

Untuk detail tentang cara mengubah telemetri terlacak sebelum dikirim ke Azure Monitor, lihat prosesor telemetri OpenCensus Python.

Mengonfigurasi pengekspor Azure Monitor

Seperti yang ditunjukkan, ada tiga pengekspor Azure Monitor berbeda yang mendukung OpenCensus. Masing-masing mengirimkan berbagai jenis telemetri ke Azure Monitor. Untuk melihat jenis telemetri apa yang dikirim setiap pengekspor, lihat daftar berikut ini.

Setiap pengekspor menerima argumen yang sama untuk konfigurasi, melewati konstruktor. Anda dapat melihat detailnya di sini:

  • connection_string: String koneksi yang digunakan untuk menyambungkan ke sumber daya Azure Monitor Anda. Mengutamakan instrumentation_key.
  • enable_standard_metrics: Digunakan untuk AzureMetricsExporter. Memberi sinyal kepada pengekspor untuk mengirim metrik penghitung performa secara otomatis ke Azure Monitor. Default ke True.
  • export_interval: Digunakan untuk menentukan frekuensi dalam detik ekspor.
  • instrumentation_key: Kunci instrumentasi yang digunakan untuk menyambungkan ke sumber daya Azure Monitor Anda.
  • logging_sampling_rate: Digunakan untuk AzureLogHandler. Menyediakan laju pengambilan sampel [0,1,0] untuk mengekspor log. Default ke 1.0.
  • max_batch_size: Menentukan ukuran maksimum telemetri yang diekspor sekaligus.
  • proxies: Menentukan urutan proksi yang akan digunakan untuk mengirim data ke Azure Monitor. Untuk informasi selengkapnya, lihat proksi.
  • storage_path: Jalur ke tempat folder penyimpanan lokal ada (telemetri tidak terkirim). Pada opencensus-ext-azure v1.0.3, jalur default adalah direktori temp OS + opencensus-python + your-ikey. Sebelum v1.0.3, jalur default adalah $USER + .opencensus + .azure + python-file-name.

Autentikasi (pratinjau)

Catatan

Fitur autentikasi tersedia mulai dari opencensus-ext-azure v1.1b0

Masing-masing eksportir Azure Monitor mendukung konfigurasi pengiriman muatan telemetri dengan aman melalui autentikasi OAuth dengan Azure Active Directory (AAD). Untuk informasi selengkapnya, lihat dokumentasi Autentikasi.

Menampilkan data Anda dengan kueri

Anda dapat menampilkan data telemetri yang dikirim dari aplikasi Anda melalui tab Log (Analitik) .

Cuplikan layar panel ringkasan dengan

Dalam daftar padaAktif:

  • Untuk telemetri yang dikirim dengan pengekspor pelacakan Azure Monitor, permintaan masuk muncul di requests. Permintaan keluar atau dalam proses muncul di dependencies.
  • Untuk telemetri yang dikirim dengan pengekspor metrik Azure Monitor, metrik terkirim muncul di customMetrics.
  • Untuk telemetri yang dikirim dengan pengekspor log Azure Monitor, log muncul di traces. Pengecualian muncul di exceptions.

Untuk informasi selengkapnya tentang cara menggunakan kueri dan log, lihat Log di Azure Monitor.

Pelajari selengkapnya tentang OpenCensus untuk Python

Langkah berikutnya

Peringatan

  • Uji ketersediaan: Buat pengujian untuk memastikan situs Anda terlihat di web.
  • Diagnostik cerdas: Pengujian ini berjalan secara otomatis, jadi Anda tidak perlu melakukan apa pun untuk meyiapkannya. Pengujian memberi tahu Anda jika aplikasi Anda memiliki tingkat permintaan yang gagal yang tidak biasa.
  • Pemberitahuan metrik: Atur pemberitahuan untuk memperingatkan Anda jika metrik melewati ambang batas. Anda dapat mengaturnya di metrik kustom yang Anda kodekan ke dalam aplikasi Anda.