データソースを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で見つけることができます。

XNUMXつのデータソースをXMLにエクスポート

例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()
Pythonの3

例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()
Pythonの3

記事上で