Spec-Zone.ru › Ansible

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

Примечание

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

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

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

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

Добавлено в community.zabbix 1.7.0

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

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

  • Этот модуль позволяет создавать, обновлять и удалять скрипты.

Требования

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

  • python >= 3.9

Параметры

Параметр

Комментарии

authtype

string

Метод аутентификации, используемый для скриптов типа SSH.

Используется, если тип — ssh.

Варианты:

  • "password"
  • "public_key"

command

string

Команда для выполнения. Обязательный параметр, если state имеет значение ‘present’

confirmation

string

Текст во всплывающем окне подтверждения. Окно появится при попытке запустить скрипт из интерфейса Zabbix.

Используется, если scope — manual_host_action или manual_event_action.

description

string

Описание скрипта.

execute_on

string

Где выполнять скрипт.

Используется, если тип — script.

Варианты:

  • "zabbix_agent"
  • "zabbix_server"
  • "zabbix_server_proxy" ← (по умолчанию)

host_access

string

Разрешения для узла, необходимые для запуска скрипта.

Используется, если scope — manual_host_action или manual_event_action.

Варианты:

  • "read" ← (по умолчанию)
  • "write"

host_group

string

Имя группы узлов, для которой можно запускать скрипт. Если указать «all», скрипт будет доступен для всех групп узлов.

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

http_login_password

string

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

http_login_user

string

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

menu_path

string

Папки, разделённые косой чертой, которые образуют меню навигации в интерфейсе при нажатии на узел или событие.

Используется, если scope — manual_host_action или manual_event_action.

name

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

Имя скрипта.

new_window

boolean

Открывать URL в новом окне?

Доступно, только если script_type — url

Варианты:

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

parameters

list / elements=dictionary

Массив входных параметров вебхука.

Используется, если тип — webhook.

name

string

Имя параметра. Обязателен, если для скрипта типа ‘webhook’ задан параметр ‘parameters’.

value

string

Значение параметра. Поддерживает макросы.

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

password

string

Пароль для скриптов SSH с аутентификацией по паролю и скриптов Telnet.

Используется, если тип — ssh и authtype — password либо тип — telnet.

port

string

Номер порта для скриптов SSH и Telnet.

Используется, если тип — ssh или telnet.

privatekey

string

Имя файла закрытого ключа для скриптов SSH с аутентификацией по открытому ключу.

Используется, если тип — ssh и authtype — public_key.

publickey

string

Имя файла открытого ключа для скриптов SSH с аутентификацией по открытому ключу.

Используется, если тип — ssh и authtype — public_key.

scope

string

Область действия скрипта.

Варианты:

  • "action_operation" ← (по умолчанию)
  • "manual_host_action"
  • "manual_event_action"

script_timeout

string

Тайм-аут выполнения скрипта вебхука в секундах. Поддерживаются суффиксы единиц времени, например 30s, 1m.

Обязателен, если тип — webhook.

Допустимые значения: 1–60s.

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

script_type

string

Тип скрипта. Обязательный параметр, если state имеет значение ‘present’.

Значение ‘url’ доступно только в версии 7.0 или новее

Варианты:

  • "script"
  • "ipmi"
  • "ssh"
  • "telnet"
  • "webhook"
  • "url"

state

string

Состояние скрипта.

Варианты:

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

url

string

URL для быстрого доступа

Обязателен, если script_type — url

Доступен, только если script_type — url

user_group

string

Имя группы пользователей, которой разрешено запускать скрипт. Если указать «all», скрипт будет доступен всем группам пользователей.

Используется, если scope — manual_host_action или manual_event_action.

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

user_input_default_input

string

Вводимое пользователем значение по умолчанию

Доступно, если user_input_type — regex

Доступно для Zabbix >= 7.0.

user_input_enabled

boolean

Разрешить расширенную настройку пользовательского ввода

Доступно для Zabbix >= 7.0.

Варианты:

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

user_input_list

list / elements=string

Список вариантов, доступных пользователю.

Обязателен, если user_input_type — dropdown.

ПРИМЕЧАНИЕ: первый вариант будет выбран по умолчанию.

Доступно для Zabbix >= 7.0.

user_input_prompt

string

Приглашение, отображаемое при включённом пользовательском вводе

Обязателен, если user_input_enabled — True

Доступно для Zabbix >= 7.0.

user_input_regex

string

Регулярное выражение для проверки пользовательского ввода

Обязателен, если user_input_type — regex

Доступно для Zabbix >= 7.0.

user_input_type

string

Вариант ‘regex’ позволяет использовать регулярное выражение

Вариант ‘dropdown’ позволяет использовать заранее заданный список вариантов

Обязателен, если user_input_enabled — true

Доступно для Zabbix >= 7.0.

Варианты:

  • "regex"
  • "dropdown"

username

string

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

Используется, если тип — ssh или telnet

Примеры

# 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

- name: test - Create new action operation script to execute webhook
  # 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_script:
    name: Test action operation script
    scope: action_operation
    script_type: webhook
    command: "return 0"
    description: "Test action operation script"
    state: present

Авторы

  • 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_script_module.html

Spec-Zone.ru

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