Forrester Total Economic Impact™の調査によると、Edwin AIは複合組織において313%の投資対効果(ROI)を実現したことが判明しました。

続きを読む

DiagnosticSource および RemediationSource で指定する Groovy または PowerShell スクリプトは Collector 上で実行され、次のようなリソース レベルのホスト プロパティにアクセスできます。 system.displayName およびカスタムリソースプロパティ。

DiagnosticSource または RemediationSource をトリガーしたアラートに関するコンテキストを提供するには、スクリプトでアラート プロパティを使用できます。LogicMonitor が Groovy スクリプトを実行すると、スクリプトにアラート プロパティが提供されます。 alertProps この変数により、スクリプトは、しきい値を超えたデータポイント、アラートがトリガーされたときのデータポイント値、アラートを生成したインスタンス、アラートに関連付けられたデータソース、およびアラートID、開始時刻、しきい値などのその他の関連するアラートメタデータといったアラート情報を取得できます。このデータを条件付きロジックに組み込むことで、コンテキストに基づいた自動診断と修復が可能になります。

次の画像では、リソースに対して使用可能なアラートプロパティを含む、RemediationSource の実行結果の出力を確認できます。

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
}

14日間フルアクセス LogicMonitor プラットフォーム