SDTを追加する
最終更新日: 13 年 2023 月 XNUMX 日LogicMonitorのRESTAPIを使用して、プログラムで新しいSDTを追加できます。
すべてのAPI呼び出しと同様に、 認証が必要です.
HTTPメソッド:POST
URI:/ sdt / sdts
リクエストに含める必要のあるリクエストパラメータは、追加するSDTのタイプによって異なります。
ワンタイムSDTを追加する
リクエストパラメータ:次のプロパティを新しいXNUMX回限りのSDTにPOSTできます。
プロパティ | 説明 | 必須? | 価値観 | |
type | このSDTの対象となるタイプリソース。 SDTを設定できます サービス, サービスグループ, Devices, デバイスグループ, コレクター, バッチジョブ, イベントソース, データソース, インスタンス & インスタンスグループ。 SDTのタイプに応じて、追加情報を含める必要があります。詳細については、この表の下を参照してください。 | ○ | ServiceSDT | ServiceGroupSDT | デバイスSDT | DeviceGroupSDT | コレクターSDT | DeviceBatchJobSDT | DeviceDataSourceSDT | DeviceEventSourceSDT | DeviceDataSourceInstanceSDT | DeviceDataSourceInstanceGroupSDT | 文字列 |
sdtタイプ | このSDTの繰り返しタイプ | ○ | ワンタイムSDTの場合、「sdtType」:1 | 整数 |
コメント | SDTに関連するコメント | いいえ | この値はデフォルトで空白の文字列になります | 文字列 |
開始日時 | SDTが開始するエポック時間(ミリ秒単位) | ○ | – | 整数 |
終了日時 | SDTが終了するエポック時間(ミリ秒単位) | ○ | – | 整数 |
WebサイトSDT
type = ServiceSDTのSDTの場合(これはWebサイトSDTであり、LM Service Insightとは関係がないことに注意してください)、serviceIdとserviceNameのいずれかを指定する必要があります。
プロパティ | 説明 | |
サービスID | SDTが関連付けられるWebサイトのID | 整数 |
サービス名 | このSDTが関連付けられるWebサイトの名前 | 文字列 |
WebサイトグループSDT
type = ServiceGroupSDTのSDTの場合(これはWebサイトグループSDTであり、LM Service Insightとは関係がないことに注意してください)、serviceGroupIdのXNUMXつを指定する必要があります。 serviceGroupNameはオプションです。
プロパティ | 説明 | |
サービスグループ ID | 必須。 SDTが関連付けられるWebサイトグループのID | 整数 |
サービスグループ名 | このSDTが関連付けられるWebサイトグループの名前 | 文字列 |
デバイスSDT
type = DeviceSDTのSDTの場合、deviceIdまたはdeviceDisplayNameを指定する必要があります。
プロパティ | 説明 | |
デバイスID | SDTが関連付けられるデバイスのID | 整数 |
デバイス表示名 | このSDTが関連付けられるデバイスの名前 | 文字列 |
デバイスグループSDT
type = DeviceGroupSDTのSDTの場合、deviceGroupIdとdeviceGroupFullPathのいずれかを指定する必要があります そして dataSourceIdとdataSourceNameのいずれか:
プロパティ | 説明 | |
デバイスグループID | SDTが関連付けられるデバイスグループのID | 整数 |
デバイスグループフルパス | このSDTが関連付けられるデバイスグループのフルパス | 文字列 |
データソースID | 指定されたグループの、このSDTが関連付けられるデータソースのID。 dataSourceId 0は、すべてのデータソースを示します。 | 整数 |
データソース名 | 指定されたグループについて、このSDTが関連付けられるデータソースの名前。 dataSourceName“ All”は、すべてのデータソースを示します。 | 文字列 |
コレクターSDT
type = CollectorSDTのSDTの場合、次のパラメーターが必要です。
プロパティ | 説明 | |
コレクターID | SDTが関連付けられるコレクターのID | 整数 |
デバイスデータソースSDT
type = DeviceDataSourceSDTのSDTの場合、いずれかのdeviceDataSourceIdを指定する必要があります OR dataSourceNameと、deviceIdまたはdeviceDisplayNameのいずれかの組み合わせ:
プロパティ | 説明 | |
デバイスデータソースID | SDTが関連付けられるデバイスデータソースのID | 整数 |
デバイスID | SDTが適用されるデータソースに関連付けられているデバイスのID | 整数 |
デバイス表示名 | SDTが適用されるデータソースに関連付けられているデバイスの表示名 | 文字列 |
データソース名 | SDTが適用されるデータソースの名前 | 文字列 |
デバイスイベントソースSDT
type = DeviceEventSourceSDTのSDTの場合、いずれかのdeviceEventSourceIdを指定する必要があります OR eventSourceNameとdeviceIdまたはdeviceDisplayNameのいずれかの組み合わせ:
プロパティ | 説明 | |
デバイスイベントソースID | SDTが関連付けられるデバイスイベントソースのID | 整数 |
デバイスID | SDTが適用されるイベントソースに関連付けられているデバイスのID | 整数 |
デバイス表示名 | SDTが適用されるイベントソースに関連付けられているデバイスの表示名 | 文字列 |
イベントソース名 | SDTが適用されるイベントソースの名前 | 文字列 |
デバイスバッチジョブSDT
type = DeviceBatchJobSDTのSDTの場合、いずれかのdeviceBatchJobIdを指定する必要があります OR batchJobNameとdeviceIdまたはdeviceDisplayNameのいずれかの組み合わせ:
プロパティ | 説明 | |
デバイスバッチジョブID | SDTが関連付けられるデバイスバッチジョブのID | 整数 |
デバイスID | SDTが適用されるバッチジョブに関連付けられているデバイスのID | 整数 |
デバイス表示名 | SDTが適用されるバッチジョブに関連付けられているデバイスの表示名 | 文字列 |
バッチジョブ名 | SDTが適用されるバッチジョブの名前 | 文字列 |
インスタンスSDT
type=DeviceDataSourceInstanceSDT の SDT の場合、次のパラメータが必要です。
プロパティ | 説明 | |
データソースインスタンスID | SDTが関連付けられるデータソースインスタンスのID | 整数 |
デバイスID | SDTが関連付けられるデバイスのID | 整数 |
インスタンスグループSDT
type = DeviceDataSourceInstanceGroupのSDTの場合、deviceDataSourceInstanceGroupIdとdeviceDataSourceInstanceGroupNameのいずれかを指定する必要があります。
プロパティ | 説明 | |
デバイスデータソースインスタンスグループID | SDTが関連付けられるデバイスデータソースインスタンスグループのID | 整数 |
デバイスデータソースインスタンスグループ名 | SDTが関連付けられるデバイスデータソースインスタンスグループの名前 | 文字列 |
例1:ワンタイムWebサイトSDTを追加する
次のPythonスクリプトは、IDが47のWebサイトにXNUMX回限りのWebサイトSDTを追加します。
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'
#Request Info
httpVerb ='POST'
resourcePath = '/sdt/sdts'
data = '{"sdtType":1,"type":"ServiceSDT","serviceId":47,"startDateTime":1469134752000,"endDateTime":1469144995000}'
#Construct URL
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath
#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()
signature = base64.b64encode(hmac1.encode())
#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)
例2:ワンタイムデバイスSDTを追加する
次のPythonスクリプトは、IDが39のデバイスにワンタイムデバイスSDTを追加します。
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'
#Request Info
httpVerb ='POST'
resourcePath = '/sdt/sdts'
data = '{"sdtType":1,"type":"DeviceSDT","deviceId":39,"startDateTime":1469134752000,"endDateTime":1469144995000}'
#Construct URL
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath
#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()
signature = base64.b64encode(hmac1.encode())
#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)
繰り返しSDTを追加する
リクエストパラメータ:新しい繰り返しSDTに対して次のパラメータをPOSTできます。
プロパティ | 説明 | 必須? | 価値観 | |
type | このSDTの対象となるタイプリソース。 SDTを設定できます サービス, サービスグループ, Devices, デバイスグループ, コレクター, バッチジョブ, イベントソース, データソース, インスタンス & インスタンスグループ。 SDTのタイプに応じて、追加情報を含める必要があります。詳細については、この表の上を参照してください。 | ○ | ServiceSDT | ServiceGroupSDT | デバイスSDT | DeviceGroupSDT | コレクターSDT | DeviceBatchJobSDT | DeviceDataSourceSDT | DeviceEventSourceSDT | DeviceDataSourceInstanceSDT | DeviceDataSourceInstanceGroupSDT | 文字列 |
sdtタイプ | このSDTの繰り返しタイプ | ○ |
| 整数 |
コメント | SDTに関連するコメント | いいえ | この値はデフォルトで空白の文字列になります | 文字列 |
平日 | SDTが毎週のSDTに対してアクティブになる曜日 | いいえ |
この値のデフォルトは1です。 | 整数 |
月日 | SDTが月次SDTに対してアクティブになる月の日 | はい、sdtType = 3の場合 | 1 | 2…..| 31 | 整数 |
時間 | 繰り返しSDTに対してSDTがアクティブになる時間(毎日、毎週、毎月) | いいえ | 0 | 2….. | 23.この値のデフォルトは0です | 整数 |
分 | 繰り返しSDTに対してSDTが開始される時間の分(毎日、毎週、毎月) | いいえ | 0 | 2….. | 59.この値のデフォルトは0です | 整数 |
終了時間 | 繰り返しSDTのSDTが終了する時間(毎日、毎週、毎月) | いいえ | 0 | 2….. | 23.この値のデフォルトは0です | 整数 |
終了分 | 繰り返しSDTのSDTが終了する時間の分(毎日、毎週、毎月) | いいえ | 0 | 2….. | 59.この値のデフォルトは0です | 整数 |
デュレーション | SDTの期間(分単位) | いいえ | この値のデフォルトは0です。 | 整数 |
例3:毎週のWebサイトSDTを追加する
次のPythonは、Webサイト23に毎週WebサイトSDTを追加します。この場合、SDTは毎週日曜日にXNUMX時間有効です。
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'
#Request Info
httpVerb ='POST'
resourcePath = '/sdt/sdts'
data = '{"sdtType":2,"type":"ServiceSDT","serviceId":23,"weekDay":1,"hour":16,"minute":30,"endHour":17,"endMinute":30}'
#Construct URL
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath
#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()
signature = base64.b64encode(hmac1.encode())
#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)
例4:月次デバイスSDTを追加する
次のPythonスクリプトは、デバイス47の月次デバイスSDTを追加します。ここで、SDTは毎月15日にXNUMX時間有効です。
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'
#Request Info
httpVerb ='POST'
resourcePath = '/sdt/sdts'
data = '{"sdtType":3,"type":"DeviceSDT","deviceId":47,"monthDay":15,"hour":16,"minute":30,"endHour":17,"endMinute":30}'
#Construct URL
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath
#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()
signature = base64.b64encode(hmac1.encode())
#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)
例5:毎日のWebサイトSDTを追加する
次のPythonスクリプトは、Webサイト23の毎日のWebサイトSDTを追加します。ここで、SDTは毎日XNUMX時間有効です。
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'
#Request Info
httpVerb ='POST'
resourcePath = '/sdt/sdts'
data = '{"sdtType":4,"type":"ServiceSDT","serviceId":23,"hour":16,"minute":30,"endHour":17,"endMinute":30}'
#Construct URL
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath
#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()
signature = base64.b64encode(hmac1.encode())
#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)