Spec-Zone.ru › Ansible

обратный вызов community.general.opentelemetry – Создание распределенных трассировок с OpenTelemetry

Примечание

Этот плагин обратного вызова входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить ее, используйте: ansible-galaxy collection install community.general. Для использования этого плагина обратного вызова могут потребоваться дополнительные зависимости; подробности см. в разделе Требования.

Чтобы использовать его в плейбуке, укажите: community.general.opentelemetry.

Добавлено в community.general 3.7.0

  • Плагин обратного вызова
  • Краткое описание
  • Требования
  • Параметры
  • Примеры

Плагин обратного вызова

Этот плагин является плагином обратного вызова для уведомлений. Он отправляет информацию о выполнении плейбука другим приложениям, службам или системам. Дополнительную информацию о плагинах обратного вызова см. в разделе Плагины обратного вызова.

Краткое описание

  • Этот обратный вызов создает распределенные трассировки для каждой задачи Ansible с помощью OpenTelemetry.
  • Экспортер и SDK OpenTelemetry можно настроить с помощью переменных среды.
  • См. https://opentelemetry-python.readthedocs.io/en/latest/exporter/otlp/otlp.html.
  • См. https://opentelemetry-python.readthedocs.io/en/latest/sdk/environment_variables.html#opentelemetry-sdk-environment-variables.

Требования

Следующие требования необходимы на локальном узле контроллера, который выполняет этот обратный вызов.

  • opentelemetry-api (библиотека Python)
  • opentelemetry-exporter-otlp (библиотека Python)
  • opentelemetry-sdk (библиотека Python)

Параметры

Параметр

Комментарии

disable_attributes_in_logs

логический

добавлено в community.general 7.1.0

Отключить добавление атрибутов спанов в журналы.

Варианты:

  • false ← (по умолчанию)
  • true

Конфигурация:

  • Запись INI:

    [callback_opentelemetry]
    disable_attributes_in_logs = false
    
  • Переменная среды: ANSIBLE_OPENTELEMETRY_DISABLE_ATTRIBUTES_IN_LOGS

disable_logs

логический

добавлено в community.general 5.8.0

Отключить отправку журналов.

Варианты:

  • false ← (по умолчанию)
  • true

Конфигурация:

  • Запись INI:

    [callback_opentelemetry]
    disable_logs = false
    
  • Переменная среды: ANSIBLE_OPENTELEMETRY_DISABLE_LOGS

enable_from_environment

строка

добавлено в community.general 3.8.0

Следует ли включать этот обратный вызов, только если указанная переменная среды существует и имеет значение true.

Это удобно, если вы используете конфигурацию как код и хотите отправлять распределенные трассировки при запуске в CI, а не при локальном запуске Ansible.

Для этого указанное значение enable_from_environment проверяется как переменная среды, и если оно равно true, этот плагин включается.

Конфигурация:

  • Запись INI:

    [callback_opentelemetry]
    enable_from_environment = VALUE
    

    добавлено в community.general 5.3.0

  • Переменная среды: ANSIBLE_OPENTELEMETRY_ENABLE_FROM_ENVIRONMENT

hide_task_arguments

логический

Скрыть аргументы задачи.

Варианты:

  • false ← (по умолчанию)
  • true

Конфигурация:

  • Запись INI:

    [callback_opentelemetry]
    hide_task_arguments = false
    

    добавлено в community.general 5.3.0

  • Переменная среды: ANSIBLE_OPENTELEMETRY_HIDE_TASK_ARGUMENTS

otel_exporter_otlp_traces_protocol

строка

добавлено в community.general 9.0.0

OTEL_EXPORTER_OTLP_TRACES_PROTOCOL задает транспортный протокол для спанов.

См. https://opentelemetry-python.readthedocs.io/en/latest/sdk/environment_variables.html#envvar-OTEL_EXPORTER_OTLP_TRACES_PROTOCOL.

Варианты:

  • "grpc" ← (по умолчанию)
  • "http/protobuf"

Конфигурация:

  • Запись INI:

    [callback_opentelemetry]
    otel_exporter_otlp_traces_protocol = grpc
    
  • Переменная среды: OTEL_EXPORTER_OTLP_TRACES_PROTOCOL

otel_service_name

строка

Атрибут ресурса, содержащий имя службы.

По умолчанию: "ansible"

Конфигурация:

  • Запись INI:

    [callback_opentelemetry]
    otel_service_name = ansible
    

    добавлено в community.general 5.3.0

  • Переменная среды: OTEL_SERVICE_NAME

store_spans_in_file

строка

добавлено в community.general 9.0.0

Сохраняет экспортированные спаны в указанный файл.

Конфигурация:

  • Запись INI:

    [callback_opentelemetry]
    store_spans_in_file = VALUE
    
  • Переменная среды: ANSIBLE_OPENTELEMETRY_STORE_SPANS_IN_FILE

traceparent

строка

Заголовок traceparent контекста трассировки W3C.

По умолчанию: "None"

Конфигурация:

  • Переменная среды: TRACEPARENT

Примечание

Записи конфигурации, перечисленные выше для каждого типа записи (переменная Ansible, переменная среды и т. д.), упорядочены от низкого к высокому приоритету. Например, переменная, расположенная ниже в списке, переопределяет переменную, расположенную выше. Типы записей также упорядочены по приоритету от низкого к высокому. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).

Примеры

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

Авторы

  • Victor Martinez (@v1v)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/opentelemetry_callback.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API