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_action
.
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
acknowledge_default_message string | Update operation (known as "Acknowledge operation" before Zabbix 4.0) message text. With >= Zabbix 5.0 this field is removed from the API and is dropped silently by module. Works only with >= Zabbix 3.4 and < Zabbix 5.0 | ||
acknowledge_default_subject string | Update operation (known as "Acknowledge operation" before Zabbix 4.0) message subject. With >= Zabbix 5.0 this field is removed from the API and is dropped silently by module. Works only with >= Zabbix 3.4 and < Zabbix 5.0 | ||
acknowledge_operations list / elements=string | List of acknowledge operations. Action acknowledge operations are known as update operations since Zabbix 4.0. Suboptions are the same as for operations.Works only with >= Zabbix 3.4 aliases: update_operations | ||
conditions list / elements=dictionary | List of conditions to use for filtering results. For more information about suboptions of this option please check out Zabbix API documentation https://www.zabbix.com/documentation/5.0/manual/api/reference/action/object#action_filter_condition
| ||
formulaid string | Arbitrary unique ID that is used to reference the condition from a custom expression. Can only contain upper-case letters. Required for custom expression filters and ignored otherwise. | ||
operator string |
| Condition operator. When type is set to time_period , the choices are in , not in .matches , does not match , Yes and No condition operators work only with >= Zabbix 4.0 | |
type string | Type (label) of the condition. Possible values when event_source=trigger: - host_group
- host
- trigger
- trigger_name
- trigger_severity
- time_period
- host_template
- application
- maintenance_status known in Zabbix 4.0 and above as "Problem is suppressed"- event_tag
- event_tag_value
Possible values when event_source=discovery: - host_IP
- discovered_service_type
- discovered_service_port
- discovery_status
- uptime_or_downtime_duration
- received_value
- discovery_rule
- discovery_check
- proxy
- discovery_object
Possible values when event_source=auto_registration: - proxy
- host_name
- host_metadata
Possible values when event_source=internal: - host_group
- host
- host_template
- application
- event_type
| ||
value string | Value to compare with. When type=discovery_status, the choices are: - up
- down
- discovered
- lost
When type=discovery_object, the choices are: - host
- service
When type=event_type, the choices are: - item in not supported state
- item in normal state
- LLD rule in not supported state
- LLD rule in normal state
- trigger in unknown state
- trigger in normal state
When type=trigger_severity, the choices are (case-insensitive): - not classified
- information
- warning
- average
- high
- disaster
Irrespective of user-visible names being changed in Zabbix. Defaults to not classified if omitted.Besides the above options, this is usually either the name of the object or a string to compare with. | ||
value2 string | Secondary value to compare with. Required for trigger actions when condition type=event_tag_value. | ||
default_message string | Problem message default text. With >= Zabbix 5.0 this field is removed from the API and is dropped silently by module. Works only with < Zabbix 5.0 | ||
default_subject string | Problem message default subject. With >= Zabbix 5.0 this field is removed from the API and is dropped silently by module. Works only with < Zabbix 5.0 | ||
esc_period string | Default operation step duration. Must be greater than 60 seconds. Accepts only seconds in int for <= Zabbix 3.2 Accepts seconds, time unit with suffix and user macro since => Zabbix 3.4 Required when state=present . | ||
eval_type string |
| Filter condition evaluation method. Defaults to andor if conditions are less then 2 or if formula is not specified.Defaults to custom_expression when formula is specified. | |
event_source string |
| Type of events that the action will handle. Required when state=present . | |
formula string | User-defined expression to be used for evaluating conditions with a custom expression. The expression must contain IDs that reference each condition by its formulaid. The IDs used in the expression must exactly match the ones defined in the conditions. No condition can remain unused or omitted. Required when eval_type=custom_expression. Use sequential IDs that start at "A". If non-sequential IDs are used, Zabbix re-indexes them. This makes each module run notice the difference in IDs and update the action. | ||
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. | ||
name string / required | Name of the action | ||
operations list / elements=string | List of action operations | ||
command string | Command to run. Required when type=remote_command and command_type!=global_script. | ||
command_type string |
| Type of operation command. Required when type=remote_command. | |
esc_period string | Default: "0s" | Duration of an escalation step in seconds. Must be greater than 60 seconds. Accepts only seconds in int for <= Zabbix 3.2 Accepts seconds, time unit with suffix and user macro since => Zabbix 3.4 If set to 0 or 0s, the default action escalation period will be used. | |
esc_step_from string | Default: 1 | Step to start escalation from. | |
esc_step_to string | Default: 1 | Step to end escalation at. Specify 0 for infinitely. | |
execute_on string |
| Target on which the custom script operation command will be executed. Required when type=remote_command and command_type=custom_script. | |
host_groups list / elements=string | List of host groups host should be added to. Required when type=add_to_host_group or type=remove_from_host_group. | ||
inventory string |
| Host inventory mode. Required when type=set_host_inventory_mode. | |
media_type string | Default: "all" | Media type that will be used to send the message. Can be used with type=send_message or type=notify_all_involved inside acknowledge_operations. Set to all for all media types | |
message string | Operation message text. Will check the 'default message' and use the text from default_message if this and default_subject are not specified | ||
operation_condition string |
| The action operation condition object defines a condition that must be met to perform the current operation. | |
password string | Password used for authentication. Required when ssh_auth_type=password or command_type=telnet. Can be used when type=remote_command. | ||
port string | Port number used for authentication. Can be used when command_type in [ssh, telnet] and type=remote_command. | ||
run_on_groups string | Host groups to run remote commands on. Required when type=remote_command and run_on_hosts is not set. | ||
run_on_hosts string | Hosts to run remote commands on. Required when type=remote_command and run_on_groups is not set. If set to 0 the command will be run on the current host. | ||
script_name string | The name of script used for global script commands. Required when command_type=global_script. Can be used when type=remote_command. | ||
send_to_groups list / elements=string | User groups to send messages to. | ||
send_to_users list / elements=string | Users (usernames or aliases) to send messages to. | ||
ssh_auth_type string |
| Authentication method used for SSH commands. Required when type=remote_command and command_type=ssh. | |
ssh_privatekey_file string | Name of the private key file used for SSH commands with public key authentication. Required when ssh_auth_type=public_key. Can be used when type=remote_command. | ||
ssh_publickey_file string | Name of the public key file used for SSH commands with public key authentication. Required when ssh_auth_type=public_key. Can be used when type=remote_command. | ||
subject string | Operation message subject. Will check the 'default message' and use the text from default_subject if this and default_subject are not specified | ||
templates list / elements=string | List of templates host should be linked to. Required when type=link_to_template or type=unlink_from_template. | ||
type string |
| Type of operation. Valid choices when setting type for recovery_operations and acknowledge_operations: - send_message
- remote_command
- notify_all_involved
Choice notify_all_involved only supported in recovery_operations and acknowledge_operations. | |
username string | User name used for authentication. Required when ssh_auth_type in [public_key, password] or command_type=telnet. Can be used when type=remote_command. | ||
pause_in_maintenance boolean |
| Whether to pause escalation during maintenance periods or not. Can be used when event_source=trigger. | |
recovery_default_message string | Recovery message text. With >= Zabbix 5.0 this field is removed from the API and is dropped silently by module. Works only with >= Zabbix 3.2 and < Zabbix 5.0 | ||
recovery_default_subject string | Recovery message subject. With >= Zabbix 5.0 this field is removed from the API and is dropped silently by module. Works only with >= Zabbix 3.2 and < Zabbix 5.0 | ||
recovery_operations list / elements=string | List of recovery operations. Suboptions are the same as for operations.Works only with >= Zabbix 3.2 | ||
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 | ||
state string |
| State of the action. On present , it will create an action if it does not exist or update the action if the associated data is different.On absent , it will remove the action if it exists. | |
status string |
| Status of the action. | |
timeout integer | Default: 10 | The timeout of API request (seconds). | |
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. |
Note
no_log
. See this FAQ for more information.# Trigger action with only one condition - name: Deploy trigger action community.zabbix.zabbix_action: server_url: "http://zabbix.example.com/zabbix/" login_user: Admin login_password: secret name: "Send alerts to Admin" event_source: 'trigger' state: present status: enabled esc_period: 60 conditions: - type: 'trigger_severity' operator: '>=' value: 'Information' operations: - type: send_message subject: "Something bad is happening" message: "Come on, guys do something" media_type: 'Email' send_to_users: - 'Admin' # Trigger action with multiple conditions and operations - name: Deploy trigger action community.zabbix.zabbix_action: server_url: "http://zabbix.example.com/zabbix/" login_user: Admin login_password: secret name: "Send alerts to Admin" event_source: 'trigger' state: present status: enabled esc_period: 1m conditions: - type: 'trigger_name' operator: 'like' value: 'Zabbix agent is unreachable' formulaid: A - type: 'trigger_severity' operator: '>=' value: 'disaster' formulaid: B formula: A or B operations: - type: send_message media_type: 'Email' send_to_users: - 'Admin' - type: remote_command command: 'systemctl restart zabbix-agent' command_type: custom_script execute_on: server run_on_hosts: - 0 # Trigger action with recovery and acknowledge operations - name: Deploy trigger action community.zabbix.zabbix_action: server_url: "http://zabbix.example.com/zabbix/" login_user: Admin login_password: secret name: "Send alerts to Admin" event_source: 'trigger' state: present status: enabled esc_period: 1h conditions: - type: 'trigger_severity' operator: '>=' value: 'Information' operations: - type: send_message subject: "Something bad is happening" message: "Come on, guys do something" media_type: 'Email' send_to_users: - 'Admin' recovery_operations: - type: send_message subject: "Host is down" message: "Come on, guys do something" media_type: 'Email' send_to_users: - 'Admin' acknowledge_operations: - type: send_message media_type: 'Email' send_to_users: - 'Admin'
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
msg string | success | The result of the operation Sample: Action Deleted: Register webservers, ID: 0001 |
© 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_action_module.html