我目前正在探索将 OpenTelemetry 与 Azure Application Insights 结合使用来进行日志记录、跟踪和指标。
正在关注 Google 上弹出的这个特定的文档。
在此处发布片段,以防链接过期:
# Import the `configure_azure_monitor()` function from the
# `azure.monitor.opentelemetry` package.
from azure.monitor.opentelemetry import configure_azure_monitor
# Import the tracing api from the `opentelemetry` package.
from opentelemetry import trace
# Configure OpenTelemetry to use Azure Monitor with the
# APPLICATIONINSIGHTS_CONNECTION_STRING environment variable.
configure_azure_monitor()
因此,当我在 Python 应用程序中尝试此操作时,我收到了
Cannot find Reference
的 configure_azure_monitor
错误。我还安装了 1.6.0 版本的 azure-monitor-opentelemetry
软件包
我哪里错了?如有任何帮助,我们将不胜感激。
将 opentelemetry 与 azure 应用程序见解集成,以便我可以喜欢来自应用程序的推送指标
最新版本的 Open Telemetry 不支持
configure_azure_monitor()
。
您可以使用
azure.monitor.opentelemetry.exporter
使用 Python 中的开放遥测包将日志发送到 Application Insights。
我已关注Microsoft-Document并且能够发送日志。
import logging
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor as blrp
from azure.monitor.opentelemetry.exporter import AzureMonitorLogExporter as amlp
from opentelemetry._logs import (get_logger_provider as glp,set_logger_provider as slp,)
from opentelemetry.sdk._logs import (LoggerProvider,LoggingHandler,)
slp(LoggerProvider())
ri_ex = amlp(
connection_string="InstrumentationKey=b6*****00;IngestionEndpoint=https://eastus-8.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus.livediagnostics.monitor.azure.com/;ApplicationId=2e74****ddf63"
)
glp().add_log_record_processor(blrp(ri_ex))
ri_han = LoggingHandler()
ri_lger = logging.getLogger(__name__)
ri_lger.addHandler(ri_han )
ri_lger.setLevel(logging.INFO)
ri_lger.warning("Warning Rithwik WARNING ")
ri_lger.error("Error Rithwik")
输出: