@ -89,7 +89,7 @@ options:
- 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 .
- ' NOTE Host and Hostgroup tasks should always be performed via delegate_to: localhost. 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 ' ]
@ -197,347 +197,362 @@ EXAMPLES = '''
- hosts : collectors
remote_user : ' {{ username }} '
vars :
company : ' mycompany '
user : ' myusername '
password : ' mypassword '
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 } }
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 '
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 ' } "
# All tasks except for target=collector should use delegate_to: localhost
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
delegate_to : localhost
#example of putting a datasource in SDT
- - -
- hosts : localhost
remote_user : ' {{ username }} '
vars :
company : ' mycompany '
user : ' myusername '
password : ' mypassword '
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 }} '
# All tasks except for target=collector should use delegate_to: localhost
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 '
company : mycompany
user : myusername
password : mypassword
tasks :
- name : Create a host group
# All tasks except for target=collector should use local_action
local_action : >
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor
target = hostgroup
action = add
fullpath = ' /servers/development '
company = ' {{ company }} '
user = ' {{ user }} '
password = ' {{ password }} '
properties = " { ' snmp.community ' : ' commstring ' , ' type ' : ' dev ' } "
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 '
company : mycompany
user : myusername
password : mypassword
tasks :
- name : SDT hosts
# All tasks except for target=collector should use local_action
local_action : >
logicmonitor
target = hos t
action = sdt
duration = 3000
starttime = ' 2016-11-10 09:08 '
company = ' {{ company }}'
user = ' {{ user }}'
password = ' {{ password }} '
collector = ' mycompany-Collector '
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor :
target : host
action : sd t
duration : 3000
starttime : ' 2016-11-10 09:08 '
company : ' {{ company }} '
user : ' {{ user }}'
password : ' {{ password }}'
collector : mycompany - Collector
delegate_to : localhost
#example of putting a host group in SDT
- - -
- hosts : localhost
remote_user : ' {{ username }} '
vars :
company : ' mycompany '
user : ' myusername '
password : ' mypassword '
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 }} '
# All tasks except for target=collector should use delegate_to: localhost
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 '
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 ' } "
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor :
target : host
action : update
company : ' {{ company }} '
user : ' {{ user }} '
password : ' {{ password }} '
collector : mycompany - Collector
groups : / servers / production , / datacenter5
properties :
snmp . community : commstring
dc : 5
delegate_to : localhost
#example of updating a hostgroup
- - -
- hosts : hosts
remote_user : ' {{ username }} '
vars :
company : ' mycompany '
user : ' myusername '
password : ' mypassword '
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 ' } "
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor :
target : hostgroup
action : update
fullpath : / servers / development
company : ' {{ company }} '
user : ' {{ user }} '
password : ' {{ password }} '
properties :
snmp . community : hg
type : dev
status : test
delegate_to : localhost
#example of removing a list of hosts from monitoring
- - -
- hosts : hosts
remote_user : ' {{ username }} '
vars :
company : ' mycompany '
user : ' myusername '
password : ' mypassword '
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 '
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor :
target : host
action : remove
company : ' {{ company }} '
user : ' {{ user }}'
password : ' {{ password }}'
collector : mycompany - Collector
delegate_to : localhost
#example of removing a host group
- - -
- hosts : hosts
remote_user : ' {{ username }} '
vars :
company : ' mycompany '
user : ' myusername '
password : ' mypassword '
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 '
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor :
target : hostgroup
action : remove
company : ' {{ company }} '
user : ' {{ user }}'
password : ' {{ password }}'
fullpath : / servers / development
delegate_to : localhost
- 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 '
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor :
target : hostgroup
action : remove
company : ' {{ company }} '
user : ' {{ user }}'
password : ' {{ password }}'
fullpath : / servers
delegate_to : localhost
- 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 '
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor :
target : hostgroup
action : remove
company : ' {{ company }} '
user : ' {{ user }}'
password : ' {{ password }}'
fullpath : / datacenter1
delegate_to : localhost
- 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 '
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor :
target : hostgroup
action : remove
company : ' {{ company }} '
user : ' {{ user }}'
password : ' {{ password }}'
fullpath : / datacenter5
delegate_to : localhost
### example of removing a new LogicMonitor collector to these devices
- - -
- hosts : collectors
remote_user : ' {{ username }} '
vars :
company : ' mycompany '
user : ' myusername '
password : ' mypassword '
company : mycompany
user : myusername
password : mypassword
tasks :
- name : Remove LogicMonitor collectors
become : yes
logicmonitor :
target = collector
action = remove
company = { { company } }
user = { { user } }
password = { { password } }
target : collector
action : remove
company : ' {{ company }} '
user : ' {{ user }} '
password : ' {{ password }} '
#complete example
- - -
- hosts : localhost
remote_user : ' {{ username }} '
vars :
company : ' mycompany '
user : ' myusername '
password : ' mypassword '
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 ' } "
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 }} '
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 '
company : mycompany
user : myusername
password : mypassword
tasks :
- name : Deploy / verify LogicMonitor collectors
logicmonitor :
target : collector
action : add
company : { { company } }
user : { { user } }
password : { { password } }
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 } }
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 "
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
delegate_to : localhost
- hosts : database - servers
remote_user : ' {{ username }} '
vars :
company : ' mycompany '
user : ' myusername '
password : ' mypassword '
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 "
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
delegate_to : localhost
- name : schedule 5 hour downtime for 2012 - 11 - 10 09 : 08
local_action : >
logicmonitor
target = hos t
action = sdt
duration = 3000
starttime = ' 2012-11-10 09:08 '
company = ' {{ company }}'
user = ' {{ user }}'
password = ' {{ password }} '
logicmonitor :
target : host
action : sd t
duration : 3000
starttime : ' 2012-11-10 09:08 '
company : ' {{ company }} '
user : ' {{ user }}'
password : ' {{ password }}'
delegate_to : localhost
'''