Note
This plugin is part of the community.zabbix collection (version 1.5.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
.
To use it in a playbook, specify: community.zabbix.zabbix_mediatype
.
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
attempt_interval integer | Default: 10 | The interval between retry attempts. Possible range is 0-60. Works only with Zabbix versions 3.4 or newer. | |
description string | Default: "" | Description of the media type. Works only with Zabbix versions 4.4 or newer. | |
event_menu boolean |
| Can be used when type=webhook. Includes entry in Event menu with link to created external ticket. | |
event_menu_name string | Requred when event_menu=True. Event menu entry name. | ||
event_menu_url string | Requred when event_menu=True. Event menu entry underlying URL. | ||
gsm_modem string | Serial device name of the gsm modem. Required when type=sms. | ||
http_login_password string | Basic Auth password | ||
http_login_user string | Basic Auth login | ||
login_password string / required | Zabbix user password. If not set the environment variable ZABBIX_PASSWORD will be used. | ||
login_user string / required | Zabbix user name. If not set the environment variable ZABBIX_USERNAME will be used. | ||
max_attempts integer | Default: 3 | The maximum number of attempts to send an alert. Possible range is 0-10. Works only with Zabbix versions 3.4 or newer. | |
max_sessions integer | Default: 1 | The maximum number of alerts that can be processed in parallel. Possible value is 1 when type=sms and 0-100 otherwise. Works only with Zabbix versions 3.4 or newer. | |
message_templates list / elements=dictionary | Default: [] | Default notification messages for the event types. Works only with Zabbix versions 5.0 or newer. | |
body string | Default: "" | Body of the default message. May contain macros. | |
eventsource string |
| Event source. Required when recovery is used. | |
recovery string |
| Operation mode. Required when eventsource is used. | |
subject string | Default: "" | Subject of the default message. May contain macros and is limited to 255 characters. | |
message_text_limit string |
| The message text limit. Required when type=ez_texting. 160 characters for USA and 136 characters for Canada. | |
name string / required | Name of the media type. | ||
password string | Authentication password. Required when type=jabber or type=ez_texting. Required when type=email and smtp_authentication=true. | ||
process_tags boolean |
| Can be used when type=webhook. Process returned JSON property values as tags. These tags are added to the already existing (if any) problem event tags in Zabbix. | |
script_name string | The name of the executed script. Required when type=script. | ||
script_params list / elements=string | List of script parameters. Required when type=script. | ||
server_url string / required | URL of Zabbix server, with protocol (http or https). url is an alias for server_url .If not set the environment variable ZABBIX_SERVER will be used.aliases: url | ||
smtp_authentication boolean |
| Whether SMTP authentication with username and password should be enabled or not. If set to true , username and password should be specified. | |
smtp_email string | Email address from which notifications will be sent. Required when type=email. | ||
smtp_helo string | Default: "localhost" | SMTP HELO. Required when type=email. | |
smtp_security string |
| SMTP connection security level to use. | |
smtp_server string | Default: "localhost" | SMTP server host. Required when type=email. | |
smtp_server_port integer | Default: 25 | SMTP server port. Required when type=email. | |
smtp_verify_host boolean |
| SSL verify host for SMTP. Can be specified when smtp_security=STARTTLS or smtp_security=SSL/TLS
| |
smtp_verify_peer boolean |
| SSL verify peer for SMTP. Can be specified when smtp_security=STARTTLS or smtp_security=SSL/TLS
| |
state string |
| Desired state of the mediatype. On present , it will create a mediatype if it does not exist or update the mediatype if the associated data is different.On absent , it will remove the mediatype if it exists. | |
status string |
| Whether the media type is enabled or no. | |
timeout integer | Default: 10 | The timeout of API request (seconds). | |
type string / required |
| Type of the media type. Media types jabber and ez_texting works only with Zabbix versions 4.2 or older. Media type webhook works only with Zabbix versions 4.4 or newer. | |
username string | Username or Jabber identifier. Required when type=jabber or type=ez_texting. Required when type=email and smtp_authentication=true. | ||
validate_certs boolean |
| If set to False, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. If not set the environment variable ZABBIX_VALIDATE_CERTS will be used. | |
webhook_params list / elements=dictionary | Default: [] | Can be used when type=webhook. Webhook variables that are passed to webhook script when executed. | |
name string / required | Name of the parameter. | ||
value string | Default: "" | Value of the parameter. All macros that are supported in problem notifications are supported in the parameters. Values are URL-encoded automatically. Values from macros are resolved and then URL-encoded automatically. | |
webhook_script string | Required when type=webhook. JavaScript code that will perform webhook operation. This code has access to all parameters in webhook_params. It may perform HTTP GET, POST, PUT and DELETE requests and has control over HTTP headers and request body. It may return OK status along with an optional list of tags and tag values or an error string. Works only with Zabbix versions 4.4 or newer. | ||
webhook_timeout string | Default: "30s" | Can be used when type=webhook. Execution timeout for JavaScript code in webhook_script. Possible values are 1-60s. |
Note
no_log
. See this FAQ for more information.- name: 'Create an email mediatype with SMTP authentication' community.zabbix.zabbix_mediatype: name: "Ops email" server_url: "http://example.com/zabbix/" login_user: Admin login_password: "zabbix" type: 'email' smtp_server: 'example.com' smtp_server_port: 2000 smtp_email: '[email protected]' smtp_authentication: true username: 'smtp_user' password: 'smtp_pass' - name: 'Create a script mediatype' community.zabbix.zabbix_mediatype: name: "my script" server_url: "http://example.com/zabbix/" login_user: Admin login_password: "zabbix" type: 'script' script_name: 'my_script.py' script_params: - 'arg1' - 'arg2' - name: 'Create a jabber mediatype' community.zabbix.zabbix_mediatype: name: "My jabber" server_url: "http://example.com/zabbix/" login_user: Admin login_password: "zabbix" type: 'jabber' username: 'jabber_id' password: 'jabber_pass' - name: 'Create a SMS mediatype' community.zabbix.zabbix_mediatype: name: "My SMS Mediatype" server_url: "http://example.com/zabbix/" login_user: Admin login_password: "zabbix" type: 'sms' gsm_modem: '/dev/ttyS0' # Supported since Zabbix 4.4 - name: 'Create a webhook mediatype' community.zabbix.zabbix_mediatype: name: "My webhook Mediatype" server_url: "http://example.com/zabbix/" login_user: Admin login_password: "zabbix" type: 'webhook' webhook_script: "{{ lookup('file', 'slack.js') }}" webhook_params: - name: alert_message value: '{ALERT.MESSAGE}' - name: zabbix_url value: '{$ZABBIX.URL}' process_tags: True event_menu: true event_menu_name: "Open in Slack: '{EVENT.TAGS.__channel_name}'" event_menu_url: '{EVENT.TAGS.__message_link}' # Supported since Zabbix 5.0 - name: 'Create an email mediatype with message templates' community.zabbix.zabbix_mediatype: name: "Ops email" server_url: "http://example.com/zabbix/" login_user: Admin login_password: "zabbix" type: 'email' smtp_email: '[email protected]' message_templates: - eventsource: triggers recovery: operations subject: "Problem: {EVENT.NAME}" body: "Problem started at {EVENT.TIME} on {EVENT.DATE}\r\nProblem name: {EVENT.NAME}\r\n" - eventsource: triggers recovery: recovery_operations subject: "Resolved: {EVENT.NAME}" body: "Problem resolved at {EVENT.TIME} on {EVENT.DATE}\r\nProblem name: {EVENT.NAME}\r\n" - eventsource: triggers recovery: update_operations subject: "Updated problem: {EVENT.NAME}" body: "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.\r\n" - eventsource: discovery recovery: operations subject: "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}" body: "Discovery rule: {DISCOVERY.RULE.NAME}\r\n\r\nDevice IP: {DISCOVERY.DEVICE.IPADDRESS}" - eventsource: autoregistration recovery: operations subject: "Autoregistration: {HOST.HOST}" body: "Host name: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {HOST.PORT}"
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/zabbix/zabbix_mediatype_module.html