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 update group level thresholds for particular datasources.
Note: As with all of our API calls, authentication is required.
HTTP Method: PUT
URI: /device/groups/{groupId}/datasources/{datasourceId}/alertsettings
Where:
Request Parameters: You can include the following parameters in a PUT request:
When you update group level thresholds, you need to include a JSON object ‘dpConfig’ in your request. This object should include thresholds for one or more datapoints, where for each datapoint you can specify:
The following Python script sets a group level threshold of >1 for the StatusCheckFailed_System datapoint, datasource 678 (AWS_EC2 datasource), group 55:
#!/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 ='PUT' resourcePath = '/device/groups/55/datasources/678/alertsettings' queryParams ='' data = '{"dpConfig":[{"dataPointName":"StatusCheckFailed_System","alertExpr":"> 1"}]}' #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 signature = base64.b64encode(hmac.new(AccessKey,msg=requestVars,digestmod=hashlib.sha256).hexdigest()) #Construct headers auth = 'LMv1 ' + AccessId + ':' + signature + ':' + epoch headers = {'Content-Type':'application/json','Authorization':auth} #Make request response = requests.put(url, data=data, headers=headers) #Print status and body of response print 'Response Status:',response.status_code print 'Response Body:',response.content