LogicMonitor SDK
最終更新日: 20 年 2023 月 XNUMX 日LogicMonitorには、RESTAPIのv2で使用できるPythonおよびGoSDKがあります。 これらのSDKは、LogicMonitorのREST APIのv2とのより効率的で便利な相互作用を可能にし、APIベースの統合とワークフロープロセスを構築するのに役立つ場合があります。
注:
- Python SDK の場合、REQUEST パラメータにはキャメルケースまたはアンダースコアを含めることができます。
- パラメーターが本文内にカプセル化されている場合、アンダースコアとキャメルケースの両方がサポートされます。
- パラメーターが本文内にカプセル化されており、ユーザーが生の JSON を REQUEST パラメーターとして渡している場合は、キャメルケースのみがサポートされます。 ただし、RESPONSE パラメータには常にアンダースコアが含まれます。 たとえば、REQUEST パラメータで testLocation または test_location を使用できます。 ただし、RESPONSE パラメータは常に test_location になります。
- フィールドパラメータはキャメルケースのみをサポートします。
SDKのダウンロード
Python SDK の圧縮 tar ファイルを直接ダウンロードできます。 ここから およびGoSDK ここから。 これらのSDKは、LogicMonitorのGitHubからも入手できます。
SDKの使用
PythonおよびGoSDKは、SwaggerCodegenを使用して自動生成されます。 これらのSDKの追加の例を含む詳細なドキュメントが利用可能です ここから。 以下は、GoおよびPythonSDKの使用を開始するのに役立つ例です。
例1:PythonSDKを介してすべてのアラートを取得する
from __future__ import print_function
import time
import logicmonitor_sdk
from logicmonitor_sdk.rest import ApiException
from pprint import pprint
# Configure API key authorization: LMv1
configuration = logicmonitor_sdk.Configuration()
configuration.company = 'COMPANY_NAME'
configuration.access_id = 'API_ACCESS_ID'
configuration.access_key = 'API_ACCESS_KEY'
# create an instance of the API class
api_instance = logicmonitor_sdk.LMApi(logicmonitor_sdk.ApiClient(configuration))
try:
# get alert list
api_response = api_instance.get_alert_list()
pprint(api_response)
except ApiException as e:
print("Exception when calling LMApi->getAlertList: %s\n" % e)
例2:PythonSDKを介してデバイスを追加する
from __future__ import print_function
import time
import logicmonitor_sdk
from logicmonitor_sdk.rest import ApiException
from pprint import pprint
# Configure API key authorization: LMv1
configuration = logicmonitor_sdk.Configuration()
configuration.company = 'COMPANY_NAME'
configuration.access_id = 'API_ACCESS_ID'
configuration.access_key = 'API_ACCESS_KEY'
# create an instance of the API class
api_instance = logicmonitor_sdk.LMApi(logicmonitor_sdk.ApiClient(configuration))
body = {"name": "8.8.8.8","displayName": "myDevice","preferredCollectorId": 10,"disableAlerting": "true"}
try:
# add device
api_response = api_instance.add_device(body)
pprint(api_response)
except ApiException as e:
print("Exception when calling LMApi->addDevice: %s\n" % e)
例3:GoSDKを介してすべてのアラートを取得する
package main
import (
"fmt"
"github.com/logicmonitor/lm-sdk-go/client"
"github.com/logicmonitor/lm-sdk-go/client/lm"
)
func main() {
// define the client
config := client.NewConfig()
accessID := "API_ACCESS_ID"
config.SetAccessID(&accessID)
accessKey := "API_ACCESS_KEY"
config.SetAccessKey(&accessKey)
domain := "COMPANY.logicmonitor.com"
config.SetAccountDomain(&domain)
lmSdk := client.New(config)
// prepare params and request
params := lm.NewGetAlertListParams()
filter := "acked:false"
params.SetFilter(&filter)
resp, err := lmSdk.LM.GetAlertList(params)
if err != nil {
fmt.Println(err.Error())
}
// parse the alert list
idList := make([]string, 0)
for _, alert := range resp.Payload.Items {
idList = append(idList, alert.ID)
}
fmt.Println(idList)
}
フィルタ構文
フィルタ値は、リクエストパラメータフィルタとしてAPIに渡され、API応答から値をフィルタリングするために使用されます。
サポートされている演算子は次のとおりです。–
- $ filter :: = $ fieldName $ operator $ valueList
- $ fieldName :: =文字列
- $ operator :: =>:| > | <:| <| :| !:| 〜| !〜
- $ valueList :: = $ value [“ |” $ value] *
- $ value :: =数値または文字列
ここで、
- :完全一致です
- !:等しくない
- 〜含む/部分一致
- !〜含まれていません
- >より大きい
- >:以上
- <未満
- <:以下
例
1. {{url}} / device / devices?filter = id!〜1、deviceType〜0
この構文は、idフィールドに1がなく、deviceTypeに0が含まれるすべてのデバイスエンティティを返します。
Response -
{ [
{
"id": 2,
"displayName": "198.168.0.1",
"deviceType": 0
},
{
"id": 28,
"displayName": "198.2.2.12",
"deviceType": 0
},
{
"id": 33,
"displayName": "198.2.2.17",
"deviceType": 0
}
]}
ここで、(、)はAND演算子のように機能します。
2. {{url}} / device / devices?filter = id:1
この構文は、idが1に等しいすべてのデバイスエンティティを返します
Response -
{ [
{
"id": 1,
"displayName": "198.168.0.1",
"deviceType": 0
}
]}
複数のフィルタ
- フィルタでのブール型チェックの場合–
trueまたはfalseの文字列をフィルタリングすることで、応答をフィルタリングできます。
文字列は小文字でなければなりません。
filter = sdted:” true”
またはfilter = sdted:true
- フィルタでの整数型チェックの場合–
整数値は二重引用符で囲むことはできません。
フィルタ=期間:153