アラートの詳細の取得
最終更新日: 02 年 2023 月 XNUMX 日LogicMonitor REST API v3 を使用してアラートの詳細を取得できます。 API リクエストを行う前に、自分自身を認証する必要があります。
アカウントのアラートを受け取る
URI: 取得 /alert/alerts/{id}
説明 | ||
id | 文字列 | (必須の) 取得するアラートの ID または内部 ID。 |
needMessage | ブーリアン | 詳細な警告メッセージを応答に含めるかどうかを示します。 例 - /alert/alerts/id?needMessage=true |
customColumns | 文字列 | アラートの詳細とともに表示されるプロパティまたはトークンの値。 customColumns=value1,value2,value3 トークンを参照している場合は、# 記号を URL エンコードします。 例– /alert/alerts/id?customColumns=%2523%2523system.collectorid%2523%2523,%2523%2523system.groups%2523%2523 |
fields | 文字列 | 応答はフィルター処理され、各オブジェクトの指定されたフィールドのみが含まれます。 プロパティのリストをカンマで区切って指定できます。 例– /alert/alerts/id?fields=type,id,acked,severity |
アラートのリストの取得
次のクエリ パラメーターを使用して、応答に含めるデータの種類とその形式を管理できます。
注:
- クエリ パラメータはリソース パスの一部ではないため、LMv1 認証署名の計算中に含めるべきではありません。
- 特定のデバイス、デバイス グループ、またはサービスのアラートをリクエストするには、それらのリソースのアラート サブリソースの使用を検討できます。
URI: 取得 /alert/alerts
説明 | ||
customColumns | 文字列 | アラートの詳細とともに表示されるプロパティまたはトークンの値。 customColumns=value1,value2,value3 トークンを参照している場合は、# 記号を URL エンコードします。 例– /alert/alerts?customColumns=%2523%2523system.collectorid%2523%2523,%2523%2523system.groups%2523%2523 |
fields | 文字列 | 応答はフィルター処理され、各オブジェクトの指定されたフィールドのみが含まれます。 プロパティのリストをカンマで区切って指定できます。 例– /alert/alerts?fields=type,id,acked,severity |
size | 整数 | 表示する結果の数。 GET 呼び出しでは最大 1000 件の結果を要求できます。 デフォルトでは、このパラメータに値が指定されていない場合、50 件のアラートのリストが返されます。 例– /alert/alerts?size=40 |
offset | 整数 | 表示された結果をオフセットする結果の数。 例– /alert/alerts?offset=25 |
filter | 文字列 | 応答はフィルター処理され、指定された値を含む結果のみが含まれます。 代用できます _all フィールド名を使用して、特定のフィールドのみをフィルターします。 フィルタリングは次の場合にのみ利用可能であることに注意してください。 id , type , acked , rule , chain , severity , cleared , sdted , startEpoch , monitorObjectName , monitorObjectGroups , resourceTemplateName , instanceName 、 dataPointName . 演算子は次のとおりです。 以上: >: 以下: <: 大なり記号: > 未満: < 等しい: : 等しくない: !: 以下の構成です: ~ 含まれていません: !~ 例– /alert/alerts?filter=_all~severity |
注:
- リクエストに含まれていないリクエスト基準を満たす追加のアラートがあり、少なくともその数のアラートが存在する場合、応答「合計」は負の数になります。 たとえば、最初の 500 件のアラートをリクエストし、アカウントに 3000 件のアラートがある場合、応答には total=-1000 が含まれる可能性があります (つまり、少なくとも 1000 件のアラートがありますが、すべてをリクエストしたわけではありません)。
- 応答では、クリアされたアラートとアクティブなアラートの XNUMX 種類のアラートを取得できます。
アラートをクリアしました – クリア時: 「真」のクリア済みアラートが表示されます。
アクティブなアラート – オフにすると、「false」のアクティブなアラートが表示されます。 クリアされたフィルタがない場合、またはクリアされたフィルタに値が指定されていない場合、デフォルトでは、アクティブなアラートのみが表示されます。
応答でクリアされたアラートとアクティブなアラートの両方を取得するには、フィルター「cleared: "*」を追加します。
次の Python スクリプトは、アラートのリストと各アラートの ##externalticketid## の値を要求します。
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
import getpass
#Account Info: LogicMonitor recommends to NEVER hardcode the credentials. Instead, retrieve the values from a secure storage.
#Note: The below is provided for illustration purposes only.
AccessId = getpass.getpass("Enter your AccessId: ")
AccessKey = getpass.getpass("Enter your AccessKey: ")
Company = 'apiAccount'
#Request Info
#Request Info
httpVerb ='GET'
resourcePath = '/alert/alerts'
data=''
queryParams ='?customColumns=%2523%2523externalticketid%2523%2523'
#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
digest = hmac.new(
AccessKey.encode('utf-8'),
msg=requestVars.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest()
signature = base64.b64encode(digest.encode('utf-8')).decode('utf-8')
#Construct headers
auth = 'LMv1 ' + AccessId + ':' + str(signature) + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth,'X-Version':3}
# Make request
response = requests.get(url, data=data, headers=headers)
# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
正と負の合計値
また、 alert/alerts
v3 API エンドポイントでは、正と負の合計に注意することが重要です。

合計が負の場合は、さらに結果が表示されていないことを示します。 アラートの正確な数は不明であるため、指定したオフセットとサイズに基づいて、合計は合計 + 1 として計算されます。次の結果の検索を続けると、ある時点 (結果が合計に近い場合)、アラートの合計数がわかります。 このとき、マイナスの合計がプラスになります。 例えば、
アラートの合計数は 155 です
ページ | オフセット | サイズ | トータル |
1 | 0 | 50 | -51 |
2 | 50 | 50 | -101 |
3 | 100 | 50 | -151 |
4 | 150 | 50 | 155 |
合計数が不明になるまで、合計は負になることに注意してください。 合計数が判明すると、それはプラスになります。