Skip to main content

思科 OpenTelemetry 分发版

项目描述

otel-py

PIP 发布版本 阿帕奇许可证 覆盖范围

痕迹

此软件包为 Python 应用程序提供符合 OpenTelemetry 的跟踪,以便在Cisco Telescope中收集分布式跟踪和性能指标。

内容

安装

要求

Python >=3.8, <4.0 pip3 >= 22.0

安装包

要安装 Cisco OpenTelemetry Distribution,只需运行:

pip install cisco-telescope

全面的仪器支持

要为所有相关支持的检测框架安装所需的依赖项,请运行:

telescope-bootstrap

库初始化

Cisco OpenTelemetry Distribution 已激活并在tracing.init()返回后检测支持的库。

要初始化库,您需要一个 cisco 令牌,该令牌取自Telescope 控制台设置页面上的“帐户”选项卡。

from cisco_telescope import tracing

tracing.init(
  service_name="<your-service-name>",
  cisco_token="<your-cisco-token>"
)

OpenTelemetry 收集器配置

默认情况下,Cisco OpenTelemetry Distribution 将数据直接导出到Cisco Telescope 的基础设施后端。 支持现有的OpenTelemetery Collector,可以应用以下配置

配置自定义跟踪导出器

Cisco OpenTelemetry Distribution 支持配置多个自定义导出器。请注意,您需要处理您的出口商授权。将 OtlpGrpc Span 导出器创建到本地 OpenTelemetry 收集器的示例:

from cisco_telescope import tracing, options

tracing.init(
  service_name="<your-service-name>",
  exporters=[
    options.ExporterOptions(
      exporter_type="otlp-grpc",
      collector_endpoint="grpc://localhost:4317"
    ),
  ]
)

配置自定义 OpenTelemetry 收集器以将跟踪数据导出到Cisco Telescope 的外部收集器。

collector.yaml ...

exporters:
  otlphttp:
    traces_endpoint: https://production.cisco-udp.com/trace-collector
    headers:
      authorization: Bearer <Your Telescope Token>
    compression: gzip


service:
  pipelines:
    traces:
      exporters: [otlphttp]

现有的 OpenTelemetry 仪器

注意:仅当对流式传输现有 OpenTelemetry 工作负载感兴趣时才相关。 思科望远镜。支持本机 OpenTelemetery 跟踪。

from opentelemetry import trace
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor

from opentelemetry.exporter.otlp.proto.http.trace_exporter import (
    OTLPSpanExporter as OTLPHTTPExporter,
)

provider = TracerProvider(resource=Resource.create())
trace.set_tracer_provider(provider)

http_exporter = OTLPHTTPExporter(
  endpoint="https://production.cisco-udp.com/trace-collector",
  headers= {
    "authorization": "Bearer <Your Telescope Token>",
  },
)

processor = BatchSpanProcessor(http_exporter)
provider.add_span_processor(processor)

支持的运行时

Cisco OpenTelemetry Distribution 支持 Python 3.6+

支持的库

Cisco OpenTelemetry Python Distribution 正在扩展 Native OpenTelemetry,此处提供支持的库。

Cisco OpenTelemetry Python Distribution为许多流行的框架和库提供开箱即用的检测(跟踪)和高级有效负载集合。

图书馆 扩展支持版本
要求 完全支持
aiohttp 完全支持
grpc 客户端/服务器一元支持

配置

高级选项可以配置为 init() 方法的参数:

范围 环境 类型 默认 描述
cisco_token CISCO_TOKEN 细绳 - 思科帐户令牌
服务名称 OTEL_SERVICE_NAME 细绳 application 将为跟踪设置的应用程序名称
调试 CISCO_DEBUG 细绳 False 调试日志
payloads_enabled CISCO_PAYLOADS_ENABLED 细绳 True 调试日志

出口商选项

范围 环境 类型 默认 描述
收集器端点 OTEL_COLLECTOR_ENDPOINT 细绳 https://production.cisco-udp.com/trace-collector 要将跟踪发送到的跟踪收集器的地址
类型 OTEL_EXPORTER_TYPE 细绳 otlp-http 要使用的导出器类型(目前仅otlp-http支持)。可通过 init 函数使用多个导出器选项,请参见下面的示例

获得帮助

如果您在使用库或产品方面有任何问题,请不要犹豫:

  • 使用文档。
  • 使用产品内的帮助小部件。
  • 在 GitHub 中打开一个问题。

执照

Apache 2.0 下提供。有关详细信息,请参阅许可证。

版权所有 2022,思科

项目详情


下载文件

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

源分布

cisco-telescope-1.7.0.tar.gz (20.9 kB 查看哈希)

已上传 source

内置分布

cisco_telescope-1.7.0-py3-none-any.whl (27.7 kB 查看哈希)

已上传 py3