Add a Collector

Last updated on 06 December, 2020

Overview

With LogicMonitor’s REST API you can programmatically add Collectors to your account. Once you add a Collector resource to your account, you’ll need to download the Collector installer and run the resulting executable (Windows) or binary (Linux).

As with all of our API calls, authentication is required.

Request Information

HTTP Method: POST

URI: /setting/collectors

Request parameters: You can POST the following properties for each Collector.

Property Description Required? Type
descriptionThe Collector’s descriptionNoString
backupAgentIdThe Id of the failover Collector configured for this CollectorNoInteger
enableFailBackWhether or not automatic failback is enabled for the CollectorNoBoolean
resendIvalThe interval, in minutes, after which alert notifications for the Collector will be resentNoInteger
suppressAlertClearWhether alert clear notifications are suppressed for the CollectorNoBoolean
escalatingChainIdThe Id of the escalation chain associated with this CollectorNoInteger
collectorGroupIdThe Id of the group the Collector is inNoInteger
enableFailOverOnCollectorDeviceWhether or not the device the Collector is installed on is enabled for fail overNoBoolean
needAutoCreateCollectorDeviceWhether or not the device the Collector is installed on should be automatically added into monitoringNoBoolean

Example

The following Python script adds a Collector.

#!/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 ='POST'
resourcePath = '/setting/collectors'
queryParams = ''
data = '{"description":"prodCollector1","escalatingChainId":20,"collectorGroupId":4,"backupAgentId":85}'

#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()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.post(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Python 3
In This Article