summaryrefslogtreecommitdiff
path: root/monitoring
diff options
context:
space:
mode:
authorJeff <woz5999@gmail.com>2016-10-22 04:20:37 -0700
committerRené Moser <mail@renemoser.net>2016-10-22 13:20:37 +0200
commit0df53bbbed90d81d0e1f51ec93668ea30721aee9 (patch)
treea2add4491caa80eb79f34e820d74cbccf7b8e17a /monitoring
parent33a41678d4ac061d036831244ce1c5db3566ba71 (diff)
downloadansible-modules-extras-0df53bbbed90d81d0e1f51ec93668ea30721aee9.tar.gz
logicmonitor: Documentation and logging updates based on feedback (#2756)
Diffstat (limited to 'monitoring')
-rw-r--r--monitoring/logicmonitor.py75
-rw-r--r--monitoring/logicmonitor_facts.py28
2 files changed, 55 insertions, 48 deletions
diff --git a/monitoring/logicmonitor.py b/monitoring/logicmonitor.py
index 8d35f3bf..3f2267cf 100644
--- a/monitoring/logicmonitor.py
+++ b/monitoring/logicmonitor.py
@@ -73,7 +73,7 @@ description:
- LogicMonitor is a hosted, full-stack, infrastructure monitoring platform.
- This module manages hosts, host groups, and collectors within your LogicMonitor account.
version_added: "2.2"
-author: Ethan Culler-Mayeno, Jeff Wozniak
+author: [Ethan Culler-Mayeno (@ethanculler), Jeff Wozniak (@woz5999)]
notes:
- You must have an existing LogicMonitor account for this module to function.
requirements: ["An existing LogicMonitor account", "Linux"]
@@ -81,32 +81,32 @@ options:
target:
description:
- The type of LogicMonitor object you wish to manage.
- - "Collector: Perform actions on a LogicMonitor collector"
- - NOTE You should use Ansible service modules such as 'service' or 'supervisorctl' for managing the Collector 'logicmonitor-agent' and 'logicmonitor-watchdog' services. Specifically, you'll probably want to start these services after a Collector add and stop these services before a Collector remove.
- - "Host: Perform actions on a host device"
- - "Hostgroup: Perform actions on a LogicMonitor host group"
+ - "Collector: Perform actions on a LogicMonitor collector."
+ - NOTE You should use Ansible service modules such as M(service) or M(supervisorctl) for managing the Collector 'logicmonitor-agent' and 'logicmonitor-watchdog' services. Specifically, you'll probably want to start these services after a Collector add and stop these services before a Collector remove.
+ - "Host: Perform actions on a host device."
+ - "Hostgroup: Perform actions on a LogicMonitor host group."
- NOTE Host and Hostgroup tasks should always be performed via local_action. There are no benefits to running these tasks on the remote host and doing so will typically cause problems.
required: true
default: null
choices: ['collector', 'host', 'datsource', 'hostgroup']
action:
description:
- - The action you wish to perform on target
- - "Add: Add an object to your LogicMonitor account"
- - "Remove: Remove an object from your LogicMonitor account"
- - "Update: Update properties, description, or groups (target=host) for an object in your LogicMonitor account"
- - "SDT: Schedule downtime for an object in your LogicMonitor account"
+ - The action you wish to perform on target.
+ - "Add: Add an object to your LogicMonitor account."
+ - "Remove: Remove an object from your LogicMonitor account."
+ - "Update: Update properties, description, or groups (target=host) for an object in your LogicMonitor account."
+ - "SDT: Schedule downtime for an object in your LogicMonitor account."
required: true
default: null
choices: ['add', 'remove', 'update', 'sdt']
company:
description:
- - The LogicMonitor account company name. If you would log in to your account at "superheroes.logicmonitor.com" you would use "superheroes"
+ - The LogicMonitor account company name. If you would log in to your account at "superheroes.logicmonitor.com" you would use "superheroes."
required: true
default: null
user:
description:
- - A LogicMonitor user name. The module will authenticate and perform actions on behalf of this user
+ - A LogicMonitor user name. The module will authenticate and perform actions on behalf of this user.
required: true
default: null
password:
@@ -117,72 +117,72 @@ options:
collector:
description:
- The fully qualified domain name of a collector in your LogicMonitor account.
- - This is required for the creation of a LogicMonitor host (target=host action=add)
- - This is required for updating, removing or scheduling downtime for hosts if 'displayname' isn't specified (target=host action=update action=remove action=sdt)
+ - This is required for the creation of a LogicMonitor host (target=host action=add).
+ - This is required for updating, removing or scheduling downtime for hosts if 'displayname' isn't specified (target=host action=update action=remove action=sdt).
required: false
default: null
hostname:
description:
- The hostname of a host in your LogicMonitor account, or the desired hostname of a device to manage.
- - Optional for managing hosts (target=host)
+ - Optional for managing hosts (target=host).
required: false
default: 'hostname -f'
displayname:
description:
- The display name of a host in your LogicMonitor account or the desired display name of a device to manage.
- - Optional for managing hosts (target=host)
+ - Optional for managing hosts (target=host).
required: false
default: 'hostname -f'
description:
description:
- - The long text description of the object in your LogicMonitor account
- - Optional for managing hosts and host groups (target=host or target=hostgroup; action=add or action=update)
+ - The long text description of the object in your LogicMonitor account.
+ - Optional for managing hosts and host groups (target=host or target=hostgroup; action=add or action=update).
required: false
default: ""
properties:
description:
- A dictionary of properties to set on the LogicMonitor host or host group.
- - Optional for managing hosts and host groups (target=host or target=hostgroup; action=add or action=update)
- - This parameter will add or update existing properties in your LogicMonitor account or
+ - Optional for managing hosts and host groups (target=host or target=hostgroup; action=add or action=update).
+ - This parameter will add or update existing properties in your LogicMonitor account.
required: false
default: {}
groups:
description:
- A list of groups that the host should be a member of.
- - Optional for managing hosts (target=host; action=add or action=update)
+ - Optional for managing hosts (target=host; action=add or action=update).
required: false
default: []
id:
description:
- - ID of the datasource to target
- - Required for management of LogicMonitor datasources (target=datasource)
+ - ID of the datasource to target.
+ - Required for management of LogicMonitor datasources (target=datasource).
required: false
default: null
fullpath:
description:
- - The fullpath of the host group object you would like to manage
- - Recommend running on a single Ansible host
- - Required for management of LogicMonitor host groups (target=hostgroup)
+ - The fullpath of the host group object you would like to manage.
+ - Recommend running on a single Ansible host.
+ - Required for management of LogicMonitor host groups (target=hostgroup).
required: false
default: null
alertenable:
description:
- - A boolean flag to turn alerting on or off for an object
- - Optional for managing all hosts (action=add or action=update)
+ - A boolean flag to turn alerting on or off for an object.
+ - Optional for managing all hosts (action=add or action=update).
required: false
default: true
choices: [true, false]
starttime:
description:
- - The time that the Scheduled Down Time (SDT) should begin
- - Optional for managing SDT (action=sdt)
+ - The time that the Scheduled Down Time (SDT) should begin.
+ - Optional for managing SDT (action=sdt).
- Y-m-d H:M
required: false
default: Now
duration:
description:
- - The duration (minutes) of the Scheduled Down Time (SDT)
- - Optional for putting an object into SDT (action=sdt)
+ - The duration (minutes) of the Scheduled Down Time (SDT).
+ - Optional for putting an object into SDT (action=sdt).
required: false
default: 30
...
@@ -586,7 +586,10 @@ class LogicMonitor(object):
else:
return raw
except IOError:
- self.fail(msg="Error: Unknown exception making RPC call")
+ ioe = get_exception()
+ self.fail(msg="Error: Exception making RPC call to " +
+ "https://" + self.company + "." + self.lm_url +
+ "/rpc/" + action + "\nException" + str(ioe))
def do(self, action, params):
"""Make a call to the LogicMonitor
@@ -612,8 +615,10 @@ class LogicMonitor(object):
"/do/" + action + "?" + param_str)
return f.read()
except IOError:
- # self.module.debug("Error opening URL. " + ioe)
- self.fail("Unknown exception opening URL")
+ ioe = get_exception()
+ self.fail(msg="Error: Exception making RPC call to " +
+ "https://" + self.company + "." + self.lm_url +
+ "/do/" + action + "\nException" + str(ioe))
def get_collectors(self):
"""Returns a JSON object containing a list of
diff --git a/monitoring/logicmonitor_facts.py b/monitoring/logicmonitor_facts.py
index cc91ca61..b8f2aff7 100644
--- a/monitoring/logicmonitor_facts.py
+++ b/monitoring/logicmonitor_facts.py
@@ -19,7 +19,6 @@
import socket
-import sys
import types
import urllib
@@ -61,7 +60,7 @@ description:
- LogicMonitor is a hosted, full-stack, infrastructure monitoring platform.
- This module collects facts about hosts abd host groups within your LogicMonitor account.
version_added: "2.2"
-author: Ethan Culler-Mayeno, Jeff Wozniak
+author: [Ethan Culler-Mayeno (@ethanculler), Jeff Wozniak (@woz5999)]
notes:
- You must have an existing LogicMonitor account for this module to function.
requirements: ["An existing LogicMonitor account", "Linux"]
@@ -74,31 +73,31 @@ options:
choices: ['host', 'hostgroup']
company:
description:
- - The LogicMonitor account company name. If you would log in to your account at "superheroes.logicmonitor.com" you would use "superheroes"
+ - The LogicMonitor account company name. If you would log in to your account at "superheroes.logicmonitor.com" you would use "superheroes".
required: true
default: null
user:
description:
- - A LogicMonitor user name. The module will authenticate and perform actions on behalf of this user
+ - A LogicMonitor user name. The module will authenticate and perform actions on behalf of this user.
required: true
default: null
password:
description:
- - The password for the chosen LogicMonitor User
- - If an md5 hash is used, the digest flag must be set to true
+ - The password for the chosen LogicMonitor User.
+ - If an md5 hash is used, the digest flag must be set to true.
required: true
default: null
collector:
description:
- The fully qualified domain name of a collector in your LogicMonitor account.
- - This is optional for querying a LogicMonitor host when a displayname is specified
- - This is required for querying a LogicMonitor host when a displayname is not specified
+ - This is optional for querying a LogicMonitor host when a displayname is specified.
+ - This is required for querying a LogicMonitor host when a displayname is not specified.
required: false
default: null
hostname:
description:
- The hostname of a host in your LogicMonitor account, or the desired hostname of a device to add into monitoring.
- - Required for managing hosts (target=host)
+ - Required for managing hosts (target=host).
required: false
default: 'hostname -f'
displayname:
@@ -108,9 +107,9 @@ options:
default: 'hostname -f'
fullpath:
description:
- - The fullpath of the hostgroup object you would like to manage
- - Recommend running on a single ansible host
- - Required for management of LogicMonitor host groups (target=hostgroup)
+ - The fullpath of the hostgroup object you would like to manage.
+ - Recommend running on a single ansible host.
+ - Required for management of LogicMonitor host groups (target=hostgroup).
required: false
default: null
...
@@ -236,7 +235,10 @@ class LogicMonitor(object):
else:
return raw
except IOError:
- self.fail(msg="Error: Unknown exception making RPC call")
+ ioe = get_exception()
+ self.fail(msg="Error: Exception making RPC call to " +
+ "https://" + self.company + "." + self.lm_url +
+ "/rpc/" + action + "\nException" + str(ioe))
def get_collectors(self):
"""Returns a JSON object containing a list of