跳转到主要内容

Microsoft Azure Monitor Opentelemetry Exporter Python客户端库

此版本被撤回的原因

由于命名弃用此包。请使用 azure-monitor-opentelemetry-exporter。

项目描述

Microsoft Azure Monitor Opentelemetry导出器

Gitter chat

该导出器允许您使用OpenTelemetry SDK导出跟踪数据,并将遥测数据发送到用于Python应用程序的Azure Monitor。

源代码 | 示例 | 变更日志

入门指南

安装包

使用 pip 安装Microsoft Opentelemetry Azure Monitor导出器

pip install azure-opentelemetry-exporter-azuremonitor --pre

先决条件

要使用此包,您必须拥有

验证客户端

与 Azure Monitor 导出器的交互从 AzureMonitorTraceExporter 类的实例开始。您需要一个 连接字符串 来创建对象。请参阅下面的示例,了解如何使用连接字符串进行验证。

从连接字符串创建导出器

from azure.opentelemetry.exporter.azuremonitor import AzureMonitorTraceExporter
exporter = AzureMonitorTraceExporter(
    connection_string = os.environ["APPLICATIONINSIGHTS_CONNECTION_STRING "]
)

关键概念

Azure Monitor 导出器的关键概念包括

  • Opentelemetry:Opentelemetry 是一组用于收集和导出遥测数据(指标、日志和跟踪)的库,以便分析以了解软件的性能和行为。

  • 仪器:仪器允许任何应用程序直接调用 opentelemetry API。使 OpenTelemetry 可观察性应用于其他库的库称为仪器库。

  • 跟踪:跟踪指的是分布式跟踪。它可以被视为由 Span 的有向无环图 (DAG),其中 Span 之间的边定义为父子关系。

  • 跟踪提供程序:为给定的仪器库提供 跟踪器

  • Span 处理器:Span 处理器允许 SDK 的 Span 开始和结束方法调用的钩子。点击链接获取更多信息。

  • 采样:采样是一种机制,通过减少收集并发送到后端的后端跟踪样本的数量来控制 OpenTelemetry 引入的噪声和开销。

  • AzureMonitorTraceExporter:这是初始化以向 Azure Monitor 发送跟踪相关遥测数据的类。

  • 导出器选项:配置 Azure 导出器的选项。目前仅包括连接字符串。

有关这些资源的更多信息,请参阅 什么是 Azure Monitor?

示例

以下部分提供了一些代码片段,涵盖了一些最常见任务,包括

导出 Hello World 跟踪

import os
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchExportSpanProcessor
from azure.opentelemetry.exporter.azuremonitor import AzureMonitorTraceExporter

exporter = AzureMonitorTraceExporter(
    connection_string = os.environ["APPLICATIONINSIGHTS_CONNECTION_STRING "]
)

trace.set_tracer_provider(TracerProvider())
tracer = trace.get_tracer(__name__)
span_processor = BatchExportSpanProcessor(exporter)
trace.get_tracer_provider().add_span_processor(span_processor)

with tracer.start_as_current_span("hello"):
    print("Hello, World!")

使用请求库进行仪器

OpenTelemetry 还支持多个仪器,允许使用第三方库进行仪器。

此示例演示了如何使用 requests 库进行仪器。

  • 使用 pip install opentelemetry-instrumentation-requests 安装请求集成包。
import os
import requests
from opentelemetry import trace
from opentelemetry.instrumentation.requests import RequestsInstrumentor
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchExportSpanProcessor

from azure.opentelemetry.exporter.azuremonitor import AzureMonitorTraceExporter

trace.set_tracer_provider(TracerProvider())
tracer = trace.get_tracer(__name__)

# This line causes your calls made with the requests library to be tracked.
RequestsInstrumentor().instrument()
span_processor = BatchExportSpanProcessor(
    AzureMonitorTraceExporter(
        connection_string = os.environ["APPLICATIONINSIGHTS_CONNECTION_STRING "]
    )
)
trace.get_tracer_provider().add_span_processor(span_processor)

RequestsInstrumentor().instrument()

# This request will be traced
response = requests.get(url="https://azure.microsoft.com/")

故障排除

导出器引发在 Azure Core 中定义的异常。

下一步

更多示例代码

请参阅 samples 目录中的更多示例,演示了常见场景。

附加文档

有关 Azure Monitor 服务的更详细文档,请参阅 docs.microsoft.com 上的 Azure Monitor 文档

有关 Opentelemetry 的详细概述,请访问他们的 概述 页面。

贡献

本项目欢迎贡献和建议。大多数贡献需要您同意贡献者许可协议(CLA),声明您有权并且实际上已授予我们使用您贡献的权利。有关详细信息,请访问 https://cla.microsoft.com

提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并适当地装饰PR(例如,标签,注释)。只需遵循机器人提供的说明。您只需在整个使用我们CLA的所有存储库中做一次即可。

本项目采用了微软开源行为准则。更多信息请参阅行为准则常见问题解答或通过opencode@microsoft.com提出任何额外问题或评论。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

azure-opentelemetry-exporter-azuremonitor-1.0.0b2.zip (73.3 kB 查看哈希)

上传时间 源代码

构建发行版

azure_opentelemetry_exporter_azuremonitor-1.0.0b2-py2.py3-none-any.whl (42.5 kB 查看哈希)

上传时间 Python 2 Python 3

由以下赞助

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面