community.general.rax_mon_alarm – Create or delete a Rackspace Cloud Monitoring alarm.
Note
This plugin is part of the community.general collection (version 3.8.1).
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.general
.
To use it in a playbook, specify: community.general.rax_mon_alarm
.
Synopsis
- Create or delete a Rackspace Cloud Monitoring alarm that associates an existing rax_mon_entity, rax_mon_check, and rax_mon_notification_plan with criteria that specify what conditions will trigger which levels of notifications. Rackspace monitoring module flow | rax_mon_entity -> rax_mon_check -> rax_mon_notification -> rax_mon_notification_plan -> rax_mon_alarm
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
- pyrax
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
api_key string | Rackspace API key, overrides credentials. aliases: password | |
auth_endpoint string | The URI of the authentication service. If not specified will be set to https://identity.api.rackspacecloud.com/v2.0/
| |
check_id string / required | ID of the check that should be alerted on. May be acquired by registering the value of a rax_mon_check task. | |
credentials path | File to find the Rackspace credentials in. Ignored if api_key and username are provided. aliases: creds_file | |
criteria string | Alarm DSL that describes alerting conditions and their output states. Must be between 1 and 16384 characters long. See http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/alerts-language.html for a reference on the alerting language. | |
disabled boolean |
| If yes, create this alarm, but leave it in an inactive state. Defaults to no. |
entity_id string / required | ID of the entity this alarm is attached to. May be acquired by registering the value of a rax_mon_entity task. | |
env string | Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. | |
identity_type string | Default: "rackspace" | Authentication mechanism to use, such as rackspace or keystone. |
label string / required | Friendly name for this alarm, used to achieve idempotence. Must be a String between 1 and 255 characters long. | |
metadata dictionary | Arbitrary key/value pairs to accompany the alarm. Must be a hash of String keys and values between 1 and 255 characters long. | |
notification_plan_id string / required | ID of the notification plan to trigger if this alarm fires. May be acquired by registering the value of a rax_mon_notification_plan task. | |
region string | Region to create an instance in. | |
state string |
| Ensure that the alarm with this label exists or does not exist. |
tenant_id string | The tenant ID used for authentication. | |
tenant_name string | The tenant name used for authentication. | |
username string | Rackspace username, overrides credentials. | |
validate_certs boolean |
| Whether or not to require SSL validation of API endpoints. aliases: verify_ssl |
Notes
Note
- The following environment variables can be used,
RAX_USERNAME
,RAX_API_KEY
,RAX_CREDS_FILE
,RAX_CREDENTIALS
,RAX_REGION
. -
RAX_CREDENTIALS
andRAX_CREDS_FILE
points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating -
RAX_USERNAME
andRAX_API_KEY
obviate the use of a credentials file -
RAX_REGION
defines a Rackspace Public Cloud region (DFW, ORD, LON, …)
Examples
- name: Alarm example gather_facts: False hosts: local connection: local tasks: - name: Ensure that a specific alarm exists. community.general.rax_mon_alarm: credentials: ~/.rax_pub state: present label: uhoh entity_id: "{{ the_entity['entity']['id'] }}" check_id: "{{ the_check['check']['id'] }}" notification_plan_id: "{{ defcon1['notification_plan']['id'] }}" criteria: > if (rate(metric['average']) > 10) { return new AlarmStatus(WARNING); } return new AlarmStatus(OK); register: the_alarm
Authors
- Ash Wilson (@smashwilson)
© 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/general/rax_mon_alarm_module.html