如果您有两个或更多服务将遥测数据发送到相同的 Application Insights 资源,您需要set Cloud Role Names 才能在应用程序地图上正确表示它们。
设置云角色名称和云角色实例:-
您可以通过Resource 属性设置Cloud Role Name 和云角色实例。
此步骤会将云角色名称和云角色实例从其默认值更新为对您的团队有意义的值。它们将作为节点下方的名称出现在应用程序地图上。
云角色名称使用 service.namespace 和 service.name 属性,但如果未设置 service.namespace,它会回退到 service.name。
云角色实例使用service.instance.id 属性值。
...
from opentelemetry.sdk.resources import SERVICE_NAME, SERVICE_NAMESPACE, SERVICE_INSTANCE_ID, Resource
trace.set_tracer_provider(
TracerProvider(
resource=Resource.create(
{
SERVICE_NAME: "my-helloworld-service",
# ----------------------------------------
# Setting role name and role instance
# ----------------------------------------
SERVICE_NAMESPACE: "my-namespace",
SERVICE_INSTANCE_ID: "my-instance",
# -------------------------------------------
# Done setting role name and role instance
# -------------------------------------------
}
)
)
)
...
注意:适用于 Python 应用程序的 Azure Monitor OpenTelemetry Exporter 目前处于预览阶段,尚未正式发布。
要更加熟悉 Azure Monitor Application Insights 和 OpenTelemetry,请参阅Azure Monitor Example Application。
请参阅此link 为您的 Python 应用程序设置 Azure Monitor。