診断ソースおよび修復ソーススクリプトのアラートプロパティ
最終更新日 - 16年2026月XNUMX日
DiagnosticSource および RemediationSource で指定する Groovy または PowerShell スクリプトは Collector 上で実行され、次のようなリソース レベルのホスト プロパティにアクセスできます。 system.displayName およびカスタムリソースプロパティ。
DiagnosticSource または RemediationSource をトリガーしたアラートに関するコンテキストを提供するには、スクリプトでアラート プロパティを使用できます。LogicMonitor が Groovy スクリプトを実行すると、スクリプトにアラート プロパティが提供されます。 alertProps この変数により、スクリプトは、しきい値を超えたデータポイント、アラートがトリガーされたときのデータポイント値、アラートを生成したインスタンス、アラートに関連付けられたデータソース、およびアラートID、開始時刻、しきい値などのその他の関連するアラートメタデータといったアラート情報を取得できます。このデータを条件付きロジックに組み込むことで、コンテキストに基づいた自動診断と修復が可能になります。
次の画像では、リソースに対して使用可能なアラートプロパティを含む、RemediationSource の実行結果の出力を確認できます。

注意: 既存のスクリプトには影響はありません。 alertPropsそれらは何の変更もなく引き続き機能します。
診断ソースおよび修復ソーススクリプトのアラートプロパティ
DiagnosticSource または RemediationSource の Groovy スクリプトを構成する際には、以下の標準アラートプロパティを使用できます。
| プロパティキー | 詳細説明 |
|---|---|
alert.datapoint | アラートデータポイントの名前 例- CPUBusyPercent |
alert.datapoint.value | アラートをトリガーした生の値 例- 95.3 |
alert.severity | アラートの重大度レベル 例- critical / error / warning |
alert.instance | アラートインスタンスの表示名 例- Total |
alert.instance.wildvalue | アラートインスタンスのワイルド値 例- eth0 |
alert.datasource | アラートをトリガーしたデータソースの名前 例- Linux_SSH_CPU |
alert.id | 固有のアラート識別子 例- DS98765 |
alert.threshold | ロジックモジュールで設定されたしきい値式が違反されました 例- >= 90 |
alert.resource.id | アラートがトリガーされたリソースID 例- 42 |
alert.resource.name | アラートがトリガーされたリソース名 例- prod-server-01 |
alert.external.ticket.id | アラートにマッピングされた外部チケットID。 |
alert.value.display.name | 数値ではなく、アラートをトリガーしたデータポイント値に関連付けられた読み取り可能なステータス表示名を表示します。 例- AlertPropsSingleDisplay |
alert.start.epoch | このアラートが開始された時刻(Unixエポックタイム) 例- 1781109605 |
物件へのアクセス警告
アラートプロパティは、スクリプトをトリガーしたアラートに関するコンテキスト情報を提供します。これらのプロパティには、次の方法でアクセスできます。
- インライントークン置換—使用
##ALERT.*##実行前にアラートプロパティ値をスクリプトに直接挿入するためのトークン。 - 実行時変数へのアクセス—alertProps実行時変数を使用して、スクリプト実行中にプログラムでアラートプロパティ値を取得します。
- 手動スクリプト実行—アラートコンテキストなしでDiagnosticSourceまたはRemediationSourceを手動で実行した場合に、アラートプロパティがどのように動作するかを理解する。
インライントークン置換
Groovy および PowerShell スクリプトでは、インライントークン置換を使用できます。同じテンプレートを使用します。 ##TOKEN## これはホストプロパティに使用されます。たとえば、 ##SYSTEM.HOSTNAME##.
def datapointName = "##ALERT.DATAPOINT##"
def currentValue = "##ALERT.DATAPOINT.VALUE##"
def severity = "##ALERT.SEVERITY##"注意: DiagnosticSource または RemediationSource がリソースから手動でトリガーされた場合、インライントークンにはアラートプロパティ値は含まれません。
実行時変数アクセス
Groovyスクリプトでは、実行時変数アクセスを使用できます。
def dpName = alertProps.get("alert.datapoint")
def dpValue = alertProps.get("alert.datapoint.value")
def severity = alertProps.get("alert.severity")
def instance = alertProps.get("alert.instance")
println "Alert on ${dpName} = ${dpValue} (${severity}) for instance ${instance}"
if (dpValue.toDouble() > 90.0) {
// perform targeted remediation based on actual alert value
}リソースからの手動スクリプトトリガー
アラート コンテキストなしで DiagnosticSource または RemediationSource を手動で実行すると、 alertProps Groovyスクリプトにはalertプロパティ値は含まれません。
注意: DiagnosticSource または RemediationSource の設定中にスクリプトをテストすると、アラートプロパティが利用できなくなります。
アラートのコンテキストが利用できない場合でも適切に処理できるよう、スクリプトを設計してください。
if (alertProps.containsKey("alert.datapoint")) {
// alert-aware execution path
} else {
// fallback for manual execution
}