community.zabbix.zabbix_inventory inventory – Zabbix 资源清单插件
注意
此资源清单插件是 community.zabbix 集合 (版本 3.2.0) 的一部分。
如果您使用的是 ansible
软件包,则可能已安装此集合。它不包含在 ansible-core
中。要检查是否已安装它,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.zabbix
。您需要其他要求才能使用此资源清单插件,有关详细信息,请参见 要求。
要在剧本中使用它,请指定:community.zabbix.zabbix_inventory
。
community.zabbix 1.4.0 中的新增功能
概要
Zabbix 资源清单插件
来自 zabbix 的所有变量都以 zbx_ 为前缀
要求
以下要求是在执行此资源清单的本地控制器节点上需要的。
python >= 3.9
参数
参数 |
注释 |
---|---|
如果设置为 True,则主机将根据其 Zabbix 组添加到组中 选项
|
|
Zabbix 身份验证令牌(参见 https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/users/api_tokens) 如果提供,则忽略 |
|
切换以启用/禁用资源清单源数据的缓存,需要设置缓存插件才能工作。 选项
配置
|
|
缓存连接数据或路径,有关详细信息,请阅读缓存插件文档。 配置
|
|
要用于资源清单源数据的缓存插件。 默认值: 配置
|
|
用于缓存插件文件/表的字首。 默认值: 配置
|
|
缓存持续时间(秒)。 默认值: 配置
|
|
从 jinja2 表达式创建变量。 默认值: |
|
根据 Jinja2 条件将主机添加到组。 默认值: |
|
主机 API 查询 - 详情请参见 Zabbix 文档 https://www.zabbix.com/documentation/current/manual/api/reference/host/get 默认值: |
|
查询 返回包含主机应用的 applications 属性。 要返回所有值,请指定“extend” 可以限制为不同的字段,例如,将值设置为 [“name”] 将只返回名称 可以使用逗号分隔的值指定其他字段 [“name”, “field2”] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/application/object |
|
查询 返回 dashboards 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/templatedashboard/object |
|
查询 返回包含主机低级别发现规则的 discoveries 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/discoveryrule/object |
|
查询 返回包含创建主机的低级别发现规则的 discoveryRule 属性(来自 VMware 监控中的主机原型)。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/discoveryrule/object |
|
查询 返回包含主机低级别发现规则的 discoveries 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/graph/object |
|
查询 返回包含主机所属主机组数据的 groups 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/hostgroup/object |
|
查询 返回包含主机发现对象数据的 hostDiscovery 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/host/get |
|
查询 返回包含主机 Web 场景的 httpTests 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/httptest/object |
|
查询 返回包含链接到主机的所有模板上的标签的 inheritedTags 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/host/object#host_tag |
|
查询 返回包含主机接口的 interfaces 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/hostinterface/object |
|
查询 返回包含主机库存数据的 inventory 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/host/object#host_inventory |
|
查询 返回包含主机项目的 items 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/item/object |
|
查询 返回包含主机宏的 macros 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/usermacro/object |
|
查询 返回包含主机链接到的模板的 parentTemplates 属性 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/template/object |
|
查询 返回包含主机标签的 tags 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/host/object#host_tag |
|
查询 返回包含主机触发器的 triggers 属性。 要返回所有值,请指定 ‘extend’ 可以限制为不同的字段,例如,将值设置为 [‘name’] 将只返回名称 可以使用逗号分隔的值指定其他字段 [‘name’, ‘field2’] 有关字段名称的更多详细信息,请参见 https://www.zabbix.com/documentation/current/manual/api/reference/host/object#host_tag |
|
基本身份验证密码 |
|
基本身份验证登录名 |
|
基于变量的值将主机添加到组。 默认值: |
|
主机变量的值为空字符串时的默认值。 此选项与 |
|
用于生成组的输入字典中的键。 |
|
键控组的父组。 |
|
键控组名称将以此前缀开头。 默认值: |
|
用于构建键控组名称的分隔符。 默认值: |
|
将此选项设置为 此选项与 选项
|
|
与 默认情况下,没有提供前缀或分隔符的键控组的名称将以下划线开头。 这是因为默认前缀是 如果未给出前缀,则将此选项设置为 如果组名称是从映射中派生的,则仍然使用分隔符来连接项目。 要完全不使用组名称中的分隔符,请将键控组的分隔符设置为空字符串。 选项
|
|
用于访问 Zabbix API 的代理服务器 默认值: |
|
如果设置为 由于可以在表达式中使用事实,因此它们可能并不总是可用,因此我们默认忽略这些错误。 选项
|
|
API 请求的超时时间(秒)。 默认值: |
|
将额外的变量合并到可用于组合的变量中(最高优先级)。 选项
配置
|
|
示例
# Simple Inventory Plugin example
# This will create an inventory with details from zabbix such as applications name, applicaitonids, Parent Template Name, and group membership name
#It will also create 2 ansible inventory groups for enabled and disabled hosts in zabbix based on the status field.
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
login_user: Admin
login_password: password
host_zapi_query:
selectApplications: ['name', 'applicationid']
selectParentTemplates: ['name']
selectGroups: ['name']
validate_certs: false
groups:
enabled: zbx_status == "0"
disabled: zbx_status == "1"
#Using Keyed Groups
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
login_user: Admin
login_password: password
validate_certs: false
keyed_groups:
- key: zbx_status | lower
prefix: 'env'
- key: zbx_description | lower
prefix: 'test'
separator: ''
#Using proxy format of proxy is 'http://<user>:<pass>@<proxy>:<port>' or 'http://<proxy>:<port>'
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
proxy: http://someproxy:8080
login_user: Admin
login_password: password
validate_certs: false
#Organize inventory groups based on zabbix host groups
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
add_zabbix_groups: true
login_user: Admin
login_password: password
validate_certs: false
#Using compose to modify vars
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
login_user: Admin
login_password: password
validate_certs: false
compose:
zbx_testvar: zbx_status.replace("1", "Disabled")
#Using auth token instead of username/password
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
auth_token: 3bc3dc85e13e2431812e7a32fa8341cbcf378e5101356c015fdf2e35fd511b06
validate_certs: false
#Using jinga2 template for auth token instead of username/password.
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
auth_token: "{{ lookup('ansible.builtin.env', 'ZABBIX_API_KEY') }}"
validate_certs: false