Come join our live training webinar every other Wednesday at 11am PST and hear LogicMonitor experts explain best practices and answer common questions. We understand these are uncertain times, and we are here to help!
You can use LogicMonitor’s REST API to programmatically get information about your LogicMonitor device groups. You can either get a list of device groups or you can get details for a particular device group.
As with all of our API calls, authentication is required.
Returns a list of device groups
HTTP Method: GET
URI: /device/groups
Request Parameters: By default, a list of 50 device groups will be returned. You can include sort, filter, fields, size and offset parameters in your request to control what data is included in the response and how it is formatted. Note that query parameters are not considered part of the resource path, and should not be included the calculation of the LMv1 authentication signature.
Operators include:
Returns details for a particular device group
HTTP Method:GET
URI: device/groups/{id}
Request Parameters: You can include a filter parameter that controls which fields are displayed in the response:
The following Python script returns the custom properties, name, id & number of devices for the device group(s) with ‘prodServers’ in the name:
#!/bin/env python import requests import json import hashlib import base64 import time import hmac #Account Info AccessId ='48v2wRzfK94y53sq5EuF' AccessKey ='H_D9i(f5~B^U36^K6i42=^nS~e75gy382Bf6{)P+' Company = 'api' #Request Info httpVerb ='GET' resourcePath = '/device/groups' queryParams = '?filter=name~prodServers&fields=customProperties,id,name,numOfHosts' data = '' #Construct URL url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath + queryParams #Get current time in milliseconds epoch = str(int(time.time() * 1000)) #Concatenate Request details requestVars = httpVerb + epoch + data + resourcePath #Construct signature hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest() signature = base64.b64encode(hmac1.encode()) #Construct headers auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch #Make request response = requests.get(url, data=data, headers=headers) #Print status and body of response print('Response Status:',response.status_code) print('Response Body:',response.content)
In This Article