community.zabbix.zabbix_inventory 库存 – Zabbix 库存插件
注意
此库存插件是 community.zabbix 集合 (版本 3.2.0) 的一部分。
如果您正在使用 ansible
包,则您可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.zabbix
。您需要满足其他要求才能使用此库存插件,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定: 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) 如果提供,则忽略 |
|
切换以启用/禁用库存源数据的缓存,需要设置缓存插件才能工作。 选项
配置
|
|
缓存连接数据或路径,请阅读缓存插件文档以了解详细信息。 配置
|
|
要用于库存源数据的缓存插件。 默认值: 配置
|
|
用于缓存插件文件/表的 prefix 默认值: 配置
|
|
缓存持续时间(秒) 默认值: 配置
|
|
从 jinja2 表达式创建变量。 默认值: |
|
根据 Jinja2 条件将主机添加到组。 默认值: |
|
主机的 API 查询 - 请参阅 Zabbix 文档了解更多详情 https://www.zabbix.com/documentation/current/manual/api/reference/host/get 默认值: |
|
查询 返回主机应用程序的应用程序属性。 要返回所有值,请指定“extend” 可以限制为不同的字段,例如,将值设置为“[“name”]”将只返回名称 可以通过逗号分隔的值指定附加字段“[“name”, “field2”]” 有关字段名称的更多详细信息,请参见https://www.zabbix.com/documentation/current/manual/api/reference/application/object |
|
查询 返回仪表盘属性。 要返回所有值,请指定‘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 |
|
基本身份验证密码 |
|
基本身份验证登录名 |
|
根据变量的值将主机添加到组。 默认值: |
|
当主机变量的值为空字符串时的默认值。 |
|
用于生成组的输入字典中的键 |
|
键控组的父组 |
|
键控组名称将以此前缀开头 默认值: |
|
用于构建键控组名称的分隔符 默认值: |
|
将此选项设置为 此选项与 选项
|
|
与keyed_groups结合使用。 默认情况下,没有提供前缀或分隔符的键控组的名称将以下划线开头。 这是因为默认前缀为“”而默认分隔符为“_”。 如果未给出前缀,则将此选项设置为False以省略前导下划线(或其他分隔符)。 如果组名称来自映射,则分隔符仍用于连接项目。 要完全不使用组名称中的分隔符,请将键控组的分隔符设置为空字符串。 选项
|
|
用于访问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