New in version 2.2.
LogicMonitor is a hosted, full-stack, infrastructure monitoring platform. This module manages hosts, host groups, and collectors within your LogicMonitor account.
| parameter | required | default | choices | comments |
|---|---|---|---|---|
| action | yes |
|
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.
|
|
| alertenable | no | True |
|
A boolean flag to turn alerting on or off for an object.
Optional for managing all hosts (action=add or action=update).
|
| collector | no |
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).
|
||
| company | yes | The LogicMonitor account company name. If you would log in to your account at "superheroes.logicmonitor.com" you would use "superheroes." |
||
| description | no |
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).
|
||
| displayname | no | hostname -f |
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).
|
|
| duration | no | 30 |
The duration (minutes) of the Scheduled Down Time (SDT).
Optional for putting an object into SDT (action=sdt).
|
|
| fullpath | no |
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).
|
||
| groups | no |
A list of groups that the host should be a member of.
Optional for managing hosts (target=host; action=add or action=update).
|
||
| hostname | no | hostname -f |
The hostname of a host in your LogicMonitor account, or the desired hostname of a device to manage.
Optional for managing hosts (target=host).
|
|
| id | no |
ID of the datasource to target.
Required for management of LogicMonitor datasources (target=datasource).
|
||
| password | yes | The password of the specified LogicMonitor user |
||
| properties | no |
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.
|
||
| starttime | no | Now |
The time that the Scheduled Down Time (SDT) should begin.
Optional for managing SDT (action=sdt).
Y-m-d H:M
|
|
| target | yes |
|
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.
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.
|
|
| user | yes | A LogicMonitor user name. The module will authenticate and perform actions on behalf of this user. |
# example of adding a new LogicMonitor collector to these devices
---
- hosts: collectors
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: Deploy/verify LogicMonitor collectors
become: yes
logicmonitor:
target=collector
action=add
company={{ company }}
user={{ user }}
password={{ password }}
#example of adding a list of hosts into monitoring
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: Deploy LogicMonitor Host
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=host
action=add
collector='mycompany-Collector'
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
groups="/servers/production,/datacenter1"
properties="{'snmp.community':'secret','dc':'1', 'type':'prod'}"
#example of putting a datasource in SDT
---
- hosts: localhost
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: SDT a datasource
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=datasource
action=sdt
id='123'
duration=3000
starttime='2017-03-04 05:06'
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
#example of creating a hostgroup
---
- hosts: localhost
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: Create a host group
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=hostgroup
action=add
fullpath='/servers/development'
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
properties="{'snmp.community':'commstring', 'type':'dev'}"
#example of putting a list of hosts into SDT
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: SDT hosts
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=host
action=sdt
duration=3000
starttime='2016-11-10 09:08'
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
collector='mycompany-Collector'
#example of putting a host group in SDT
---
- hosts: localhost
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: SDT a host group
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=hostgroup
action=sdt
fullpath='/servers/development'
duration=3000
starttime='2017-03-04 05:06'
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
#example of updating a list of hosts
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: Update a list of hosts
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=host
action=update
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
collector='mycompany-Collector'
groups="/servers/production,/datacenter5"
properties="{'snmp.community':'commstring','dc':'5'}"
#example of updating a hostgroup
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: Update a host group
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=hostgroup
action=update
fullpath='/servers/development'
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
properties="{'snmp.community':'hg', 'type':'dev', 'status':'test'}"
#example of removing a list of hosts from monitoring
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: Remove LogicMonitor hosts
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=host
action=remove
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
collector='mycompany-Collector'
#example of removing a host group
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: Remove LogicMonitor development servers hostgroup
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=hostgroup
action=remove
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
fullpath='/servers/development'
- name: Remove LogicMonitor servers hostgroup
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=hostgroup
action=remove
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
fullpath='/servers'
- name: Remove LogicMonitor datacenter1 hostgroup
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=hostgroup
action=remove
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
fullpath='/datacenter1'
- name: Remove LogicMonitor datacenter5 hostgroup
# All tasks except for target=collector should use local_action
local_action: >
logicmonitor
target=hostgroup
action=remove
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
fullpath='/datacenter5'
### example of removing a new LogicMonitor collector to these devices
---
- hosts: collectors
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: Remove LogicMonitor collectors
become: yes
logicmonitor:
target=collector
action=remove
company={{ company }}
user={{ user }}
password={{ password }}
#complete example
---
- hosts: localhost
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: Create a host group
local_action: >
logicmonitor
target=hostgroup
action=add
fullpath='/servers/production/database'
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
properties="{'snmp.community':'commstring'}"
- name: SDT a host group
local_action: >
logicmonitor
target=hostgroup
action=sdt
fullpath='/servers/production/web'
duration=3000
starttime='2012-03-04 05:06'
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
- hosts: collectors
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: Deploy/verify LogicMonitor collectors
logicmonitor:
target: collector
action: add
company: {{ company }}
user: {{ user }}
password: {{ password }}
- name: Place LogicMonitor collectors into 30 minute Scheduled downtime
logicmonitor: target=collector action=sdt company={{ company }}
user={{ user }} password={{ password }}
- name: Deploy LogicMonitor Host
local_action: >
logicmonitor
target=host
action=add
collector=agent1.ethandev.com
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
properties="{'snmp.community':'commstring', 'dc':'1'}"
groups="/servers/production/collectors, /datacenter1"
- hosts: database-servers
remote_user: '{{ username }}'
vars:
company: 'mycompany'
user: 'myusername'
password: 'mypassword'
tasks:
- name: deploy logicmonitor hosts
local_action: >
logicmonitor
target=host
action=add
collector=monitoring.dev.com
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
properties="{'snmp.community':'commstring', 'type':'db', 'dc':'1'}"
groups="/servers/production/database, /datacenter1"
- name: schedule 5 hour downtime for 2012-11-10 09:08
local_action: >
logicmonitor
target=host
action=sdt
duration=3000
starttime='2012-11-10 09:08'
company='{{ company }}'
user='{{ user }}'
password='{{ password }}'
Common return values are documented here Common Return Values, the following are the fields unique to this module:
| name | description | returned | type | sample |
|---|---|---|---|---|
| success | flag indicating that execution was successful | success | boolean | True |
Note
You must have an existing LogicMonitor account for this module to function.
For more information on what this means please read Extras Modules
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, developing_test_pr and Developing Modules.
© 2012–2016 Michael DeHaan
© 2016 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/logicmonitor_module.html