Spec-Zone.ru › Ansible

Модуль community.zabbix.zabbix_service — создание, обновление и удаление сервиса Zabbix

Примечание

Этот модуль входит в коллекцию community.zabbix (версия 4.2.0).

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

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

Чтобы использовать модуль в плейбуке, укажите: community.zabbix.zabbix_service.

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

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

  • Создание, обновление и удаление сервиса Zabbix.

Требования

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

  • python >= 3.9

Параметры

Параметр

Комментарии

algorithm

string

Правило вычисления статуса. Применимо только при наличии дочерних сервисов.

- status_to_ok, установить статус OK при

- most_crit_if_all_children, наиболее критичный статус, если у всех дочерних сервисов есть проблемы

- most_crit_of_child_serv, наиболее критичный из дочерних сервисов с

Варианты:

  • "status_to_ok" ← (по умолчанию)
  • "most_crit_if_all_children"
  • "most_crit_of_child_serv"

children

list / elements=string

Дочерние сервисы, связанные с этим сервисом.

description

string

Описание сервиса.

http_login_password

string

Пароль для базовой аутентификации

http_login_user

string

Имя пользователя для базовой аутентификации

name

string / обязательный

Имя сервиса Zabbix

parents

list / elements=string

Родительские сервисы, связанные с этим сервисом.

problem_tags

list / elements=dictionary

Теги проблем, создаваемые для сервиса.

operator

string

Оператор условия сопоставления.

equals

like

Варианты:

  • "equals" ← (по умолчанию)
  • "like"

tag

string / обязательный

Имя тега проблемы.

value

string

Значение тега проблемы.

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

propagation_rule

string

Значение правила распространения статуса. Должно задаваться вместе с propagation_rule.

as_is передавать статус сервиса без изменений

increase повышать передаваемый статус на заданное значение propagation_value (на 1–5 уровней критичности)

decrease понижать передаваемый статус на заданное значение propagation_value (на 1–5 уровней критичности)

ignore игнорировать этот сервис — статус вообще не передаётся родительскому сервису

fixed задавать фиксированный статус сервиса с помощью заданного значения propagation_value

Обязателен вместе с propagation_value

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

propagation_value

string

Значение распространения статуса. Должно задаваться вместе с propagation_rule.

Допустимые значения, если propagation_rule=as_is or ignore:

- not_classified

Допустимые значения, если propagation_rule=increase or decrease:

- information

- warning

- average

- high

- disaster

Допустимые значения, если propagation_rule=fixed:

- ok

- not_classified

- information

- warning

- average

- high

- disaster

Обязателен вместе с propagation_rule

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

sortorder

string / обязательный

Позиция сервиса, используемая для сортировки.

state

string

Состояние: present — создать или обновить сервис; absent — удалить сервис.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

status_rules

list / elements=dictionary

Правила статуса сервиса.

limit_status

string / обязательный

Пороговый статус.

ok OK

not_classified Не классифицировано

information Информация

warning Предупреждение

average Средний

high Высокий

disaster Катастрофа

limit_value

integer / обязательный

Пороговое значение: N, N% или W

Допустимые значения: 1–100000 для N и W, 1–100 для N%

new_status

string / обязательный

Новое значение статуса.

not_classified Не классифицировано

information Информация

warning Предупреждение

average Средний

high Высокий

disaster Катастрофа

type

string / обязательный

Условие для установки статуса (New status).

at_least_n_child_services_have_status_or_above если не менее (N) дочерних сервисов имеют статус (Status) или выше

at_least_npct_child_services_have_status_or_above если не менее (N%) дочерних сервисов имеют статус (Status) или выше

less_than_n_child_services_have_status_or_below если менее (N) дочерних сервисов имеют статус (Status) или ниже

less_than_npct_child_services_have_status_or_below если менее (N%) дочерних сервисов имеют статус (Status) или ниже

weight_child_services_with_status_or_above_at_least_w если вес дочерних сервисов со статусом (Status) или выше не менее (W)

weight_child_services_with_status_or_above_at_least_npct если вес дочерних сервисов со статусом (Status) или выше не менее (N%)

weight_child_services_with_status_or_below_less_w если вес дочерних сервисов со статусом (Status) или ниже меньше (W)

weight_child_services_with_status_or_below_less_npct если вес дочерних сервисов со статусом (Status) или ниже меньше (N%)

tags

list / elements=dictionary

Теги, создаваемые для сервиса.

tag

string / обязательный

Имя тега сервиса.

value

string

Значение тега сервиса.

weight

string

Вес сервиса.

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

Примеры

---
# If you want to use Username and Password to be authenticated by Zabbix Server
- name: Set credentials to access Zabbix Server API
  ansible.builtin.set_fact:
    ansible_user: Admin
    ansible_httpapi_pass: zabbix

# If you want to use API token to be authenticated by Zabbix Server
# https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/administration/general#api-tokens
- name: Set API token
  ansible.builtin.set_fact:
    ansible_zabbix_auth_key: 8ec0d52432c15c91fcafe9888500cf9a607f44091ab554dbee860f6b44fac895

# Creates a new Zabbix service
- name: Create Zabbix service monitoring Apache2 in DCs in Toronto area
  # set task level variables
  vars:
    ansible_network_os: community.zabbix.zabbix
    ansible_connection: httpapi
    ansible_httpapi_port: 443
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_zabbix_url_path: "zabbixeu"  # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
    ansible_host: zabbix-example-fqdn.org
  community.zabbix.zabbix_service:
    name: "apache2 service Toronto"
    description: Apache2 services in Toronto area
    sortorder: 0
    propagation_rule: increase
    propagation_value: warning
    weight: 1
    state: present
    tags:
      - tag: zabbix_service
        value: apache2
      - tag: area
        value: Toronto
    problem_tags:
      - tag: service_name
        value: httpd
      - tag: area
        operator: like
        value: toronto
    status_rules:
      - type: at_least_n_child_services_have_status_or_above
        limit_value: 4242
        limit_status: ok
        new_status: average

- name: Create Zabbix service monitoring all Apache2 services
  # set task level variables as we change ansible_connection plugin here
  vars:
    ansible_network_os: community.zabbix.zabbix
    ansible_connection: httpapi
    ansible_httpapi_port: 443
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_zabbix_url_path: "zabbixeu"  # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
    ansible_host: zabbix-example-fqdn.org
  community.zabbix.zabbix_service:
    name: apache2 service
    description: Apache2 services
    tags:
      - tag: zabbix_service
        value: apache2
      - tag: area
        value: global
    children:
      - "apache2 service Toronto"

Авторы

  • Emmanuel Riviere (@emriver)
  • Evgeny Yurchenko (@BGmot)

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

  • Отслеживание проблем
  • Домашняя страница
  • Репозиторий (исходный код)

© 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/zabbix/zabbix_service_module.html

Spec-Zone.ru

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