データソースをXMLにエクスポートする
最終更新日: 24 年 2021 月 XNUMX 日LogicMonitorのRESTAPIを使用して、XNUMXつまたはすべてのデータソースをプログラムでXMLにエクスポートできます。
すべてのAPIリクエストと同様に、 認証が必要です.
すべてのデータソースをXMLにエクスポート
HTTPメソッド:GET
URI:/ settings / datasources?format = xml
XNUMXつのデータソースをXMLにエクスポート
HTTPメソッド:GET
URI:/ settings / datasources / {id}?format = xml
idはデータソースIDである必要があります。 このIDは、データソース定義のURLを調べることでUIで見つけることができます。
例1:すべてのデータソースをXMLにエクスポートする
次のPythonスクリプトは、api.logicmonitor.com内のすべてのデータソースのXMLを返し、それをファイルallDatasources.xmlに保存します。
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
#Account Info
AccessId ='J62te62B8u7WnCR846h6'
AccessKey ='{[H^LX=^Zg^32yp-x(-2Bq22vZ~^u-k3)8!9[7U^'
Company = 'api'
#Request Info: Get xml for all datasources
httpVerb ='GET'
resourcePath = '/setting/datasources'
queryParams = '?format=xml'
#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 + 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
headers = {'Content-Type':'application/json','Authorization':auth}
#Make request
response = requests.get(url, headers=headers)
#Print status of response and save response body to file
print('Response Status:',response.status_code)
file_ = open('allDatasources.xml', 'w')
file_.write(response.content)
file_.close()
例2:XNUMXつのデータソースをXMLにエクスポートする
次のPythonスクリプトは、api.logicmonitor.comでID 345のデータソースのXMLを返し、それをファイルdat345.xmlに保存します。
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
#Account Info
AccessId ='J62te62B8u7WnCR846h6'
AccessKey ='{[H^LX=^Zg^32yp-x(-2Bq22vZ~^u-k3)8!9[7U^'
Company = 'api'
#Request Info: Get xml for datasource 345
httpVerb ='GET'
resourcePath = '/setting/datasources/345'
queryParams = '?format=xml'
#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 + 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
headers = {'Content-Type':'application/json','Authorization':auth}
#Make request
response = requests.get(url, headers=headers)
#Print status of response and save response body to file
print('Response Status:',response.status_code)
file_ = open('dat345.xml', 'w')
file_.write(response.content)
file_.close()