サポートセンターホーム


SDTを更新する

LogicMonitorのRESTAPIを使用すると、既存のSDTをプログラムで更新できます。

注:すべてのAPI呼び出しと同様に、 認証が必要です.

REST標準と一致して、PUTリクエストで指定されていないプロパティはデフォルト値に戻ることに注意してください。

HTTPメソッド:PUT

URI:/ sdt / sdts / {id}

リクエストに含めることができるパラメーターは、更新するSDTのタイプによって異なります。

ワンタイムSDTを更新する

リクエストパラメータ:XNUMX回限りのSDTのPUTリクエストで次のプロパティを指定できます。

プロパティ

製品説明

必須?

価値観

種類

type このSDTの対象となるタイプリソース。 SDTを設定できます サービス, サービスグル​​ープ, Devices, デバイスグループ, コレクター, バッチジョブ, イベントソース, データソース, インスタンス & インスタンスグループ。 SDTのタイプに応じて、追加情報を含める必要があります。詳細については、この表の下を参照してください。 あり ServiceSDT | ServiceGroupSDT | デバイスSDT | DeviceGroupSDT | コレクターSDT | DeviceBatchJobSDT | DeviceDataSourceSDT | DeviceEventSourceSDT | DeviceDataSourceInstanceSDT | DeviceDataSourceInstanceGroupSDT 文字列
sdtタイプ このSDTの繰り返しタイプ いいえ ワンタイムSDTの場合、「sdtType」:1 整数
コメント SDTに関連するコメント いいえ この値はデフォルトで空白の文字列になります 文字列
startDateTime SDTが開始するエポック時間(ミリ秒単位) いいえ この値のデフォルトは0です。 整数
endDateTime SDTが終了するエポック時間(ミリ秒単位) いいえ この値のデフォルトは0です。 整数

サービスSDT

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

プロパティ

製品説明

種類

サービスID SDTが関連付けられるサービスのID 整数
サービス名 このSDTが関連付けられるサービスの名前 文字列

サービスグル​​ープSDT

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

プロパティ

製品説明

種類

serviceGroupId SDTが関連付けられるサービスグル​​ープのID 整数
サービスグル​​ープ名 このSDTが関連付けられるサービスグル​​ープの名前 文字列

デバイスSDT

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

プロパティ

製品説明

種類

デバイスID SDTが関連付けられるデバイスのID 整数
deviceDisplayName このSDTが関連付けられるデバイスの名前 文字列

デバイスグループSDT

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

プロパティ

製品説明

種類

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

コレクターSDT

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

プロパティ

製品説明

種類

コレクターID SDTが関連付けられるコレクターのID 整数

デバイスデータソースSDT

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

プロパティ

製品説明

種類

deviceDataSourceId SDTが関連付けられるデバイスデータソースのID 整数
デバイスID SDTが適用されるデータソースに関連付けられているデバイスのID 整数
deviceDisplayName SDTが適用されるデータソースに関連付けられているデバイスの表示名 文字列
データソース名 SDTが適用されるデータソースの名前 文字列

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

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

プロパティ

製品説明

種類

deviceEventSourceId SDTが関連付けられるデバイスイベントソースのID 整数
デバイスID SDTが適用されるイベントソースに関連付けられているデバイスのID 整数
deviceDisplayName SDTが適用されるイベントソースに関連付けられているデバイスの表示名 文字列
eventSourceName SDTが適用されるイベントソースの名前 文字列

デバイスバッチジョブSDT

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

プロパティ

製品説明

種類

deviceBatchJobId SDTが関連付けられるデバイスバッチジョブのID 整数
デバイスID SDTが適用されるバッチジョブに関連付けられているデバイスのID 整数
deviceDisplayName SDTが適用されるバッチジョブに関連付けられているデバイスの表示名 文字列
バッチジョブ名 SDTが適用されるバッチジョブの名前 文字列

インスタンスSDT

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

プロパティ

製品説明

種類

dataSourceInstanceId SDTが関連付けられるデータソースインスタンスのID 整数
デバイスID SDTが関連付けられるデバイスのID 整数

インスタンスグループSDT

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

プロパティ

製品説明

種類

deviceDataSourceInstanceGroupId SDTが関連付けられるデバイスデータソースインスタンスグループのID 整数
deviceDataSourceInstanceGroupName SDTが関連付けられるデバイスデータソースインスタンスグループの名前 文字列

繰り返しSDTを更新する

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

プロパティ

製品説明

必須?

価値観

種類

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に対してアクティブになる月の日 いいえ 1 | 2….. | 31.この値のデフォルトは0です 整数
時間 繰り返しSDTに対してSDTがアクティブになる時間(毎日、毎週、毎月) いいえ 1 | 2….. | 24.この値のデフォルトは0です 整数
繰り返しSDTに対してSDTが開始される時間の分(毎日、毎週、毎月) いいえ 1 | 2….. | 60.この値のデフォルトは0です 整数
終了時間 繰り返しSDTのSDTが終了する時間(毎日、毎週、毎月) いいえ 1 | 2….. | 24.この値のデフォルトは0です 整数
endMinute 繰り返しSDTのSDTが終了する時間の分(毎日、毎週、毎月) いいえ 1 | 2….. | 31.この値のデフォルトは0です 整数
デュレーション SDTの期間(分単位) いいえ この値のデフォルトは0です。 整数

例1:Python

次のPythonスクリプトは、サービス23の毎日のSDTを更新します。

#!/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 ='PUT'
resourcePath = '/sdt/sdts/S_11'
queryParams =''
data = '{"sdtType":4,"type":"ServiceSDT","serviceId":23,"hour":18,"minute":45,"endHour":19,"endMinute":45}'

#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()
signature = base64.b64encode(hmac1.encode())

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

#Make request
response = requests.put(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:PowerShell

次のPowerShellスクリプトは、サービス23の毎日のSDTを更新します。

<# Use TLS 1.2 #>
[Net.ServicePointManager]::SecurityProtocol = <span class="error">[Net.SecurityProtocolType]</span>::Tls12

<# account info #>
$accessId = '48v2wRzfK94y53sq5EuF'
$accessKey = 'H_D9i(f5~B^U36^K6i42=^nS~e75gy382Bf6{)P+'
$company = 'api'

<# request details #>
$httpVerb = 'PUT'
$resourcePath = '/sdt/sdts/S_11'
$data = '{"sdtType":4,"type":"ServiceSDT","serviceId":23,"hour":18,"minute":45,"endHour":19,"endMinute":45}'

<# Construct URL #>
$url = 'https://' + $company + '.logicmonitor.com/santaba/rest' + $resourcePath

<# Get current time in milliseconds #>
$epoch = [Math]::Round((New-TimeSpan -start (Get-Date -Date "1/1/1970") -end (Get-Date).ToUniversalTime()).TotalMilliseconds)

<# Concatenate Request Details #>
$requestVars = $httpVerb + $epoch + $data + $resourcePath

<# Construct Signature #>
$hmac = New-Object System.Security.Cryptography.HMACSHA256
$hmac.Key = [Text.Encoding]::UTF8.GetBytes($accessKey)
$signatureBytes = $hmac.ComputeHash([Text.Encoding]::UTF8.GetBytes($requestVars))
$signatureHex = [System.BitConverter]::ToString($signatureBytes) -replace '-'
$signature = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($signatureHex.ToLower()))

<# Construct Headers #>
$auth = 'LMv1 ' + $accessId + ':' + $signature + ':' + $epoch
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization",$auth)
$headers.Add("Content-Type",'application/json')

<# Make Request #>
$response = Invoke-RestMethod -Uri $url -Method $httpVerb -Body $data -Header $headers 

<# Print status and body of response #>
$status = $response.status
$body = $response.data| ConvertTo-Json -Depth 5

Write-Host "Status:$status"
Write-Host "Response:$body"
PowerShellの

記事上で