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