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” 模块排除有故障的主机。

  • 如果 Zabbix 主机存在模板触发器,则允许 “triggers_ok” 的长度

要求

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

  • 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)