community.zabbix.zabbix_script 模块 – 创建/更新/删除 Zabbix 脚本
注意
此模块是 community.zabbix 集合(版本 3.2.0)的一部分。
如果您使用的是 ansible
包,您可能已经安装了这个集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.zabbix
。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:community.zabbix.zabbix_script
。
community.zabbix 1.7.0 中的新增功能
概要
此模块允许您创建、更新和删除脚本。
要求
执行此模块的主机需要以下要求。
python >= 3.9
参数
参数 |
注释 |
---|---|
用于 SSH 脚本类型的身份验证方法。 如果类型为 选择
|
|
要运行的命令。当状态为“present”时,此项为必填项。 |
|
确认弹出文本。尝试从 Zabbix 前端运行脚本时,将出现弹出窗口。 如果范围为 |
|
脚本的描述。 |
|
在何处运行脚本。 如果类型为 选择
|
|
运行脚本所需的主机权限。 如果范围为 选择
|
|
可以运行脚本的主机组名称。如果设置为“all”,则该脚本将在所有主机组上可用。 默认值: |
|
基本身份验证密码 |
|
基本身份验证登录名 |
|
当单击主机或事件时,由斜杠分隔的文件夹在前端形成一个类似菜单的导航。 如果范围为 |
|
脚本的名称。 |
|
Webhook 输入参数的数组。 如果类型为 |
|
参数名称。当为“webhook”脚本指定“parameters”时,此项为必填项。 |
|
参数值。支持宏。 默认值: |
|
用于使用密码身份验证的 SSH 脚本和 Telnet 脚本的密码。 如果类型为 |
|
用于 SSH 和 Telnet 脚本的端口号。 如果类型为 |
|
用于使用公钥身份验证的 SSH 脚本的私钥文件名。 如果类型为 |
|
用于使用公钥身份验证的 SSH 脚本的公钥文件名。 如果类型为 |
|
脚本范围。 选择
|
|
Webhook 脚本执行超时(以秒为单位)。支持时间后缀,例如 30s、1m。 如果类型为 可能的值:1-60 秒。 默认值: |
|
脚本类型。当状态为“present”时,此项为必填项。 选择
|
|
脚本的状态。 选择
|
|
允许运行脚本的用户组名称。如果设置为“all”,则该脚本将对所有用户组可用。 如果范围为 默认值: |
|
用于身份验证的用户名。 如果类型为 |
示例
# 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