community.general.rax_mon_check (6.6.8) — module

Create or delete a Rackspace Cloud Monitoring check for an existing entity.

Authors: Ash Wilson (@smashwilson)

Install collection

Install with ansible-galaxy collection install community.general:==6.6.8


Add to requirements.yml

  collections:
    - name: community.general
      version: 6.6.8

Description

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

This module relies on the C(pyrax) package which is deprecated in favour of using Openstack API.

Unless maintainers step up to work on the module, it will be marked as deprecated in community.general 7.0.0 and removed in version 9.0.0.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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

Inputs

    
env:
    description:
    - Environment as configured in I(~/.pyrax.cfg), see U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration).
    type: str

label:
    description:
    - Defines a label for this check, between 1 and 64 characters long.
    required: true
    type: str

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Ensure that a check with this C(label) exists or does not exist.
    type: str

period:
    description:
    - The number of seconds between each time the check is performed. Must be greater
      than the minimum period set on your account.
    type: int

region:
    description:
    - Region to create an instance in.
    type: str

api_key:
    aliases:
    - password
    description:
    - Rackspace API key, overrides I(credentials).
    type: str

details:
    default: {}
    description:
    - 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.
    type: dict

timeout:
    description:
    - The number of seconds this check will wait when attempting to collect results. Must
      be less than the period.
    type: int

disabled:
    default: false
    description:
    - If C(true), ensure the check is created, but don't actually use it yet.
    type: bool

metadata:
    default: {}
    description:
    - 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.
    type: dict

username:
    description:
    - Rackspace username, overrides I(credentials).
    type: str

entity_id:
    description:
    - ID of the rax_mon_entity to target with this check.
    required: true
    type: str

tenant_id:
    description:
    - The tenant ID used for authentication.
    type: str

check_type:
    description:
    - The type of check to create. C(remote.) checks may be created on any rax_mon_entity.
      C(agent.) checks may only be created on rax_mon_entities that have a non-null C(agent_id).
    - 'Choices for this option are:

      - C(remote.dns)

      - C(remote.ftp-banner)

      - C(remote.http)

      - C(remote.imap-banner)

      - C(remote.mssql-banner)

      - C(remote.mysql-banner)

      - C(remote.ping)

      - C(remote.pop3-banner)

      - C(remote.postgresql-banner)

      - C(remote.smtp-banner)

      - C(remote.smtp)

      - C(remote.ssh)

      - C(remote.tcp)

      - C(remote.telnet-banner)

      - C(agent.filesystem)

      - C(agent.memory)

      - C(agent.load_average)

      - C(agent.cpu)

      - C(agent.disk)

      - C(agent.network)

      - C(agent.plugin)

      '
    required: true
    type: str

credentials:
    aliases:
    - creds_file
    description:
    - File to find the Rackspace credentials in. Ignored if I(api_key) and I(username)
      are provided.
    type: path

tenant_name:
    description:
    - The tenant name used for authentication.
    type: str

target_alias:
    description:
    - One of I(target_alias) and I(target_hostname) is required for remote.* checks, but
      prohibited for agent.* checks. Use the corresponding key in the entity's I(ip_addresses)
      hash to resolve an IP address to target.
    type: str

auth_endpoint:
    description:
    - The URI of the authentication service.
    - If not specified will be set to U(https://identity.api.rackspacecloud.com/v2.0/)
    type: str

identity_type:
    default: rackspace
    description:
    - Authentication mechanism to use, such as rackspace or keystone.
    type: str

validate_certs:
    aliases:
    - verify_ssl
    description:
    - Whether or not to require SSL validation of API endpoints.
    type: bool

target_hostname:
    description:
    - One of I(target_hostname) and I(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.
    type: str

monitoring_zones_poll:
    description:
    - 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.
    type: str