Join fellow LogicMonitor users at the Elevate Community Conference and get hands-on with our latest product innovations.

Register Now

Resources

Explore our blogs, guides, case studies, eBooks, and more actionable insights to enhance your IT monitoring and observability.

View Resources

About us

Get to know LogicMonitor and our team.

About us

Documentation

Read through our documentation, check out our latest release notes, or submit a ticket to our world-class customer service team.

View Resources

Update Group-level Thresholds

Last updated on 26 February, 2021

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:

  • {groupId} is the id of the group you’d like to see thresholds for.  You can get group Ids from a GET request to the groups resource.
  • {datasourceId} is the id of the datasource you’d like to see thresholds for.  You can get datasource Id by making a GET request to /device/groups/{groupId}/datasources

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:

Property

Required?

Description

dataPointId No – one of dataPointId and dataPointName are required The id of the datapoint associated with the threshold you’d like to update
dataPointName No – one of dataPointId and dataPointName are required The name of the datapoint associated with the threshold you’d like to update
alertExpr No – defaults to no thresholds The thresholds that should be associated with the datapoint. Note that there needs to be a space between the operator and each threshold (e.g. > 1 2 3)
disableAlerting No – defaults to false Whether or not alerting will be disabled for the datapoint

Example

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
Python 3

Start Your Trial

Full access to the LogicMonitor platform.
Comprehensive monitoring and alerting for unlimited devices.