我正试图从OpenCensus转移到OpenTelemetry,因为以前的项目是sunsetted,将不再受Microsoft later next year支持。
当前创建日志配置代码:
log_config = {
"version": 1,
"disable_existing_loggers": True,
"formatters": {
"default": {
"()": "uvicorn.logging.DefaultFormatter",
"fmt": "%(levelprefix)s [%(thread)d] [%(asctime)s.%(msecs)03d] %(message)s",
"datefmt": "%Y-%m-%d %H:%M:%S",
},
},
"handlers": {
"default": {
"level": "INFO",
"formatter": "default",
"class": "logging.StreamHandler",
"stream": "ext://sys.stderr",
},
"azure": {
"level": "WARNING",
"class": "opencensus.ext.azure.log_exporter.AzureLogHandler",
"instrumentation_key": "<appinsights-connection-string>",
}
},
"loggers": {
"": {"handlers": ["default", "azure"], "level": "INFO"},
},
}
当前应用日志配置的代码:
import logging
from logging.config import dictConfig
from log_config import log_config
dictConfig(log_config)
日落的文章指出:
我们很高兴地宣布,OpenTelemetry在C++、.NET、Go、Java、JavaScript、PHP和Python中与OpenCensus实现了功能对等。
所以我认为这将是一个下降的解决方案,但我似乎不能找到和代码样本,看起来像我目前正在做的。是否有一个OpenTelemetry处理程序,我可以使用它来登录到AppInsights,或者是否有其他方法可以使用?Microsoft页面特别建议不要使用opentelemetry-opencensus-shim。
2条答案
按热度按时间ncgqoxb01#
使用OpenTelemetry将跟踪导出到使用
AzureMonitorTraceExporter
的Azure Application Insights。若要使用OpenTelemetry将数据记录到Azure Application Insights,您不需要像传统日志记录那样使用特定的“处理程序”。引用:
**输出:**x1c 0d1x
wlwcrazw2#
如果您希望对日志导出管道的配置进行更多控制,可以通过azure-monitor-opentelemetry-exporters使用分段导出器方法。
需要注意的是,如果您想要收集日志遥测并发送到应用程序洞察中的TRACES表,则必须使用AzureObserver或LogExporter(而不是AzureObserver或TraceExporter,后者用于分布式跟踪并将填充应用程序洞察中的请求/依赖关系表)。
还请记住,通过此导出程序包的日志导出程序是测试版,因此请自行决定使用它。Azure Monitor的官方建议是使用Azure Monitor opentelemetry发行版,这是一个一站式的遥测需求,可以将数据发送到应用程序见解,并且该软件包是稳定的。
类似的跟踪问题可以在这里找到:https://github.com/Azure/azure-sdk-for-python/issues/32322.如果你有进一步的问题,请随时评论这个问题,因为github的问题会被更积极地分类和监控。