logicmonitor: Documentation and logging updates based on feedback (#2756)
This commit is contained in:
parent
491b136f6e
commit
d8efe53d7c
2 changed files with 55 additions and 48 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue