ansible / ansible.builtin / v2.8.13 / module / zabbix_action Create/Delete/Update Zabbix actions | "added in version" 2.8 of ansible.builtin" Authors: Ruben Tsirunyan (@rubentsirunyan), Ruben Harutyunov (@K-DOT) preview | supported by communityansible.builtin.zabbix_action (v2.8.13) — module
pip
Install with pip install ansible==2.8.13
This module allows you to create, modify and delete Zabbix actions.
# Trigger action with only one condition - name: Deploy trigger action 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 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 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 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' run_on_hosts: - 0
# Trigger action with recovery and acknowledge operations - name: Deploy trigger action 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 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'
name: description: - Name of the action required: true state: choices: - present - absent default: present description: - State of the action. - On C(present), it will create an action if it does not exist or update the action if the associated data is different. - On C(absent), it will remove the action if it exists. status: choices: - enabled - disabled default: enabled description: - Status of the action. formula: description: - User-defined expression to be used for evaluating conditions of filters with a custom expression. - The expression must contain IDs that reference specific filter conditions by its formulaid. - The IDs used in the expression must exactly match the ones defined in the filter conditions. No condition can remain unused or omitted. - Required for custom expression filters. eval_type: choices: - andor - and - or - custom_expression description: - Filter condition evaluation method. - Defaults to C(andor) if conditions are less then 2 or if I(formula) is not specified. - Defaults to C(custom_expression) when formula is specified. conditions: description: - List of dictionaries of conditions to evaluate. - For more information about suboptions of this option please check out Zabbix API documentation U(https://www.zabbix.com/documentation/3.4/manual/api/reference/action/object#action_filter_condition) suboptions: formulaid: description: - 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. operator: choices: - '=' - <> - like - not like - in - '>=' - <= - not in description: - Condition operator. - When I(type) is set to C(time_period), the choices are C(in), C(not in). type: choices: - host_group - host - trigger - trigger_name - trigger_severity - time_period - host_template - application - maintenance_status - event_tag - event_tag_value - host_IP - discovered_service_type - discovered_service_port - discovery_status - uptime_or_downtime_duration - received_value - discovery_rule - discovery_check - proxy - discovery_object - proxy - host_name - host_metadata - host_group - host - host_template - application - event_type description: Type (label) of the condition. value: description: - Value to compare with. - When I(type) is set to C(discovery_status), the choices are C(up), C(down), C(discovered), C(lost). - When I(type) is set to C(discovery_object), the choices are C(host), C(service). - When I(type) is set to C(event_type), the choices are C(item in not supported state), C(item in normal state), C(LLD rule in not supported state), C(LLD rule in normal state), C(trigger in unknown state), C(trigger in normal state). - When I(type) is set to C(trigger_severity), the choices are (case-insensitive) C(not classified), C(information), C(warning), C(average), C(high), C(disaster) irrespective of user-visible names being changed in Zabbix. Defaults to C(not classified) if omitted. - Besides the above options, this is usually either the name of the object or a string to compare with. type: list esc_period: default: '60' description: - Default operation step duration. Must be greater than 60 seconds. Accepts seconds, time unit with suffix and user macro. operations: description: - List of action operations suboptions: command: description: - Command to run. - Required when I(type=remote_command) and I(command_type!=global_script). command_type: choices: - custom_script - ipmi - ssh - telnet - global_script description: - Type of operation command. - Required when I(type=remote_command). esc_period: default: 0s description: - Duration of an escalation step in seconds. - Must be greater than 60 seconds. - Accepts seconds, time unit with suffix and user macro. - If set to 0 or 0s, the default action escalation period will be used. esc_step_from: default: 1 description: - Step to start escalation from. esc_step_to: default: 1 description: - Step to end escalation at. execute_on: choices: - agent - server - proxy description: - Target on which the custom script operation command will be executed. - Required when I(type=remote_command) and I(command_type=custom_script). host_groups: description: - List of host groups host should be added to. - Required when I(type=add_to_host_group) or I(type=remove_from_host_group). type: list inventory: description: - Host inventory mode. - Required when I(type=set_host_inventory_mode). media_type: default: all description: - Media type that will be used to send the message. - Set to C(all) for all media types message: description: - Operation message text. - Will check the 'default message' and use the text from I(default_message) if this and I(default_subject) are not specified operation_condition: choices: - acknowledged - not_acknowledged description: - The action operation condition object defines a condition that must be met to perform the current operation. type: str password: description: - Password used for authentication. - Required when I(type=remote_command) and I(command_type in [ssh, telnet]). port: description: - Port number used for authentication. - Required when I(type=remote_command) and I(command_type in [ssh, telnet]). run_on_groups: description: - Host groups to run remote commands on. - Required when I(type=remote_command) if I(run_on_hosts) is not set. run_on_hosts: description: - Hosts to run remote commands on. - Required when I(type=remote_command) if I(run_on_groups) is not set. - If set to 0 the command will be run on the current host. script_name: description: - The name of script used for global script commands. - Required when I(type=remote_command) and I(command_type=global_script). send_to_groups: description: - User groups to send messages to. type: list send_to_users: description: - Users (usernames or aliases) to send messages to. type: list ssh_auth_type: choices: - password - public_key description: - Authentication method used for SSH commands. - Required when I(type=remote_command) and I(command_type=ssh). ssh_privatekey_file: description: - Name of the private key file used for SSH commands with public key authentication. - Required when I(type=remote_command) and I(command_type=ssh). ssh_publickey_file: description: - Name of the public key file used for SSH commands with public key authentication. - Required when I(type=remote_command) and I(command_type=ssh). subject: description: - Operation message subject. - Will check the 'default message' and use the text from I(default_subject) if this and I(default_subject) are not specified templates: description: - List of templates host should be linked to. - Required when I(type=link_to_template) or I(type=unlink_from_template). type: list type: choices: - send_message - remote_command - add_host - remove_host - add_to_host_group - remove_from_host_group - link_to_template - unlink_from_template - enable_host - disable_host - set_host_inventory_mode description: - Type of operation. username: description: - User name used for authentication. - Required when I(type=remote_command) and I(command_type in [ssh, telnet]). type: list event_source: choices: - trigger - discovery - auto_registration - internal description: - Type of events that the action will handle. required: true default_message: description: - Problem message default text. default_subject: description: - Problem message default subject. http_login_user: description: - Basic Auth login required: false type: str http_login_password: description: - Basic Auth password required: false type: str recovery_operations: description: - List of recovery operations. - C(Suboptions) are the same as for I(operations). - Works only with >= Zabbix 3.2 type: list pause_in_maintenance: default: true description: - Whether to pause escalation during maintenance periods or not. - Can be used when I(event_source=trigger). type: bool acknowledge_operations: description: - List of acknowledge operations. - C(Suboptions) are the same as for I(operations). - Works only with >= Zabbix 3.4 type: list recovery_default_message: description: - Recovery message text. - Works only with >= Zabbix 3.2 recovery_default_subject: description: - Recovery message subject. - Works only with >= Zabbix 3.2 acknowledge_default_message: description: - Update operation (known as "Acknowledge operation" before Zabbix 4.0) message text. - Works only with >= Zabbix 3.4 acknowledge_default_subject: description: - Update operation (known as "Acknowledge operation" before Zabbix 4.0) message subject. - Works only with >= Zabbix 3.4
msg: description: The result of the operation returned: success sample: 'Action Deleted: Register webservers, ID: 0001' type: str