community.zabbix.zabbix_connector module – Create/Delete/Update Zabbix connectors
Note
This module is part of the community.zabbix collection (version 3.3.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.zabbix
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.zabbix.zabbix_connector
.
New in community.zabbix 3.3.0
Synopsis
This module allows you to create, modify and delete Zabbix connectors.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.9
Parameters
Parameter |
Comments |
---|---|
Parameter introduced in Zabbix 7.0 Interval between attempts in seconds (value between 0 and 10). |
|
HTTP authentication method used by the connector. Choices:
|
|
Type of data being streamed. Choices:
|
|
Description of the connector. |
|
Whether the connector is enabled. (mapped to the status property of the connector object in the Zabbix API) Choices:
|
|
Basic Auth password |
|
Basic Auth login |
|
HTTP(S) proxy used by the connector. |
|
Parameter introduced in Zabbix 7.0 List of value types to stream. Each element should be one of
|
|
Maximum number of attempts. |
|
Maximum number of records sent in one message. |
|
Number of sender processes used by the connector. |
|
Name of the connector. |
|
Password to authenticate the connector with the receiver. Supported only if |
|
Public SSL key file path for client authentication. |
|
Private SSL key file path for client authentication. |
|
Password of the private SSL key file. |
|
State of the connector. On On Choices:
|
|
List of tags to filter streamed data. |
|
Conditional operator used to filter . Choices:
|
|
Name of the tag. |
|
Value of the tag compared. |
|
Tag filter evaluation method. Choices:
|
|
Message sending timeout in seconds (value between 1 and 60). |
|
Bearer token to authenticate the connector with the receiver. Required when |
|
URL of the receiver used by the connector. |
|
Username to authenticate the connector with the receiver. Supported only if |
|
Whether the connector should verify the receiver’s hostname against the certificate’s CN or SAN fields. Choices:
|
|
Whether the connector should verify the receiver’s certificate. Choices:
|
Examples
# 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: Create or update a connector
# 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_proxy:
name: My app connector
description: Connector to send item values to My app
state: present
enabled: true
data_type: item_values
url: https://my-app.example.com/api/zabbix-stream
auth_type: bearer
token: "{{ my_app_bearer_token }}"
value_types:
- numeric_float
- character
- numeric_unsigned
- text
tags_eval_type: and/or
tags:
- tag: to-my-app
operator: exists
- tag: privacy
operator: does not equal
value: hidden
- name: Delete a connector
# 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_proxy:
name: My app connector
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Text result of the operation. Returned: always Sample: |
|
JSON result of the Zabbix API call Returned: success Sample: |