New in version 2.0.
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
- python >= 2.6
- pyrax
parameter | required | default | choices | comments |
---|---|---|---|---|
api_key |
no | Rackspace API key (overrides credentials) aliases: password | ||
auth_endpoint (added in 1.5) |
no | https://identity.api.rackspacecloud.com/v2.0/ | The URI of the authentication service | |
check_id |
yes | ID of the check that should be alerted on. May be acquired by registering the value of a rax_mon_check task. | ||
credentials |
no | File to find the Rackspace credentials in (ignored if api_key and username are provided) aliases: creds_file | ||
criteria |
no | 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 |
no |
|
If yes, create this alarm, but leave it in an inactive state. Defaults to no. | |
entity_id |
yes | ID of the entity this alarm is attached to. May be acquired by registering the value of a rax_mon_entity task. | ||
env (added in 1.5) |
no | Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration | ||
identity_type (added in 1.5) |
no | rackspace | Authentication machanism to use, such as rackspace or keystone | |
label |
yes | Friendly name for this alarm, used to achieve idempotence. Must be a String between 1 and 255 characters long. | ||
metadata |
no | 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 |
yes | 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 |
no | DFW | Region to create an instance in | |
state |
no | present |
|
Ensure that the alarm with this label exists or does not exist. |
tenant_id (added in 1.5) |
no | The tenant ID used for authentication | ||
tenant_name (added in 1.5) |
no | The tenant name used for authentication | ||
username |
no | Rackspace username (overrides credentials) | ||
verify_ssl (added in 1.5) |
no | Whether or not to require SSL validation of API endpoints |
- name: Alarm example gather_facts: False hosts: local connection: local tasks: - name: Ensure that a specific alarm exists. 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
Note
The following environment variables can be used, RAX_USERNAME
, RAX_API_KEY
, RAX_CREDS_FILE
, RAX_CREDENTIALS
, RAX_REGION
.
Note
RAX_CREDENTIALS
and RAX_CREDS_FILE
points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating
Note
RAX_USERNAME
and RAX_API_KEY
obviate the use of a credentials file
Note
RAX_REGION
defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
For more information on what this means please read Extras Modules
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.