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 , metrics
ve 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
İ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()
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
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çineAzureLogHandler
de 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}")
Dışarı aktarma, günlük verilerini Azure İzleyici'ye gönderir. Verileri altında
traces
bulabilirsiniz.Bu bağlamda ile
traces
aynıtracing
değildir. Burada,traces
kullandığınızdaAzureLogHandler
Azure İzleyici'de gördüğünüz telemetri türüne başvurur. Ancaktracing
OpenCensus'taki bir kavramı ifade eder ve dağıtılmış izlemeyle ilgilidir.Not
Kök günlükçü düzeyiyle
warning
yapı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.Alanını kullanarak
custom_dimensions
anahtar sözcük bağımsız değişkenindekiextra
günlük iletilerinize özel özellikler de ekleyebilirsiniz. Bu özellikler Azure İzleyici'decustomDimensions
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.py
Django 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
İ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()
Ö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)
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_STRING
belirtebilirsiniz. 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()
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
customMetrics
bulabilirsiniz, ancakcustomMetrics
, ,valueSum
valueMin
,valueMax
vevalueStdDev
özelliklerivalueCount
etkin 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.
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") ...
Belirli
View
bir 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()) ...
Ö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 ...
tablosunun
customMetrics
altında, kullanılarakprompt_view
yayılan tüm ölçüm kayıtlarının özel boyutları{"url":"http://example.com"}
vardır.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 performanceCounters
gö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ış tracing
izlemeyi ifade eder. parametresi Azure İzleyici'ye AzureExporter
telemetri gönderir ve dependency
telemetriyi gönderirrequests
.
İ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()
Her girişte değer kabuğa yazdırılır. OpenCensus Python modülü karşılık gelen bir parçasını
SpanData
oluş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)]
Çı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şkenindeAPPLICATIONINSIGHTS_CONNECTION_STRING
belirtebilirsiniz. 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()
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ındadependencies
bulabilirsiniz.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_key alı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 AzureMetricsExporter kullanı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 True ayarlanır. |
export_interval |
Dışarı aktarma işleminin saniye cinsinden sıklığını belirtmek için kullanılır. varsayılan olarak 15s ayarlanı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 5s ayarlanır. |
instrumentation_key |
Azure İzleyici kaynağınıza bağlanmak için kullanılan izleme anahtarı. |
logging_sampling_rate |
ve AzureEventHandler iç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.0 ayarlanı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 10s ayarlanı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.
Etkin altındaki listede:
- Azure İzleyici izleme dışarı aktarma ile gönderilen telemetri için, gelen istekler altında
requests
görünür. Giden veya işlem içi istekler altındadependencies
görünür. - Azure İzleyici ölçümlerini veren ile gönderilen telemetri için gönderilen ölçümler altında
customMetrics
görünür. - Azure İzleyici günlükleri dışarı aktarma ile gönderilen telemetri için günlükler altında
traces
görünür. altında özel durumlar görünürexceptions
.
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
- GitHub'da OpenCensus Python
- Özelleştirme
- GitHub'da Azure İzleyici dışarı verenleri
- OpenCensus tümleştirmeleri
- Azure İzleyici örnek uygulamaları
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
- Kullanım deneyimlerini etkinleştirmek için web veya tarayıcı kullanıcı izlemeyi etkinleştirin
- Gelen istekleri izleme.
- Giden istekleri izleme.
- Uygulama haritasına göz atın.
- Uçtan uca performans izleme yapmayı öğrenin.
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.