Spec-Zone.ru › Ansible 2.10

community.zabbix.zabbix_action – Создание/удаление/обновление действий Zabbix

Примечание

Этот плагин входит в коллекцию community.zabbix (версия 1.1.0).

Для его установки используйте: ansible-galaxy collection install community.zabbix.

Для использования в книге задач укажите: community.zabbix.zabbix_action.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Этот модуль позволяет создавать, изменять и удалять действия Zabbix.

Требования

Ниже перечислены требования, которые должны быть выполнены на хосте, на котором будет выполняться этот модуль.

  • zabbix-api >= 0.5.4

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
acknowledge_default_message
строка
Текст сообщения операции обновления (известной как "оповещение об операции" до Zabbix 4.0).
В Zabbix 5.0 и выше это поле удалено из API и будет проигнорировано модулем.
Работает только с Zabbix 3.4 и ниже (включительно).
acknowledge_default_subject
строка
Тема сообщения операции обновления (известной как "оповещение об операции" до Zabbix 4.0).
В Zabbix 5.0 и выше это поле удалено из API и будет проигнорировано модулем.
Работает только с Zabbix 3.4 и ниже (включительно).
acknowledge_operations
список / элементы=строка
Список операций оповещения.
Действия оповещения, известные как операции обновления с Zabbix 4.0.
Suboptions совпадают с параметром operations.
Работает только с Zabbix 3.4 и выше.

Псевдонимы: update_operations
conditions
список / элементы=словарь
Список условий для фильтрации результатов.
Дополнительную информацию о подпараметрах см. в документации Zabbix API https://www.zabbix.com/documentation/5.0/manual/api/reference/action/object#action_filter_condition
formulaid
строка
Произвольный уникальный идентификатор, используемый для ссылки на условие из пользовательского выражения.
Может содержать только заглавные буквы.
Требуется для фильтров пользовательских выражений и игнорируется в противном случае.
operator
строка
    Варианты:
  • =
  • <>
  • like
  • not like
  • in
  • >=
  • <=
  • not in
  • matches
  • does not match
  • Yes
  • No
Оператор условия.
При установке type в time_period, варианты – in, not in.
matches, does not match, Yes и No операторы условий работают только с Zabbix 4.0 и выше.
type
строка
Тип (метка) условия.
Возможные значения при event_source=trigger:
- host_group
- host
- trigger
- trigger_name
- trigger_severity
- time_period
- host_template
- application
- maintenance_status известно в Zabbix 4.0 и выше как "Проблема подавлена"
- event_tag
- event_tag_value
Возможные значения при event_source=discovery:
- host_IP
- discovered_service_type
- discovered_service_port
- discovery_status
- uptime_or_downtime_duration
- received_value
- discovery_rule
- discovery_check
- proxy
- discovery_object
Возможные значения при event_source=auto_registration:
- proxy
- host_name
- host_metadata
Возможные значения при event_source=internal:
- host_group
- host
- host_template
- application
- event_type
value
строка
Значение для сравнения.
При type=discovery_status, варианты:
- up
- down
- discovered
- lost
При type=discovery_object, варианты:
- host
- service
При type=event_type, варианты:
- item in not supported state
- item in normal state
- LLD rule in not supported state
- LLD rule in normal state
- trigger in unknown state
- trigger in normal state
При type=trigger_severity, варианты (регистр игнорируется):
- not classified
- information
- warning
- average
- high
- disaster
Если не указано, по умолчанию not classified.
В остальном обычно это имя объекта или строка для сравнения.
value2
строка
Второе значение для сравнения.
Требуется для действий триггеров, когда type=event_tag_value.
default_message
строка
Текст сообщения по умолчанию для проблемы.
В Zabbix 5.0 и выше это поле удалено из API и будет проигнорировано модулем.
Работает только с Zabbix 4.9 и ниже.
default_subject
строка
Тема сообщения по умолчанию для проблемы.
В Zabbix 5.0 и выше это поле удалено из API и будет проигнорировано модулем.
Работает только с Zabbix 4.9 и ниже.
esc_period
строка
Продолжительность шага операции по умолчанию. Должно быть больше 60 секунд.
Принимает только секунды как целое число до Zabbix 3.2.
Принимает секунды, единицы измерения времени с суффиксом и пользовательские макросы с Zabbix 3.4.
Обязательно, когда state=present.
eval_type
строка
    Варианты:
  • andor
  • and
  • or
  • custom_expression
Метод вычисления условий фильтра.
По умолчанию andor, если условий меньше 2 или не указано formula.
По умолчанию custom_expression если указана formula.
event_source
строка
    Варианты:
  • trigger
  • discovery
  • auto_registration
  • internal
Тип событий, которые будет обрабатывать действие.
Обязательно, если state=present.
formula
строка
Пользовательское выражение для оценки условий с помощью пользовательского выражения.
Выражение должно содержать идентификаторы, ссылающиеся на каждое условие по его formulaid.
Идентификаторы, используемые в выражении, должны точно соответствовать идентификаторам, определённым в conditions. Ни одно условие не должно быть пропущено или не использовано.
Обязательно при eval_type=custom_expression.
Используйте последовательные идентификаторы, начинающиеся с "A". Если используются не последовательные идентификаторы, Zabbix переиндексирует их. Это позволит каждому модулю заметить разницу в идентификаторах и обновить действие.
http_login_password
строка
Пароль Basic Auth
http_login_user
строка
Логин Basic Auth
login_password
строка / обязательно
Пароль пользователя Zabbix.
login_user
строка / обязательно
Имя пользователя Zabbix.
name
строка / обязательно
Имя действия
operations
список / элементы=строка
Список операций действия
command
строка
Команда для выполнения.
Обязательно при type=remote_command и command_type!=global_script.
command_type
строка
    Варианты:
  • custom_script
  • ipmi
  • ssh
  • telnet
  • global_script
Тип команды операции.
Обязательно при type=remote_command.
esc_period
строка
По умолчанию:
"0с"
Продолжительность шага эскалации в секундах.
Должно быть больше 60 секунд.
Принимает только секунды как целое число до Zabbix 3.2.
Принимает секунды, единицы измерения времени с суффиксом и пользовательские макросы с Zabbix 3.4.
Если установлено в 0 или 0с, будет использовано значение по умолчанию для эскалации действия.
esc_step_from
строка
По умолчанию:
1
Шаг для начала эскалации.
esc_step_to
строка
По умолчанию:
1
Шаг для завершения эскалации.
Укажите 0 для бесконечной эскалации.
execute_on
строка
    Варианты:
  • agent
  • server
  • proxy
Целевая система, на которой будет выполняться пользовательская командная операция скрипта.
Обязательно при type=remote_command и command_type=custom_script.
host_groups
список / элементы=строка
Список групп хостов, к которым нужно добавить хост.
Обязательно при type=add_to_host_group или type=remove_from_host_group.
inventory
string
    Выбор:
  • manual
  • automatic
Режим инвентаризации хоста.
Требуется при type=set_host_inventory_mode.
media_type
string
По умолчанию:
"all"
Тип носителя, который будет использоваться для отправки сообщения.
Может использоваться с type=send_message или type=notify_all_involved внутри acknowledge_operations.
Установлено в all для всех типов носителей
message
string
Текст сообщения операции.
Будет проверяться «сообщение по умолчанию» и использоваться текст из default_message, если это и default_subject не указаны
operation_condition
string
    Выбор:
  • acknowledged
  • not_acknowledged
Объект условия выполнения действия операции определяет условие, которое должно быть выполнено для выполнения текущей операции.
password
string
Пароль, используемый для аутентификации.
Требуется при ssh_auth_type=password или command_type=telnet.
Может использоваться при type=remote_command.
port
string
Номер порта, используемый для аутентификации.
Может использоваться при command_type в [ssh, telnet] и type=remote_command.
run_on_groups
string
Группы хостов, на которых будут выполняться удалённые команды.
Требуется при type=remote_command и run_on_hosts не установлено.
run_on_hosts
string
Хосты, на которых будут выполняться удалённые команды.
Требуется при type=remote_command и run_on_groups не установлено.
Если установлено в 0, команда будет выполнена на текущем хосте.
script_name
string
Имя скрипта, используемого для команд глобальных скриптов.
Требуется при command_type=global_script.
Может использоваться при type=remote_command.
send_to_groups
list / elements=string
Группы пользователей, которым нужно отправить сообщения.
send_to_users
list / elements=string
Пользователи (имена пользователей или псевдонимы) для отправки сообщений.
ssh_auth_type
string
    Выбор:
  • password
  • public_key
Метод аутентификации, используемый для команд SSH.
Требуется при type=remote_command и command_type=ssh.
ssh_privatekey_file
string
Имя файла закрытого ключа, используемого для команд SSH с аутентификацией с помощью открытого ключа.
Требуется при ssh_auth_type=public_key.
Может использоваться при type=remote_command.
ssh_publickey_file
string
Имя файла открытого ключа, используемого для команд SSH с аутентификацией с помощью открытого ключа.
Требуется при ssh_auth_type=public_key.
Может использоваться при type=remote_command.
subject
string
Тема сообщения операции.
Будет проверяться «сообщение по умолчанию» и использоваться текст из default_subject, если это и default_subject не указаны
templates
list / elements=string
Список шаблонов, к которым должен быть связан хост.
Требуется при type=link_to_template или type=unlink_from_template.
type
string
    Выбор:
  • send_message
  • remote_command
  • add_host
  • remove_host
  • add_to_host_group
  • remove_from_host_group
  • link_to_template
  • unlink_from_template
  • enable_host
  • disable_host
  • set_host_inventory_mode
  • notify_all_involved
Тип операции.
Допустимые варианты при установке типа для recovery_operations и acknowledge_operations:
- send_message
- remote_command
- notify_all_involved
Выбор notify_all_involved поддерживается только в recovery_operations и acknowledge_operations.
username
string
Имя пользователя, используемое для аутентификации.
Требуется при ssh_auth_type в [public_key, password] или command_type=telnet.
Может использоваться при type=remote_command.
pause_in_maintenance
boolean
    Выбор:
  • нет
  • да ←
Следует ли приостановить эскалацию во время периодов технического обслуживания.
Может использоваться при event_source=trigger.
recovery_default_message
string
Текст сообщения восстановления.
Начиная с Zabbix 5.0 этот параметр удалён из API и отбрасывается модулем.
Работает только с >= Zabbix 3.2 и < Zabbix 5.0
recovery_default_subject
string
Тема сообщения восстановления.
Начиная с Zabbix 5.0 этот параметр удалён из API и отбрасывается модулем.
Работает только с >= Zabbix 3.2 и < Zabbix 5.0
recovery_operations
list / elements=string
Список операций восстановления.
Suboptions аналогичны параметрам для operations.
Работает только с >= Zabbix 3.2
server_url
string / required
URL сервера Zabbix с протоколом (http или https). url является псевдонимом для server_url.

псевдонимы: url
state
string
    Выбор:
  • present ←
  • absent
Состояние действия.
В present, он создаст действие, если оно не существует, или обновит действие, если связанные данные отличаются.
В absent, он удалит действие, если оно существует.
status
string
    Выбор:
  • enabled ←
  • disabled
Статус действия.
timeout
integer
По умолчанию:
10
Таймаут запроса API (секунды).
validate_certs
boolean
    Выбор:
  • нет
  • да ←
Если установлено в False, сертификаты SSL не будут проверены. Это следует использовать только на управляемых лично сайтах с использованием самозаверенных сертификатов.

Примечания

Примечание

  • Поддерживается только Zabbix >= 3.0.
  • Если используется login_password=zabbix, слово «zabbix» заменяется на «****» во всех выходных данных модуля, так как login_password использует no_log. См. эту страницу FAQ для получения дополнительной информации.

Примеры

# Trigger action with only one condition
- name: Deploy trigger action
  community.zabbix.zabbix_action:
    server_url: "http://zabbix.example.com/zabbix/"
    login_user: Admin
    login_password: secret
    name: "Send alerts to Admin"
    event_source: 'trigger'
    state: present
    status: enabled
    esc_period: 60
    conditions:
      - type: 'trigger_severity'
        operator: '>='
        value: 'Information'
    operations:
      - type: send_message
        subject: "Something bad is happening"
        message: "Come on, guys do something"
        media_type: 'Email'
        send_to_users:
          - 'Admin'

# Trigger action with multiple conditions and operations
- name: Deploy trigger action
  community.zabbix.zabbix_action:
    server_url: "http://zabbix.example.com/zabbix/"
    login_user: Admin
    login_password: secret
    name: "Send alerts to Admin"
    event_source: 'trigger'
    state: present
    status: enabled
    esc_period: 1m
    conditions:
      - type: 'trigger_name'
        operator: 'like'
        value: 'Zabbix agent is unreachable'
        formulaid: A
      - type: 'trigger_severity'
        operator: '>='
        value: 'disaster'
        formulaid: B
    formula: A or B
    operations:
      - type: send_message
        media_type: 'Email'
        send_to_users:
          - 'Admin'
      - type: remote_command
        command: 'systemctl restart zabbix-agent'
        command_type: custom_script
        execute_on: server
        run_on_hosts:
          - 0

# Trigger action with recovery and acknowledge operations
- name: Deploy trigger action
  community.zabbix.zabbix_action:
    server_url: "http://zabbix.example.com/zabbix/"
    login_user: Admin
    login_password: secret
    name: "Send alerts to Admin"
    event_source: 'trigger'
    state: present
    status: enabled
    esc_period: 1h
    conditions:
      - type: 'trigger_severity'
        operator: '>='
        value: 'Information'
    operations:
      - type: send_message
        subject: "Something bad is happening"
        message: "Come on, guys do something"
        media_type: 'Email'
        send_to_users:
          - 'Admin'
    recovery_operations:
      - type: send_message
        subject: "Host is down"
        message: "Come on, guys do something"
        media_type: 'Email'
        send_to_users:
          - 'Admin'
    acknowledge_operations:
      - type: send_message
        media_type: 'Email'
        send_to_users:
          - 'Admin'

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:

Ключ Возвращено Описание
msg
string
success
Результат операции

Пример:
Действие удалено: Регистрация веб-серверов, ID: 0001


Авторы

  • Ruben Tsirunyan (@rubentsirunyan)
  • Ruben Harutyunov (@K-DOT)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/zabbix/zabbix_action_module.html

Spec-Zone.ru

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