Python uygulamanız için Azure İzleyici'yı ayarlama
Dikkat
OpenCensus Python SDK'sı kullanımdan kaldırıldı. OpenTelemetry tabanlı Python teklifini öneririz ve geçiş kılavuzu sağlarız.
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.
Microsoft, desteklenmeyen bir telemetri çözümü olarak Python için başka bir telemetri SDK'sı kullanılmasını önermez.
OpenCensus, OpenTelemetry ile yakınsıyor. OpenTelemetry aşamalı olarak olgunlaşırken OpenCensus'u önermeye devam ediyoruz.
Önkoşullar
Azure aboneliğine ihtiyacınız var. 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ı dizesi 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 telemetri verilerini 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 ihracatçılarıyla 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ürde telemetri göndermek için üç Azure İzleyici vereni kullanır. Bunlar trace
, metrics
ve logs
. Bu telemetri türleri hakkında daha fazla bilgi için bkz. Veri platformuna genel bakış. Bu telemetri türlerini üç dışarı aktarma aracı aracılığı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
İ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ı dizesi sürüm denetimine eklenmemelidir.APPLICATIONINSIGHTS_CONNECTION_STRING=<appinsights-connection-string>
Application Insights'a telemetri göndermek için kullanılan ihracatçıların örneğini oluştururken bağlantı dizesi 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,
traces
iletracing
aynı 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ış izleme ile ilgilidir.Alanını kullanarak
custom_dimensions
anahtar sözcük bağımsız değişkenindeextra
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ürde bağımsız değişken 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 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
Django uygulamalarınız için önceki gibi uygulama kodunuzda günlüğü 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 aynı ada sahip 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 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__)
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
Bunun yerine kullanarak dışında, telemetriyi gönderdiğiniz gibi telemetri gönderebilirsiniz customEvent
trace
.AzureEventHandler
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şlatmada 0'a sıfırlanır.
- Toplam: Ölçüm 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ğıtım: Azure ihracatçısı, ö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 girdide değer artırılır ve ölçüm bilgileri konsolunda 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ı dizesi doğrudan ihracatçıya geçirin. Veya bunu bir ortam değişkeninde belirtebilirsiniz:
APPLICATIONINSIGHTS_CONNECTION_STRING
. Application Insights'a telemetri göndermek için kullanılan ihracatçıların örneğini oluştururken bağlantı dizesi 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ı aktarma, ö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, dolayısıyla 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ı kullanarak ölçüm telemetrinize tags
anahtar-değer çiftleri sözlüğü gibi ö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ı vardır{"url":"http://example.com"}
.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 verenin oluşturucusunda bayrağını False
olarak ayarlayarak enable_standard_metrics
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önderirrequests
.dependency
İlk olarak yerel olarak bazı izleme verileri oluşturalım. Python IDLE'da 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 girdide, 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 yayma 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ı dizesi doğrudan ihracatçıya geçirin. Veya bunu bir ortam değişkeninde belirtebilirsiniz:APPLICATIONINSIGHTS_CONNECTION_STRING
. Application Insights'a telemetri göndermek için kullanılan ihracatçıların örneğini oluştururken bağlantı dizesi 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 kabukta yalnızca değer 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ıyı verenleri 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ürde telemetriler 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:
İhracatçı telemetrisi | Açıklama |
---|---|
connection_string |
Azure İzleyici kaynağınıza bağlanmak için kullanılan bağlantı dizesi. üzerinde öncelik 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. Verene performans sayacı ölçümlerini otomatik olarak Azure İzleyici'ye göndermesi için sinyal gönderir. varsayılan değeridir True . |
export_interval |
Dışarı aktarmanın saniye cinsinden sıklığını belirtmek için kullanılır. varsayılan değeridir 15s . Ölçümler için bunu 60 saniye olarak ayarlamanız gerekir, aksi halde ölçüm toplamalarınız ölçüm gezgininde anlamlı olmaz. |
grace_period |
Saniyeler içinde dışarı verenlerin kapatılması için zaman aşımını belirtmek için kullanılır. varsayılan değeridir 5s . |
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 değeridir 1.0 . |
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 bir yol (desteklenmeyen telemetri). opencensus-ext-azure v1.0.3 itibarıyla, varsayılan yol işletim sistemi geçici dizini + opencensus-python + your-ikey 'dir. 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 değeridir 10s . |
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 Azure İşlevleri Python geliştirici kılavuzuna bakın.
Kimlik doğrulaması (önizleme)
Not
Kimlik doğrulama özelliği v1.1b0'den opencensus-ext-azure
itibaren kullanılabilir.
Azure İzleyici verenlerin her biri, Azure Active Directory ile OAuth kimlik doğrulaması aracılığıyla telemetri yüklerini güvenli bir şekilde 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.
Etkin altındaki listede:
- Azure İzleyici izleme vereni 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ındaexceptions
özel durumlar görüntülenir.
Sorguları ve günlükleri kullanma hakkında daha fazla bilgi için bkz . Azure İzleyici'deki günlükler.
Microsoft Entra ID tabanlı kimlik doğrulamasını yapılandırma ve etkinleştirme
Not
Microsoft Entra kimlik doğrulaması yalnızca Python v2.7, v3.6 ve v3.7 için kullanılabilir. Application Insights OpenCensus Python SDK'sında Microsoft Entra Id desteği, opencensus-ext-azure 1.1b0 beta sürümünden itibaren eklenmiştir.
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 bu SDK'yı destekler. Şimdi OpenTelemetry tabanlı Python teklifini öneririz ve geçiş kılavuzu sağlarız.
Uygun kimlik bilgilerini oluşturma ve bunları Azure İzleyici verenin oluşturucusuna geçirme. bağlantı dizesi kaynağınızın izleme anahtarı ve alım uç noktası ile ayarlandığından emin olun.
OpenCensus
Azure İzleyici verenleri bu kimlik doğrulama türlerini destekler. Üretim ortamlarında yönetilen kimlikleri kullanmanızı öneririz.
Sistem tarafından atanan yönetilen kimlik
from azure.identity import ManagedIdentityCredential
from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer
credential = ManagedIdentityCredential()
tracer = Tracer(
exporter=AzureExporter(credential=credential, connection_string="InstrumentationKey=<your-instrumentation-key>;IngestionEndpoint=<your-ingestion-endpoint>"),
sampler=ProbabilitySampler(1.0)
)
...
Kullanıcı tarafından atanan yönetilen kimlik
from azure.identity import ManagedIdentityCredential
from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer
credential = ManagedIdentityCredential(client_id="<client-id>")
tracer = Tracer(
exporter=AzureExporter(credential=credential, connection_string="InstrumentationKey=<your-instrumentation-key>;IngestionEndpoint=<your-ingestion-endpoint>"),
sampler=ProbabilitySampler(1.0)
)
...
Python için OpenCensus hakkında daha fazla bilgi edinin
- GitHub'da OpenCensus Python
- Özelleştirme
- GitHub'da Azure İzleyici 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 alınabilmek 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.
Release Notes (Sürüm Notları)
En son sürüm notları için bkz . Python Azure İzleyici Exporter
Hizmet Güncelleştirmelerimiz büyük Application Insights geliştirmelerini de özetler.
Sonraki adımlar
- Kullanım deneyimlerini etkinleştirmek için web veya tarayıcı kullanıcı izlemeyi etkinleştirin
- Gelen istekleri izleyin.
- 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 uyarmak için uyarılar ayarlayın. Bunları, uygulamanıza kodladığınız özel ölçümlerde ayarlayabilirsiniz.