community.zabbix.zabbix_host_events_info 模块 – 获取关于 Zabbix 主机的全部触发器

注意

此模块是 community.zabbix 集合 (版本 3.2.0) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.zabbix。您需要满足其他要求才能使用此模块,有关详细信息,请参见 要求

要在 playbook 中使用它,请指定: community.zabbix.zabbix_host_events_info

概要

  • 此模块允许您查看 Zabbix 主机是否没有活动警报,以便对其执行操作。在这种情况下,使用 Ansible “fail” 模块来排除有问题的host。

  • “triggers_ok” 的长度允许 Zabbix 主机存在模板触发器。

要求

执行此模块的主机需要以下要求。

  • python >= 3.9

参数

参数

注释

host_id_type

字符串

host_identifier 的类型

选项

  • "hostname" ← (默认)

  • "visible_name"

  • "hostid"

host_identifier

字符串 / 必需

Zabbix 主机的标识符

http_login_password

字符串

基本身份验证密码

http_login_user

字符串

基本身份验证用户名

tags

列表 / 元素=字典

要按其过滤的标签列表

operator

字符串 / 必需

如何匹配标签

选项

  • "like"

  • "equal"

  • "not_like"

  • "not_equal"

  • "exists"

  • "not_exists"

tag

字符串 / 必需

标签名称

value

字符串 / 必需

标签值

trigger_severity

字符串

用于搜索过滤器的 Zabbix 严重性

选项

  • "not_classified"

  • "information"

  • "warning"

  • "average" ← (默认)

  • "high"

  • "disaster"

示例

# 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: exclude machine if alert active on it
  # 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_host_events_info:
      host_identifier: "{{inventory_hostname}}"
      host_id_type: "hostname"
  register: zbx_host
  delegate_to: localhost
- fail:
    msg: "machine alert in zabbix"
  when: zbx_host["triggers_problem"]|length > 0


- name: filter events for host based on tag
  # 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_host_events_info:
      host_identifier: "{{inventory_hostname}}"
      host_id_type: "hostname"
      tags:
        - tag: ExampleTag
          value: ExampleValue
          operator: equal

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段

描述

triggers_ok

复杂

处于 OK 状态的主机 Zabbix 触发器

返回:成功时

comments

字符串

触发器的附加描述

返回:成功

description

字符串

触发器的名称

返回:成功

error

字符串

如果更新触发器状态时出现任何问题,则显示错误文本

返回:成功

expression

字符串

简化的触发器表达式

返回:成功

flags

整数

触发器的来源

返回:成功

lastchange

整数

触发器上次更改其状态的时间 (时间戳)

返回:成功

priority

整数

触发器的严重性

返回:成功

state

整数

触发器的状态

返回:成功

status

整数

触发器是启用还是禁用

返回:成功

templateid

整数

父模板触发器的 ID

返回:成功

triggerid

整数

触发器的 ID

返回:成功

type

整数

触发器是否可以生成多个问题事件

返回:成功

url

字符串

与触发器关联的 URL

返回:成功

value

整数

触发器处于 OK 状态还是问题状态

返回:成功

triggers_problem

复杂

处于问题状态的主机 Zabbix 触发器。有关更多信息,请参阅您 Zabbix 版本的 API 文档中的触发器和事件对象。

返回:成功时

comments

字符串

触发器的附加描述

返回:成功

description

字符串

触发器的名称

返回:成功

error

字符串

如果更新触发器状态时出现任何问题,则显示错误文本

返回:成功

expression

字符串

简化的触发器表达式

返回:成功

flags

整数

触发器的来源

返回:成功

last_event

复杂

上次事件信息

返回:成功

acknowledged

整数

如果设置为 true,则仅返回已确认的事件

返回:成功

acknowledges

复杂

确认信息

返回:成功

alias

字符串

确认的用户

返回:成功

clock

整数

事件创建时间 (时间戳)

返回:成功

message

字符串

确认消息的文本

返回:成功

clock

整数

事件创建时间 (时间戳)

返回:成功

eventid

整数

事件的 ID

返回:成功

tags

列表 / 元素=字符串

标签列表

返回:成功

value

整数

相关对象的状

返回:成功

lastchange

整数

触发器上次更改其状态的时间 (时间戳)

返回:成功

priority

整数

触发器的严重性

返回:成功

state

整数

触发器的状态

返回:成功

status

整数

触发器是启用还是禁用

返回:成功

templateid

整数

父模板触发器的 ID

返回:成功

triggerid

整数

触发器的 ID

返回:成功

type

整数

触发器是否可以生成多个问题事件

返回:成功

url

字符串

与触发器关联的 URL

返回:成功

value

整数

触发器处于 OK 状态还是问题状态

返回:成功

作者

  • Stéphane Travassac (@stravassac)