community.general.oneandone_monitoring_policy – Configure 1&1 monitoring policy.

Note

This plugin is part of the community.general collection (version 2.5.1).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.oneandone_monitoring_policy.

Synopsis

  • Create, remove, update monitoring policies (and add/remove ports, processes, and servers). This module has a dependency on 1and1 >= 1.0

Requirements

The below requirements are needed on the host that executes this module.

  • 1and1

  • python >= 2.6

Parameters

Parameter Choices/Defaults Comments
add_ports
list / elements=dictionary
Ports to add to the monitoring policy.
add_processes
list / elements=dictionary
Processes to add to the monitoring policy.
add_servers
list / elements=string
Servers to add to the monitoring policy.
agent
string
Set true for using agent.
api_url
string
Custom API URL. Overrides the ONEANDONE_API_URL environment variable.
auth_token
string
Authenticating API token provided by 1&1.
description
string
Monitoring policy description. maxLength=256
email
string
User's email. maxLength=128
monitoring_policy
string
The identifier (id or name) of the monitoring policy used with update state.
name
string
Monitoring policy name used with present state. Used as identifier (id or name) when used with absent state. maxLength=128
ports
list / elements=dictionary
Array of ports that will be monitoring.
alert_if
string / required
    Choices:
  • RESPONDING
  • NOT_RESPONDING
Case of alert.
email_notification
string / required
Set true for sending e-mail notifications.
port
string / required
Port number. minimum=1, maximum=65535
protocol
string / required
    Choices:
  • TCP
  • UDP
Internet protocol.
processes
list / elements=dictionary
Array of processes that will be monitoring.
alert_if
string / required
    Choices:
  • RUNNING
  • NOT_RUNNING
Case of alert.
process
string / required
Name of the process. maxLength=50
remove_ports
list / elements=string
Ports to remove from the monitoring policy.
remove_processes
list / elements=string
Processes to remove from the monitoring policy.
remove_servers
list / elements=string
Servers to remove from the monitoring policy.
state
string
    Choices:
  • present ←
  • absent
  • update
Define a monitoring policy's state to create, remove, update.
thresholds
list / elements=dictionary
Monitoring policy thresholds. Each of the suboptions have warning and critical, which both have alert and value suboptions. Warning is used to set limits for warning alerts, critical is used to set critical alerts. alert enables alert, and value is used to advise when the value is exceeded.
cpu
string / required
Consumption limits of CPU.
disk
string / required
Consumption limits of hard disk.
internal_ping
string / required
Response limits of internal ping.
ram
string / required
Consumption limits of RAM.
transfer
string / required
Consumption limits for transfer.
update_ports
list / elements=dictionary
Ports to be updated on the monitoring policy.
update_processes
list / elements=dictionary
Processes to be updated on the monitoring policy.
wait
boolean
    Choices:
  • no
  • yes ←
wait for the instance to be in state 'running' before returning
wait_interval
integer
Default:
5
Defines the number of seconds to wait when using the _wait_for methods
wait_timeout
integer
Default:
600
how long before wait gives up, in seconds

Examples

- name: Create a monitoring policy
  community.general.oneandone_monitoring_policy:
    auth_token: oneandone_private_api_key
    name: ansible monitoring policy
    description: Testing creation of a monitoring policy with ansible
    email: [email protected]
    agent: true
    thresholds:
     -
       cpu:
         warning:
           value: 80
           alert: false
         critical:
           value: 92
           alert: false
     -
       ram:
         warning:
           value: 80
           alert: false
         critical:
           value: 90
           alert: false
     -
       disk:
         warning:
           value: 80
           alert: false
         critical:
           value: 90
           alert: false
     -
       internal_ping:
         warning:
           value: 50
           alert: false
         critical:
           value: 100
           alert: false
     -
       transfer:
         warning:
           value: 1000
           alert: false
         critical:
           value: 2000
           alert: false
    ports:
     -
       protocol: TCP
       port: 22
       alert_if: RESPONDING
       email_notification: false
    processes:
     -
       process: test
       alert_if: NOT_RUNNING
       email_notification: false
    wait: true

- name: Destroy a monitoring policy
  community.general.oneandone_monitoring_policy:
    auth_token: oneandone_private_api_key
    state: absent
    name: ansible monitoring policy

- name: Update a monitoring policy
  community.general.oneandone_monitoring_policy:
    auth_token: oneandone_private_api_key
    monitoring_policy: ansible monitoring policy
    name: ansible monitoring policy updated
    description: Testing creation of a monitoring policy with ansible updated
    email: [email protected]
    thresholds:
     -
       cpu:
         warning:
           value: 70
           alert: false
         critical:
           value: 90
           alert: false
     -
       ram:
         warning:
           value: 70
           alert: false
         critical:
           value: 80
           alert: false
     -
       disk:
         warning:
           value: 70
           alert: false
         critical:
           value: 80
           alert: false
     -
       internal_ping:
         warning:
           value: 60
           alert: false
         critical:
           value: 90
           alert: false
     -
       transfer:
         warning:
           value: 900
           alert: false
         critical:
           value: 1900
           alert: false
    wait: true
    state: update

- name: Add a port to a monitoring policy
  community.general.oneandone_monitoring_policy:
    auth_token: oneandone_private_api_key
    monitoring_policy: ansible monitoring policy updated
    add_ports:
     -
       protocol: TCP
       port: 33
       alert_if: RESPONDING
       email_notification: false
    wait: true
    state: update

- name: Update existing ports of a monitoring policy
  community.general.oneandone_monitoring_policy:
    auth_token: oneandone_private_api_key
    monitoring_policy: ansible monitoring policy updated
    update_ports:
     -
       id: existing_port_id
       protocol: TCP
       port: 34
       alert_if: RESPONDING
       email_notification: false
     -
       id: existing_port_id
       protocol: TCP
       port: 23
       alert_if: RESPONDING
       email_notification: false
    wait: true
    state: update

- name: Remove a port from a monitoring policy
  community.general.oneandone_monitoring_policy:
    auth_token: oneandone_private_api_key
    monitoring_policy: ansible monitoring policy updated
    remove_ports:
     - port_id
    state: update

- name: Add a process to a monitoring policy
  community.general.oneandone_monitoring_policy:
    auth_token: oneandone_private_api_key
    monitoring_policy: ansible monitoring policy updated
    add_processes:
     -
       process: test_2
       alert_if: NOT_RUNNING
       email_notification: false
    wait: true
    state: update

- name: Update existing processes of a monitoring policy
  community.general.oneandone_monitoring_policy:
    auth_token: oneandone_private_api_key
    monitoring_policy: ansible monitoring policy updated
    update_processes:
     -
       id: process_id
       process: test_1
       alert_if: NOT_RUNNING
       email_notification: false
     -
       id: process_id
       process: test_3
       alert_if: NOT_RUNNING
       email_notification: false
    wait: true
    state: update

- name: Remove a process from a monitoring policy
  community.general.oneandone_monitoring_policy:
    auth_token: oneandone_private_api_key
    monitoring_policy: ansible monitoring policy updated
    remove_processes:
     - process_id
    wait: true
    state: update

- name: Add server to a monitoring policy
  community.general.oneandone_monitoring_policy:
    auth_token: oneandone_private_api_key
    monitoring_policy: ansible monitoring policy updated
    add_servers:
     - server id or name
    wait: true
    state: update

- name: Remove server from a monitoring policy
  community.general.oneandone_monitoring_policy:
    auth_token: oneandone_private_api_key
    monitoring_policy: ansible monitoring policy updated
    remove_servers:
     - server01
    wait: true
    state: update

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
monitoring_policy
dictionary
always
Information about the monitoring policy that was processed

Sample:
{"id": "92B74394A397ECC3359825C1656D67A6", "name": "Default Policy"}


Authors

  • Amel Ajdinovic (@aajdinov)

  • Ethan Devenport (@edevenport)