Application Real-Time Monitoring Service (ARMS) のアラート管理モジュールに複数のアラートソースを統合した後、イベント処理フローを設定して、アラートソースによって生成されたイベントをフィルタリングおよび分類できます。このトピックでは、イベント処理フローを作成する方法について説明します。
イベント処理フローの作成
ARMSコンソールにログインします。
左側のナビゲーションペインで、を選択します。
イベント処理フローページで、右上隅にある処理フローの作成をクリックします。
処理フローの作成ページの基本情報セクションに、イベント処理フローの名前を入力します。
フローアクション設定セクションで、イベント処理フローを設定します。
使用可能なアクションセクションからイベント処理フローセクションにアクションをドラッグします。
右端のセクションで、イベント処理フローの各アクションのトリガー条件を設定します。
説明トリガー条件を設定した後、テストデータセクションのアラートフィールドに対してアクションを実行し、アクションがトリガーされるかどうかを確認できます。
アクション
説明
例
トリガー条件
イベントがトリガー条件を満たすと、現在のイベント処理フローをトリガーします。
シナリオ
コンテナCPU使用率アラートという名前の統合によってイベントが生成されたときに、現在のイベント処理フローをトリガーしたいとします。
構成
次の条件を設定します:
_aliyun_arms_integration_name is equal to container CPU utilization。
イベントのフィルタリング
イベントをフィルタリングします。フィルタ条件を満たすイベントは、現在のイベント処理フローをスキップして、次のイベント処理フローに進みます。フィルタ条件を満たさないイベントは、現在のイベント処理フローの次のアクションに進みます。
説明アラートルールに対してイベントが生成されない場合は、ARMSにプリセットされている
_aliyun_arms_integration_idフィールドと_aliyun_arms_integration_nameフィールドを設定することで、イベントをフィルタリングできます。重大度やアラート名などのイベントフィールドは、次のいずれかの方法で設定できます。フィールドを手動で入力します。
条件を満たすアラートルールを追加して、アラートルールのイベントを生成します。アラートルールのイベントが生成された後、イベントフィールド値を設定することで、イベントをフィルタリングできます。
シナリオ
重大度がP4のイベントを現在のイベント処理フローからスキップしたいとします。
構成
次の条件を設定します:
severity is equal to P4。
イベントタイプの識別
指定したイベントフィールド値に基づいて、イベントのクラスとタイプを識別します。これにより、イベントとアラートに関する統計情報をクエリおよび収集できます。
次のイベントクラスを識別できます。
ネットワーク
ストレージ
コンピューティング
OS
アプリケーション
データベース
変更
次のイベントタイプを識別できます。
可用性
レイテンシ
容量
エラー
不明
シナリオ
alertnameフィールドとmessageフィールドの値に基づいて、システムにイベントクラスとイベントタイプを識別させたいとします。構成
タイプを識別するために使用されるフィールドを
alertnameとmessageに設定します。
結果
システムは、イベントの
classフィールドとtypeフィールドにイベントのクラスとタイプを書き込みます。
イベントレベルの設定
イベントの重大度を指定した値に設定します。
シナリオ
イベントのclassフィールドの値がnetworkの場合、コサービスに生成されたイベントの重大度をP1に設定したいとします。
構成
トリガー条件アクションに次の条件を設定します:
class is equal to network。イベントレベルの設定アクションで、イベントレベルの設定フィールドにP1を選択します。

結果

ビジネスタグの設定
イベントにlabelフィールドを追加します。これにより、イベントとアラートに関する統計情報をクエリおよび収集できます。
フィールド:イベントの指定されたフィールドの値を
labelフィールドの値として使用します。値:
labelフィールドの値を指定します。
シナリオ
イベントの重大度をlabelフィールドの値として使用したいとします。こうすることで、各重大度のイベントに関する統計情報を収集できます。
構成
次の値をビジネスタグに更新セクションで、
フィールドと重大度を選択します。
結果
イベントに
labelフィールドが追加されます。labelフィールドの値は、severityフィールドの値と同じです。フィールドの削除
イベントから指定されたフィールドを削除します。
シナリオ
アラートイベントには
locationフィールドとregionフィールドが含まれていますが、locationフィールドにはすでにリージョン情報が含まれています。イベントからregionフィールドを削除したいとします。構成
フィールドの削除パラメータを
regionに設定します。
コンテンツの抽出
正規表現を使用してフィールドから情報を抽出し、新しいフィールドに情報を設定できます。
シナリオ
アラートフィールド:
"location":"cn-hangzhou-hz4"locationフィールドからリージョンとロケーションに関する情報を抽出し、regionフィールドとdatacenterフィールドに情報を設定したいとします。構成
抽出するフィールド:
location正規表現:
([a-zA-z]+-[a-zA-z]+)-(.*)埋め込み結果:
regionとdatacenter

結果

一致更新
一致フィールドに指定されたコンテンツが含まれている場合、更新するフィールドを指定された値に設定します。
シナリオ
アラートフィールド:
"message":"ping to i-bp1e42d0ydxf7pstuepz > 100ms"messageフィールドにpingが含まれている場合、イベントのclassフィールドをnetworkに更新したいとします。構成
一致フィールド:
message次の条件が満たされたときにフィールド値を更新する:次を含む:
ping。出力network説明次を含むパラメータには、特定の値または正規表現を設定できます。
埋め込みフィールド:
class

結果

フィールドのエンリッチ
API操作を呼び出したり、ローカルのExcelデータソースをクエリしたり、出力値を生成したり、出力値を宛先フィールドに設定したりできます。
説明データソース機能はカナリアリリースされています。この機能を使用するには、アラート管理テクニカルサポート(DingTalkアカウントID:
d9j_rg9e4062f)にお問い合わせください。シナリオ
アップロードされたExcelデータソースで、アラートイベントのIPフィールドに基づいてホスト名をクエリし、
hostnameフィールドにホスト名を設定したいとします。構成
データソースの選択:ホストデータソースの取得 - Excel
一致更新モード:
ip(Excel列名)等しいip(Excel列値)埋め込みフィールド:
$.hostName(Excelクエリによって返される列名)埋め込みhostname
コンテンツの置換
指定されたフィールドのコンテンツを置換します。正規表現を使用して、置換するコンテンツを検索できます。
シナリオ
文字列
d.b.を文字列databaseに置換したいとします。構成
置換するコンテンツ:
message置換コンテンツ:
d\.b\.説明特定の値または正規表現を指定できます。
次で置換:
database

結果

コンテンツの分割
区切り文字を使用して、指定されたフィールドの値を複数の値に分割し、宛先フィールドに値を設定します。
シナリオ
アラートフィールド:
"message":"myhostid_myuserid_myruleid"messageフィールドの値をhostid、userid、ruleidに分割し、新しいフィールドに値を設定したいとします。構成
分割するフィールド:
message区切り文字:
_分割結果を埋め込むために使用されるフィールド:
hostId、userId、ruleId説明フィールドは順番に設定されます。

結果

テンプレートの埋め込み
テンプレートコンテンツを入力します。たとえば、タイプ
${class}のイベントのソースは${source}です。変数名は、イベントが統合された後のフィールド名です。テンプレートがレンダリングされ、ターゲットフィールドに埋め込まれます。シナリオ
アラートフィールド:
"source":"server", "class":"network"messageフィールドに次のテンプレートを設定したいとします:${class} events are from ${source}。テンプレートは、classフィールドとsourceフィールドの値を参照します。構成
埋め込むテンプレート:
${class} events are from ${source}。埋め込みフィールド:
message

結果

破棄
イベントを破棄します。このアクションは、イベント処理フローの最後のアクションとしてのみ使用できます。このアクションを設定する必要はありません。
該当なし。
テストデータセクションで、フィールドとフィールド値を入力するか、イベントから選択をクリックして既存のアラートイベントを選択し、テストをクリックします。
保存をクリックします。
イベント処理フローを作成すると、アラートソースからのイベントがイベント処理フローによってフィルタリングされます。結果はアラートイベント履歴ページで確認できます。詳細については、履歴アラートイベントの表示を参照してください。
イベント処理フローの管理
イベント処理フローを作成した後、イベント処理フローに対して次の操作を実行できます。
イベント処理フローの並べ替え:管理するイベント処理フローを見つけて、[アクション]列の上へまたは下へをクリックします。
イベント処理フローの有効化または無効化:管理するイベント処理フローを見つけて、[アクション]列の有効化または停止をクリックします。
イベント処理フローの変更:変更するイベント処理フローを見つけて、[アクション]列の編集をクリックします。
イベント処理フローの削除:削除するイベント処理フローを見つけて、[アクション]列の削除をクリックします。表示されるメッセージで、OKをクリックします。
処理されたアラートイベントの表示
左側のナビゲーションペインで、を選択します。
アラートイベント履歴ページで、すべてのアラートイベントを表示できます。アラートイベントの名前をクリックすると、イベントの詳細を表示できます。詳細については、履歴アラートイベントの表示を参照してください。