diff options
author | Jeff <woz5999@gmail.com> | 2016-10-22 04:20:37 -0700 |
---|---|---|
committer | René Moser <mail@renemoser.net> | 2016-10-22 13:20:37 +0200 |
commit | 0df53bbbed90d81d0e1f51ec93668ea30721aee9 (patch) | |
tree | a2add4491caa80eb79f34e820d74cbccf7b8e17a /monitoring | |
parent | 33a41678d4ac061d036831244ce1c5db3566ba71 (diff) | |
download | ansible-modules-extras-0df53bbbed90d81d0e1f51ec93668ea30721aee9.tar.gz |
logicmonitor: Documentation and logging updates based on feedback (#2756)
Diffstat (limited to 'monitoring')
-rw-r--r-- | monitoring/logicmonitor.py | 75 | ||||
-rw-r--r-- | monitoring/logicmonitor_facts.py | 28 |
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 |