思科 OpenTelemetry 分发版
项目描述
otel-py
此软件包为 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-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | ee250ea29e413563b4071bd89a7016061f2ab163d4d958f7d2f192e015b19e74 |
|
| MD5 | 0e1f240b6ea98cc7b2ca67b1bbb09946 |
|
| 布莱克2-256 | cd902b0b2a7f347bf8c5540a77f1f96bbcbbc54d53ef984e019726a2c53219ed |