community.general.opentelemetry 回调 - 使用 OpenTelemetry 创建分布式追踪
注意
此回调插件是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.general
。您需要进一步的要求才能使用此回调插件,请参阅 要求 了解详情。
要在 playbook 中使用它,请指定: community.general.opentelemetry
。
community.general 3.7.0 中的新增功能
回调插件
此插件是一个**通知回调**。它将 playbook 运行的信息发送到其他应用程序、服务或系统。有关回调插件的更多信息,请参阅 回调插件。
概要
此回调使用 OpenTelemetry 为每个 Ansible 任务创建分布式追踪。
您可以使用环境变量配置 OpenTelemetry 导出器和 SDK。
请参阅 https://opentelemetry-python.readthedocs.io/en/latest/exporter/otlp/otlp.html。
要求
本地控制器节点(执行此回调的节点)需要满足以下要求。
opentelemetry-api(Python 库)
opentelemetry-exporter-otlp(Python 库)
opentelemetry-sdk(Python 库)
参数
参数 |
注释 |
---|---|
禁用将 span 属性填充到日志中。 选项
配置
|
|
禁用发送日志。 选项
配置
|
|
仅当给定的环境变量存在并且设置为 当您使用“配置即代码”并且希望在 CI 中运行时发送分布式追踪而不是在本地运行 Ansible 时,这很方便。 为此,它将给定的 配置
|
|
隐藏任务的参数。 选项
配置
|
|
选项
配置
|
|
服务名称资源属性。 默认值: 配置
|
|
将导出的 Span 存储在给定的文件中 配置
|
|
示例
examples: |
Enable the plugin in ansible.cfg:
[defaults]
callbacks_enabled = community.general.opentelemetry
[callback_opentelemetry]
enable_from_environment = ANSIBLE_OPENTELEMETRY_ENABLED
Set the environment variable:
export OTEL_EXPORTER_OTLP_ENDPOINT=<your endpoint (OTLP/HTTP)>
export OTEL_EXPORTER_OTLP_HEADERS="authorization=Bearer your_otel_token"
export OTEL_SERVICE_NAME=your_service_name
export ANSIBLE_OPENTELEMETRY_ENABLED=true