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のいずれかを指定する必要があります。

プロパティ 説明
サービスIDSDTが関連付けられる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を指定する必要があります。

プロパティ 説明
デバイスIDSDTが関連付けられるデバイスのID整数
デバイス表示名このSDTが関連付けられるデバイスの名前文字列

デバイスグループSDT

type = DeviceGroupSDTのSDTの場合、deviceGroupIdとdeviceGroupFullPathのいずれかを指定する必要があります そして dataSourceIdとdataSourceNameのいずれか:

プロパティ 説明
デバイスグループIDSDTが関連付けられるデバイスグループのID整数
デバイスグループフルパスこのSDTが関連付けられるデバイスグループのフルパス文字列
データソースID指定されたグループの、このSDTが関連付けられるデータソースのID。 dataSourceId 0は、すべてのデータソースを示します。 整数
データソース名指定されたグループについて、このSDTが関連付けられるデータソースの名前。 dataSourceName“ All”は、すべてのデータソースを示します。文字列

コレクターSDT

type = CollectorSDTのSDTの場合、次のパラメーターが必要です。

プロパティ 説明
コレクターIDSDTが関連付けられるコレクターのID整数

デバイスデータソースSDT

type = DeviceDataSourceSDTのSDTの場合、いずれかのdeviceDataSourceIdを指定する必要があります OR dataSourceNameと、deviceIdまたはdeviceDisplayNameのいずれかの組み合わせ:

プロパティ 説明
デバイスデータソースIDSDTが関連付けられるデバイスデータソースのID整数
デバイスIDSDTが適用されるデータソースに関連付けられているデバイスのID整数
デバイス表示名SDTが適用されるデータソースに関連付けられているデバイスの表示名文字列
データソース名SDTが適用されるデータソースの名前文字列

デバイスイベントソースSDT

type = DeviceEventSourceSDTのSDTの場合、いずれかのdeviceEventSourceIdを指定する必要があります OR eventSourceNameとdeviceIdまたはdeviceDisplayNameのいずれかの組み合わせ:

プロパティ 説明
デバイスイベントソースIDSDTが関連付けられるデバイスイベントソースのID整数
デバイスIDSDTが適用されるイベントソースに関連付けられているデバイスのID整数
デバイス表示名SDTが適用されるイベントソースに関連付けられているデバイスの表示名文字列
イベントソース名SDTが適用されるイベントソースの名前文字列

デバイスバッチジョブSDT

type = DeviceBatchJobSDTのSDTの場合、いずれかのdeviceBatchJobIdを指定する必要があります OR batchJobNameとdeviceIdまたはdeviceDisplayNameのいずれかの組み合わせ:

プロパティ 説明
デバイスバッチジョブIDSDTが関連付けられるデバイスバッチジョブのID整数
デバイスIDSDTが適用されるバッチジョブに関連付けられているデバイスのID整数
デバイス表示名SDTが適用されるバッチジョブに関連付けられているデバイスの表示名文字列
バッチジョブ名SDTが適用されるバッチジョブの名前文字列

インスタンスSDT

type=DeviceDataSourceInstanceSDT の SDT の場合、次のパラメータが必要です。

プロパティ 説明
データソースインスタンスIDSDTが関連付けられるデータソースインスタンスのID整数
デバイスIDSDTが関連付けられるデバイスのID整数

インスタンスグループSDT

type = DeviceDataSourceInstanceGroupのSDTの場合、deviceDataSourceInstanceGroupIdとdeviceDataSourceInstanceGroupNameのいずれかを指定する必要があります。

プロパティ 説明
デバイスデータソースインスタンスグループIDSDTが関連付けられるデバイスデータソースインスタンスグループの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)
Pythonの3

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

繰り返しSDTを追加する

リクエストパラメータ:新しい繰り返しSDTに対して次のパラメータをPOSTできます。

プロパティ 説明 必須? 価値観
typeこのSDTの対象となるタイプリソース。 SDTを設定できます サービス, サービスグル​​ープ, Devices, デバイスグループ, コレクター, バッチジョブ, イベントソース, データソース, インスタンス & インスタンスグループ。 SDTのタイプに応じて、追加情報を含める必要があります。詳細については、この表の上を参照してください。有りServiceSDT | ServiceGroupSDT | デバイスSDT | DeviceGroupSDT | コレクターSDT | DeviceBatchJobSDT | DeviceDataSourceSDT | DeviceEventSourceSDT | DeviceDataSourceInstanceSDT | DeviceDataSourceInstanceGroupSDT文字列
sdtタイプこのSDTの繰り返しタイプ有り
  • 2:毎週のSDT
  • 3:月次SDT
  • 4:毎日のSDT
整数
コメントSDTに関連するコメントいいえこの値はデフォルトで空白の文字列になります文字列
平日SDTが毎週のSDTに対してアクティブになる曜日いいえ
  • 1:日曜日
  • 2:月曜日
  • 3:火曜日
  • 4:水曜日
  • 5:木曜日
  • 6:金曜日
  • 7:土曜日

この値のデフォルトは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)
Pythonの3

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

例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)
Pythonの3
記事上で