community.general.rax_mon_check – Create or delete a Rackspace Cloud Monitoring check for an existing entity.
Note
This plugin is part of the community.general collection (version 3.8.3).
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_check
.
Synopsis
Create or delete a Rackspace Cloud Monitoring check associated with an existing rax_mon_entity. A check is a specific test or measurement that is performed, possibly from different monitoring zones, on the systems you monitor. 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 |
Comments |
---|---|
Rackspace API key, overrides credentials. |
|
The URI of the authentication service. If not specified will be set to https://identity.api.rackspacecloud.com/v2.0/ |
|
The type of check to create.
|
|
File to find the Rackspace credentials in. Ignored if api_key and username are provided. |
|
Additional details specific to the check type. Must be a hash of strings between 1 and 255 characters long, or an array or object containing 0 to 256 items. |
|
If “yes”, ensure the check is created, but don’t actually use it yet. Choices:
|
|
ID of the rax_mon_entity to target with this check. |
|
Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. |
|
Authentication mechanism to use, such as rackspace or keystone. Default: “rackspace” |
|
Defines a label for this check, between 1 and 64 characters long. |
|
Hash of arbitrary key-value pairs to accompany this check if it fires. Keys and values must be strings between 1 and 255 characters long. |
|
Comma-separated list of the names of the monitoring zones the check should run from. Available monitoring zones include mzdfw, mzhkg, mziad, mzlon, mzord and mzsyd. Required for remote.* checks; prohibited for agent.* checks. |
|
The number of seconds between each time the check is performed. Must be greater than the minimum period set on your account. |
|
Region to create an instance in. |
|
Ensure that a check with this Choices:
|
|
One of target_alias and target_hostname is required for remote.* checks, but prohibited for agent.* checks. Use the corresponding key in the entity’s ip_addresses hash to resolve an IP address to target. |
|
One of target_hostname and target_alias is required for remote.* checks, but prohibited for agent.* checks. The hostname this check should target. Must be a valid IPv4, IPv6, or FQDN. |
|
The tenant ID used for authentication. |
|
The tenant name used for authentication. |
|
The number of seconds this check will wait when attempting to collect results. Must be less than the period. |
|
Rackspace username, overrides credentials. |
|
Whether or not to require SSL validation of API endpoints. Choices:
|
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#authenticatingRAX_USERNAME
andRAX_API_KEY
obviate the use of a credentials fileRAX_REGION
defines a Rackspace Public Cloud region (DFW, ORD, LON, …)
Examples
- name: Create a monitoring check
gather_facts: False
hosts: local
connection: local
tasks:
- name: Associate a check with an existing entity.
community.general.rax_mon_check:
credentials: ~/.rax_pub
state: present
entity_id: "{{ the_entity['entity']['id'] }}"
label: the_check
check_type: remote.ping
monitoring_zones_poll: mziad,mzord,mzdfw
details:
count: 10
meta:
hurf: durf
register: the_check
Authors
Ash Wilson (@smashwilson)