3. OASE

3.1. はじめに

本書では、OASE機能および操作方法について説明します。

3.2. OASE 概要

本章では、OASEのイベントについて説明します。

3.2.1. イベント処理イメージ

OASEでは、まず監視システムが検知したシステムの状態変化をイベントとして収集し、評価を行います。
評価では、フィルターでイベントを絞り込み、ルールで条件にマッチするかを判定し、マッチした場合に次のアクションを決定、実行します。
イベント処理の全体像をわかりやすく示すため、本節では実際に発生するイベントを想定した例を用いて、イベントの発生からアクション実行までの流れを説明します。

イベント例

Webサーバー停止時の自動再起動
Webサーバー停止時の自動再起動処理フロー

登場する用語については、用語説明 を参照してください。

3.3. OASE 利用手順

各OASE メニューの利用手順について説明します

3.3.1. OASE作業フロー

OASE の各メニューにおける標準的な作業フローは以下の通りです。
各作業の詳細は次項に記載しています。
OASE作業フロー
  • 作業フロー詳細と参照先

    1. ラベルの登録
      メニューグループ「ラベル」のラベル作成、ラベル付与の画面から、イベントで使用するラベルを定義し、イベントに対してラベルを付与する設定を登録します。
      冗長化構成の場合は、重複排除を行うことも可能です。
      詳細は ラベル作成ラベル付与重複排除 を参照してください。
    2. フィルターの登録
      メニューグループ「ルール」のフィルターの画面から、ルールに使用するラベルの条件を設定するフィルターを登録します。
      詳細は フィルター詳細 を参照してください。
    3. アクションの登録
      メニューグループ「ルール」のアクションの画面から、ルール判定にて条件を満たした際に実行するアクションを登録します。
      詳細は アクション詳細 を参照してください。
    4. ルールの登録
      メニューグループ「ルール」のルールの画面から、ルール判定の条件や使用するアクションなどを設定するアクションを登録します。
      詳細は ルール詳細 を参照してください。

3.4. OASE メニュー構成

本章では、OASEのメニュー構成について説明します。

3.4.1. メニュー/画面一覧

  1. OASEのメニュー
    OASEのメニュー一覧を以下に記述します。
    表 3.88 OASE メニュー/画面一覧

    No

    親メニューグループ

    メニューグループ

    メニュー・画面

    説明

    1

    OASE

    イベント

    イベントフロー

    OASEに関する各種設定をメンテナンス(閲覧/登録/更新/廃止)できます。

    2

    イベント履歴

    エージェントによって取得されたイベントの一覧を閲覧できます。

    3

    ラベル

    ラベル作成

    ラベルをメンテナンス(閲覧/登録/更新/廃止)できます。

    4

    ラベル付与

    ラベルを付与するために、イベント収集対象とラベル付与条件と該当ラベルを紐付(閲覧/登録/更新/廃止)できます。

    5

    重複排除

    イベントの重複排除する設定をメンテナンス(閲覧/登録/更新/廃止)できます。

    6

    ルール

    フィルター

    フィルターをメンテナンス(閲覧/登録/更新/廃止)できます。

    7

    アクション

    OASEのルール判定にて条件を満たした際に実行するオペレーションとConductorの組み合わせをメンテナンス(閲覧/登録/更新/廃止)できます。

    8

    ルール

    ルールをメンテナンス(閲覧/登録/更新/廃止)できます。

    9

    評価結果

    アクション履歴を閲覧できます。「詳細」を押下するとConductor作業確認メニューに遷移します。

3.5. OASE メニュー操作説明

本章では、OASE機能のメニュー操作説明について説明します。

3.5.1. OASE メニュー

本節では、OASEをインストールした状態で表示されるメニューの操作について記載します。

3.5.2. イベントフロー

イベントについて

イベントは、監視システムが監視対象システムから収集した状態変化や発生事象を表すデータです。
監視対象システムで状態変化(サービス停止、CPU高負荷など)が発生すると、監視システムがそれを検知してイベントを作成します。
監視システム(Zabbix、Prometheus、Datadogなど)が作成したイベントを、ExastroのOASEが取得して評価自動対応を行います。

OASEに取り込まれると、イベントは複数のラベル(キーと値のペア)形式で情報を保持します。
例えば、「process: httpd」「status: down」「timestamp: 2025-12-25T10:00:00Z」のようなラベルでイベントの内容を表現します。
これは、OASE ▶ ラベル付与 画面で定義された内容に基づいて設定されます。
また、イベントには、システムラベル(_exastro_で始まる予約ラベル)が自動的に付与されます。
システムラベルには、イベントの取得日時、イベントの有効期限(TTL)などが含まれます。
システムラベルの詳細は、システムラベル一覧 を参照してください。

イベントには「通常イベント」と「結論イベント」の2種類があり、_exastro_typeラベルで区別されます。
通常イベントは監視システムが監視対象システムから収集した状態変化を表すデータを、イベントとしてOASEが取得したものです。
結論イベントは、ルールマッチ後に、ユーザの設定を元にOASEが生成するイベントです。
イベントはラベル付与、フィルター、ルール評価の順に処理され、ルールマッチ時にアクションが実行されます。

結論イベントも通常イベントと同様に評価フローの対象となるため、連鎖的な自動対応や多段階の処理が可能です。

イベントフロー画面

OASE ▶ イベントフロー 画面では、特定のイベントの評価処理の流れを可視化する画面です。
イベントの取得からイベントの状態変化、ルール評価、アクション実行、結論イベント生成の各段階での処理状況と結果を時系列で確認できます。
また、この画面からフィルター、アクション、ルールの設定を直接メンテナンスすることも可能です。
イベントフロー画面

図 3.78 イベントフロー画面

使用イメージ(イベントフロー)

図 3.79 使用イメージ(イベントフロー)

注釈

フィルターアクションルール有効 の値がFalseの場合は、各名称が薄く表示されます。

イベントRAWデータについて

収集したイベントの元データを確認できます。
イベントRAWデータ(イベントフロー)

図 3.80 イベントRAWデータ(イベントフロー)

表示パターン選択について

表示パターン選択 を押下することで、表示するイベントを選択することができます。(複数選択可能)
表示パターン選択(イベントフロー)

図 3.81 表示パターン選択(イベントフロー)

表 3.89 イベントフロー画面 表示パターン選択

項目

説明

アイコン

新規イベント

収集して未だ評価機能に検知されていない状態のことです。
判定時間が過ぎると、既知(判定済み)、未知、時間切れのいずれかに変化します。
新規イベント アイコン

既知イベント

評価機能に検知された状態もしくは対象のことです。
既知イベント アイコン

未知イベント

フィルターに抽出されなかった(評価機能に検知されなかった)状態もしくは対象のことです。※
未知の事象であることから、今後の評価対象として検討する必要が考えられます。
未知イベント アイコン

時間切れイベント

下記のいずれかの理由により、ルールの評価対象から外した対象のことです。
・TTLの2倍以上の期間が経過して、評価対象とするには古すぎる
・TTLを経過した直後の評価タイミング(ルールにマッチさせる最終タイミング)までに、マッチさせることが出来なかった
時間切れイベント アイコン

結論イベント

ルールにマッチした際に、発生するイベントのことです。

結論イベント アイコン

実行アクション

ルールにマッチしたことにより実行したアクションの情報を表示します。

実行アクション アイコン

ルール

ルールID、ルール名を表示します。

ルール アイコン
OASE管理 ▶ イベント収集 での下記設定が間違っている場合は、未知イベントとして取り込まれます。
("_exastro_not_available" をキーとしたラベルが付与されます。)
イベントRAWデータと見比べて型を確認し、 OASE管理 ▶ イベント収集 での設定を見直してください。
レスポンスキーとイベントIDキー に関しては、 こちら を参照してください。
表 3.90 設定間違い(_exastro_not_available)の見方

付与されるラベルの値

修正する設定箇所

説明

RESPONSE_KEY not found

レスポンスキー

イベントに存在しないキーを指定した場合にラベルが付与されます。

RESPONSE_LIST_FLAG is incorrect.(Not Dict Type)
RESPONSE_LIST_FLAG is incorrect.(Not List Type)

レスポンスリストフラグ

実際の値がリストであるのに対して設定でFalseを選択した場合にラベルが付与されます。
実際の値がリストではないのに対して設定でTrueを選択した場合にラベルが付与されます。

EVENT_ID_KEY not found

イベントIDキー

イベントの「レスポンスキー」に該当するデータに、存在しないキーを指定した場合にラベルが付与されます。

日時・範囲指定について

範囲指定 を押下することで、表示する日時の範囲を指定することができます。
範囲指定(イベントフロー)

図 3.82 範囲指定(イベントフロー)

〇時間 を押すことで、表示する時間を指定することができます。
デフォルトは1時間、指定できる範囲は最小5分間、最大5年間です。
時間指定(イベントフロー)

図 3.83 時間指定(イベントフロー)

動作について

フィルターアクションルール について、各画面でも、イベントフロー内でもメンテナンス(閲覧/登録/更新/廃止)できます。ドラッグ&ドロップも使用できます。
ドラッグ&ドロップで入力(イベントフロー)

図 3.84 ドラッグ&ドロップで入力(イベントフロー)

フィルター
フィルター入力画面(イベントフロー)

図 3.85 フィルター入力画面(イベントフロー)

フィルター の入力項目については、フィルター詳細 を参照してください。
アクション
アクション入力画面(イベントフロー)

図 3.86 アクション入力画面(イベントフロー)

アクション の入力項目については、アクション詳細 を参照してください。
ルール
ルール入力画面(イベントフロー)

図 3.87 ルール入力画面(イベントフロー)

ルール の入力項目については、ルール詳細 を参照してください。

3.5.3. イベント履歴

  1. OASE ▶ イベント履歴 画面は、収集されたイベントを一覧で表示し、検索・フィルタリングできる画面です。
    各イベントのラベル内容、評価状態(評価済み/未評価)、有効期限(TTL)などを確認できます。
    イベントの削除や再評価などの操作も可能で、複数のイベントをまとめて管理できます。
イベント履歴画面

図 3.88 イベント履歴画面

  1. イベント履歴画面の項目は以下の通りです。
表 3.91 イベント履歴画面 項目一覧

項目

説明

オブジェクトID

自動採番のため編集不可。

イベント収集設定ID

[元データ]OASE管理/イベント収集/イベント収集設定ID

イベント収集日時

エージェントがイベントを取得した日時。

イベント有効日時

イベントの有効日時。

イベント状態

以下の状態が存在します。
・検討中
・未知
・判定済み
・時間切れ

イベント種別

以下の状態が存在します。
・イベント
・結論イベント

ラベル

付与されたラベル情報。

評価ルール名

[元データ]
OASE/ルール/ルールラベル名

利用イベント

評価に利用されたイベント。

検索方法に関しては、 イベント履歴での検索方法 を参照してください。

3.5.4. ラベル作成

ラベルについて

ラベルは、イベントに付与される属性情報で、キーと値のペアで構成されます。
ラベルには、Exastroが自動付与する「システムラベル」と、ユーザーが設定する「ユーザーラベル」の2種類があります。
システムラベルには、イベント種別(_exastro_type)や評価済みフラグ(_exastro_evaluated)などがあり、イベントの状態管理に使用されます。
表 3.92 システムラベル一覧

ラベルキー

説明

_exastro_event_collection_settings_id

どのイベント収集設定で収集されたかを示すID

_exastro_fetched_time

イベントが取得された日時

_exastro_end_time

イベントの有効期限日時(TTL)

_exastro_agent_name

イベントを収集したエージェントの名前

_exastro_agent_version

イベントを収集したエージェントのバージョン

_exastro_type

イベントの種別(通常イベント/結論イベント)

_exastro_checked

新規イベント通知が行われたかどうかのフラグ(0:未、1:済)

_exastro_evaluated

イベントがルール評価済みかどうかのフラグ(0:未、1:済)

_exastro_undetected

イベントが未知かどうかのフラグ(0:通常、1:未知)

_exastro_timeout

イベントが時間切れかどうかのフラグ(0:有効、1:時間切れ)

OASE ▶ ラベル作成 画面では、ユーザーラベルのキーを定義することができます。
OASE ▶ ラベル付与 画面では、受信したイベントの特定フィールドの値を条件に、ラベルに固定値や特定フィールドの値を設定できます。

付与されたラベルは、フィルター条件での絞り込みやルール評価の判定に使用されます。

ラベル作成画面

  1. OASE ▶ ラベル作成 画面は、イベントで使用するラベルの定義(ラベルキー、データ型、説明など)を作成・管理する画面です。
    ここで定義したラベルは、イベント収集時やラベル付与時に使用できるようになり、フィルターやルールの条件設定でも参照できます。
ラベル作成画面

図 3.89 ラベル作成画面

  1. ラベル作成画面の入力項目は以下の通りです。
表 3.93 ラベル作成画面 入力項目一覧

項目

説明

入力必須

入力方法

制約事項

ラベルキー

ラベルキーを半角英数字と利用可能な記号(_-)で入力できます。
先頭に記号を使うことはできません。

手動入力

最大長255バイト

カラーコード

設定するとイベントフロー画面で色がつきます。
設定しないとデフォルトで色がつきます。

手動入力

最大長40バイト

備考

自由記述欄。レコードの廃止・復活時にも記載可能。

手動入力

最大長4000バイト

3.5.5. ラベル付与

  1. OASE ▶ ラベル付与 画面は、収集されたイベントに対して自動的にラベルを追加・更新する設定を作成する画面です。
    例えば、「イベントの「状態」が"0"と一致する場合、ラベルの「status」に"down"を付与」といった条件に基づいてラベルを動的に付与できます。
    ラベル作成画面が「どんなラベルが存在するか」を定義するのに対し、ラベル付与画面は「イベントに対してどのラベルをどう付与するか」を設定します。
ラベル付与画面

図 3.90 ラベル付与画面

  1. ラベル付与画面の入力項目は以下の通りです。
    表 3.94 ラベル付与画面 入力項目一覧

    項目

    説明

    入力必須

    入力方法

    制約事項

    ラベリング設定名

    任意のラベリング設定名を入力します。

    自動入力

    最大長255バイト

    イベント収集設定名

    イベント収集で登録したイベント収集設定名が表示されます。

    リスト選択

    キー

    検索条件となる、イベントのプロパティのキーをJSONのクエリ言語(JMESPath)で指定します。

    半角英数字と記号(!#%&()*+,-.;<=>?@[]^_{|}~)を使用できます。

    下記キーも入力可能です。

    ・_exastro_event_collection_settings_id

    ・_exastro_fetched_time

    ・_exastro_end_time

    手動入力

    最大長255バイト ※1

    値のデータ型

    値のデータ型を選択します。

    ・真偽値、オブジェクト、配列、空判定:

    比較方法が[==,≠]の場合に、いずれかを指定してください。

    ・その他:

    比較方法が[RegExp, RegExp(DOTALL), RegExp(MULTILINE)]の場合は指定してください。

    リスト選択

    ※1, ※2

    比較方法

    比較方法を選択します。

    ・<, <=, >, >=:

    値のデータ型が、[文字列、整数、小数]の場合のみ選択可能です。

    ・RegExp, RegExp(DOTALL), RegExp(MULTILINE)※3:

    値のデータ型が、[その他]の場合のみ選択可能です。

    リスト選択

    ※1

    比較する値

    比較する値を入力します。

    ・値のデータ型で[真偽値]を選択した場合:

    trueかfalse(大文字が含まれていても可能)を入力します。

    ・値のデータ型で[オブジェクト]を選択した場合:

    {}で囲みます。

    ・値のデータ型で[配列]を選択した場合:

    []で囲みます。

    手動入力

    最大長4000バイト ※1

    ラベル

    キー

    下記キーとラベル作成で登録したラベルキーが選択できます。

    ・_exastro_host

    リスト選択

    ※1

    ラベル付与したい値を入力します。

    正規表現で使用したい場合は、以下のように入力してください。

    ①正規表現を使って(「比較する値」による)検索を行い、任意の値をラベルにつけたい

    任意の値を入力してください。

    ②正規表現を使って(「比較する値」による)検索を行い、そのマッチした結果を、ラベルの値としてそのまま利用したい場合

    値を空欄にしてください。

    ③②のマッチした結果に対して、正規表現置換を行いたい場合

    検索結果のキャプチャグループの値を使いたい場合などを想定しています

    ex.

    ・キャプチャグループの1個目をラベルの値にしたい場合

     → \1

    ・キャプチャグループの1個目 + 任意の値(.com)をラベルの値にしたい場合

     → \1.com

    手動入力

    最大長255バイト ※1

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

※1 ラベル付与における各ユースケースについて、必須項目は以下の通りです。
表 3.95 ラベル付与におけるユースケースについて

ユースケース

検索条件

ラベル

キー

値のデータ型

比較方法

比較する値

キー

検索条件にマッチした際に、ラベルを付与したい

検索条件にマッチした際に、マッチした値をそのままラベルの値として使用したい

検索条件のキーがマッチした際に、ラベルを付与したい

〇,ー

検索条件の値がFalseの値(空文字、[]、{}、0、False)でマッチした際に、ラベルを付与したい

==(一致),

≠(不一致)のみ

== → 〇,ー

≠ → 〇 のみ

検索条件に正規表現を使用したい

その他 のみ

RegExp,

RegExp(DOTALL),

RegExp(MULTILINE)のみ

〇,ー

全てのイベントにラベルを付与したい

具体的な設定例に関しては、 ラベル付与での設定例 を参照してください。
※2 値の各データ型の説明は以下の通りです。
表 3.96 ラベル付与における値のデータ型について

値のデータ型

比較方法

比較する値

文字列

RegExp、RegExp(DOTALL)、
RegExp(MULTILINE)以外可能
例 sample

整数

RegExp、RegExp(DOTALL)、
RegExp(MULTILINE)以外可能
例 10

小数

RegExp、RegExp(DOTALL)、
RegExp(MULTILINE)以外可能
例 1.1

真偽値

==(一致), ≠不一致)のみ

true, falseのみ(大文字が含まれていても可能)

オブジェクト

==(一致), ≠不一致)のみ

{}で囲みます。
例 {Key: Value}

配列

==(一致), ≠不一致)のみ

[]で囲みます。
例 [aa, bb, cc]

空判定

==(一致), ≠不一致)のみ

空文字、[]、{}、0、Falseのみ
例 ""

その他

RegExp、RegExp(DOTALL)、
RegExp(MULTILINE)のみ

※3 ラベル付与における正規表現に関しては、以下の通りです。
表 3.97 ラベル付与における正規表現の種類について

比較方法

説明

RegExp

オプションなしで正規表現を行います。

RegExp(DOTALL)

「.」を改行を含む全ての文字にマッチさせることができます。

このオプションがなければ、改行を含まない全ての文字、になります。

RegExp(MULTILINE)

「^」「$」が各行の先頭と末尾にマッチさせることができます。

具体的な使用例に関しては、 ラベル付与での使用例(正規表現) を参照してください。

3.5.6. 重複排除

重複排除について

イベント収集システムもしくはOASEエージェントが冗長化されている場合を想定し、本質的に同一内容のイベント情報を複数取得しても、先頭のイベントしか取りこまないようにして、重複した処理を行わないようにする機能です。
イベント収集設定で重複排除を有効にすると、重複排除で指定したラベルキーの値が一致するイベントを重複とみなします。
例えば、「host」と「status」をキーに指定した場合、同じホストで同じ状態のイベントが、複数の収集先や複数のエージェントから発生しても、最初の1件のみが処理対象となります。

重複排除されたイベントは評価フローにも投入されないため、不要なアクション実行を防げます。
重複排除の例

図 3.91 重複排除の例

重複排除のキーとなるラベルは複数指定でき、すべてのキーの値が一致した場合にのみ重複とみなされます。
重複排除機能を適切に設定することで、イベント数を削減し、システムリソースの消費を抑えます。

重複排除画面

  1. OASE ▶ 重複排除 画面では、重複排除の設定をメンテナンス(閲覧/登録/更新/廃止)できます。
重複排除画面

図 3.92 重複排除画面

  1. 重複排除画面の入力項目は以下の通りです。
    表 3.98 重複排除画面 入力項目一覧

    項目

    説明

    入力必須

    入力方法

    制約事項

    重複排除設定ID

    登録時に発番されるID

    自動採番

    重複排除設定名

    任意の重複排除設定名を入力します。

    手動入力

    最大長255バイト

    優先順位

    任意の優先順位を正の整数で入力してください。 数値が小さい順に重複排除の処理が実施されます。

    手動入力

    数値 最小:1 最大:2147483647

    冗長グループ(イベント収集先)

    冗長するグループを選択します。 イベント収集で登録したイベント収集先設定名が表示されます。

    イベント収集先が同一の収集先を指定している際に冗長する情報を重複排除として指定する際に選択します。

    単一での重複排除設定を行う場合は単一のイベント収集先を選択します。

    リスト選択

    最大長255バイト

    条件

    ラベル

    重複排除の条件となるラベルを指定します。

    ラベル作成で作成したラベルキーを選択することができます。

    複数選択することができ、条件:式で選択した内容で重複排除の処理が実施されます。

    リスト選択

    式を選択します。

    ・「を無視する」:

    ラベルで選択した項目の値は不一致で、指定されていない項目が一致する条件で重複排除されるようになります。

    ・「が一致する」:

    ラベルで選択した項目が一致する値の場合に重複排除されるようになります。

    リスト選択

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

3.5.7. フィルター詳細

フィルターについて

フィルターは、イベントをラベル条件で絞り込む機能です。
OASE ▶ フィルター 画面では、複数のラベル条件を定義し、すべての条件に一致するイベントを抽出します。

フィルターで絞り込まれたイベントは、ルール評価の対象となります。
1つのフィルターは複数のルールで再利用できます。

検索方法

フィルターの検索方法は、ユニーク、キューイング、グルーピングの3種類があります。
ユニーク
フィルター条件に一致する一意のイベントに対して評価を行います。
複数イベントが条件に一致した場合、一致したすべてのイベントは未知のイベントとして処理されます。
../../_images/filter_unique.png

図 3.93 検索方法(ユニーク)

キューイング
フィルター条件に一致するイベントを複数検知し、古いものから順番に評価を行います。
../../_images/filter_queing.png

図 3.94 検索方法(キューイング)

グルーピング
同一属性(ラベルのキーと値の組み合わせが同じ)をもち、連続的に発生しているイベントを同一グループとみなし、グループ単位で評価を行います。
複数のイベントが同じグループにグルーピングされた場合、先頭のイベントを使用し、その他のイベントは無視されます。
イベントフロー画面には、先頭イベントのみ表示されます。
../../_images/filter_grouping.png

図 3.95 検索方法(グルーピング)

../../_images/filter_grouping_eventflow.png

図 3.96 イベントフロー画面(グルーピングの表示)

グルーピングのフィルターでは指定したラベルの値とTTLでグループ化され、グループ毎に1回だけアクションが実行されます。
グルーピングのイメージは以下です。
../../_images/filter_grouping_image.png

図 3.97 グルーピングイメージ

フィルター画面

  1. OASE ▶ フィルター 画面では、フィルターをメンテナンス(閲覧/登録/更新/廃止)できます。
フィルター画面

図 3.98 フィルター画面

  1. フィルター画面の入力項目は以下の通りです。

項目

説明

入力必須

入力方法

制約事項

有効

フィルターの有効/無効を選択します。
True:有効
False:無効

リスト選択

フィルター名

任意のフィルター名を入力します。

手動入力

最大長255バイト

フィルター条件

フィルター条件を設定するウィンドウを開きます。

検索方法

検索方法を選択します。
ユニーク:一意のイベントの抽出しか許可しません。複数イベントがフィルター条件に一致した場合、一致したイベントすべてを未知のイベントとして処理します。
キューイング:一意のイベントを抽出しますが、複数イベントがフィルター条件に一致した場合、一番古いイベントを使用します。ルールに複数回マッチする可能性があるため、ご注意ください。
グルーピング:グルーピング条件で指定したラベルと条件に該当するイベントをグルーピングします。フィルター条件を指定することも可能です。

手動入力

ラベル(グルーピング対象)

グルーピング対象のラベルを選択します。
ラベル作成で登録したラベルキーまたは「_exastro_host」が選択できます。

○(グルーピングの場合)

リスト選択

条件(グルーピング対象)

グルーピング対象の条件を選択します。
を対象とする:ラベル(グルーピング対象)で選択した項目の値がすべて一致する場合に同グループとしてグルーピングされます。
以外を対象とする:ラベル(グルーピング対象)で選択した項目以外の値がすべて一致する場合に同グループとしてグルーピングされます。

○(グルーピングの場合)

リスト選択

備考

自由記述欄。レコードの廃止・復活時にも記載可能。

手動入力

最大長4000バイト

フィルターの条件については フィルター条件 欄をクリックすることで表示されるウインドウから設定できます。

フィルター条件設定

図 3.99 フィルター条件設定

  1. フィルター条件の入力項目は以下の通りです。

項目

説明

入力必須

入力方法

制約事項

ラベルキー

下記キーとラベル作成で登録したラベルキーが選択できます。
・_exastro_event_collection_settings_id
・_exastro_fetched_time
・_exastro_end_time
・_exastro_type
・_exastro_host
・_exastro_agent_name

リスト選択

条件

==(一致),≠(不一致)が選択できます。

リスト選択

条件値

ラベルキーに設定する値を入力します。

手動入力

最大長4000バイト

Tip

検索方法にグルーピングを選択した場合、フィルターの条件値に「*」(ワイルドカード)を使用でき、特定のラベルキーの値ごとにイベントをグループ化できます。
例えば「host == * 」と設定すると、ホストごとに個別のグループが作成され、各グループの先頭イベントが評価対象となります。

3.5.8. アクション詳細

アクションについて

アクションは、ルールマッチ時に実行される対応処理のことです。
OASE ▶ アクション 画面では、Conductor、オペレーション、対象ホストなどを指定し、実行する作業内容を定義します。
Conductorを通じてAnsible Playbookが実行され、サービス再起動やパラメータ変更などの実作業が対象サーバーに対して自動的に行われます。
アクション実行時には、イベントのラベル値を参照でき、これによりイベントごとに動的に作業対象や内容を変更できます。

アクションの設定はルールごとに任意で、指定しない場合はアクション実行が行われず、結論イベント生成のみが実行されます。

1つのアクションは複数のルールで再利用できます。

アクション画面

  1. OASE ▶ アクション では、アクションをメンテナンス(閲覧/登録/更新/廃止)できます。
アクション画面

図 3.100 アクション画面

  1. アクション画面の入力項目は以下の通りです。

項目

説明

入力必須

入力方法

制約事項

アクション名

任意のアクション名を入力します。

手動入力

最大長255バイト

Conductor名称

[元データ]
Conductor/Conductor一覧/Conductor名称

リスト選択

オペレーション名

[元データ]
基本コンソール/オペレーション一覧/オペレーション名

リスト選択

イベント連携(ホスト)

元イベントのラベル"_exastro_host"をアクションの対象ホストとして指定するかどうかを選択します。

リスト選択

デフォルト値:False

指定(ホスト)

アクションの対象ホストを選択します。
[元データ]
Ansible共通/機器一覧/ホスト名

リスト選択

利用パラメータシート

アクションで利用するパラメータシートを選択します。
[元データ]
パラメータシート(入力用)/パラメータシート名(ja)

リスト選択

備考

自由記述欄。レコードの廃止・復活時にも記載可能。

手動入力

最大長4000バイト

Tip

オペレーションを指定しない場合、「ホスト」と「利用パラメータシート」を設定します。

3.5.9. ルール詳細

ルールについて

ルールは、フィルター結果に基づいて「どのアクションを実行するか」「どんな結論イベントを生成するか」を決定する設定です。
ルール設定では、フィルターA、フィルターB、フィルター演算子を組み合わせて、ルールマッチの条件を定義します。
フィルターAのみを指定した場合、そのフィルターに一致するイベントがルールマッチとなります。
フィルターAとフィルターBを両方指定した場合、フィルター演算子(AND、XOR、->)で条件を組み合わせて評価します。

ルールマッチしたイベントは、設定されたアクションが実行され、結論ラベル設定に基づいて結論イベントが生成されます。
アクション実行は任意で、必要に応じて組み合わせて設定できます。

ルールには優先度を設定でき、複数のルールがマッチした場合、優先順位が高いものにマッチします。

ルールを適切に設計することで、イベントの状況に応じた柔軟な自動対応が実現できます。

ルール画面

  1. OASE ▶ ルール では、ルールをメンテナンス(閲覧/登録/更新/廃止)できます。
ルール画面

図 3.101 ルール画面

  1. ルール画面の入力項目は以下の通りです。

項目

説明

入力必須

入力方法

制約事項

有効

フィルターの有効/無効を選択します。
True:有効
False:無効

リスト選択

ルール名

任意のルール名を入力します。

手動入力

最大長255バイト

ルールラベル名

どのルールから作成された結論イベントなのかを、恒久的に判別するため
"_exastro_rule_name"ラベルに設定する任意の名前を入力します。

手動入力

最大長255バイト
※後から変更することはできません。

優先順位

優先順位を正の整数で入力してください。
数値が小さいものを優先します。

手動入力

最大長255バイト

フィルターA

[元データ]
OASE/ルール/フィルター/フィルターID

リスト選択

フィルター演算子

フィルター演算子を選択します。
A and B:AとBの両方にマッチさせる場合
A xor B:AかBのどちらかにマッチさせる場合
A -> B:AのあとにBが発生しているときにマッチさせる場合

リスト選択

フィルターB

[元データ]
OASE/ルール/フィルター/フィルターID

リスト選択

事前通知

ファイル選択

最大サイズ2Mバイト
※1

作業前承認待ち

※今後機能追加予定です。

事前通知先

通知先を選択します。

リスト選択

アクション名

[元データ]
OASE/アクション/アクション名

リスト選択

事後通知

ファイル選択

最大サイズ2Mバイト
※1

作業後承認待ち

※今後機能追加予定です。

事後通知先

通知先を選択します。

リスト選択

アクション(元イベントのラベル継承)

ルールに利用した元イベントのラベルをアクションのパラメーターとして利用するかどうかを選択します。

リスト選択

デフォルト値:True

結論イベント(元イベントのラベル継承)

ルールに利用した元イベントのラベルを結論イベント継承するかどうかを選択します。

リスト選択

デフォルト値:False

結論ラベル設定

結論イベント用のラベル付与を設定するウィンドウを開きます。

リスト選択

TTL

TTL(Time To Live)とは、エージェントが取得したイベントが、ルールの評価対象として扱われる期間(秒)のことです。

手動入力

最小値10(秒)
最大値2147483647(秒)
デフォルトの値:3600(秒)

備考

自由記述欄。レコードの廃止・復活時にも記載可能。

手動入力

最大長4000バイト

※1 事前・事後通知に使用できるテンプレートに関しては、 事前・事後通知のテンプレート を参照してください。

結論ラベルについては 結論ラベル設定 欄をクリックすることで表示されるウインドウから設定できます。

結論ラベル設定

図 3.102 結論ラベル設定

  1. 結論ラベルの入力項目は以下の通りです。

項目

説明

入力必須

入力方法

制約事項

結論ラベルキー

下記キーとラベル作成で登録したラベルキーが選択できます。
・_exastro_host

リスト選択

結論ラベル値

結論ラベルキーに設定する値を入力します。

手動入力

最大長4000バイト

3.5.10. 評価結果

  1. OASE ▶ 評価結果 では、評価結果を閲覧できます。
評価結果画面

図 3.103 評価結果画面

  1. 評価結果画面の項目は以下の通りです。
    詳細 ボタンで Conductor ▶ 作業状態確認 に遷移し、実行状態の詳細を閲覧することができます。

項目

説明

アクション履歴ID

ラベルキーを半角英数字と利用可能な記号(_-)で入力できます。

ルールID

[元データ]
OASE/ルール/ルールID

ルール名

[元データ]
OASE/ルール/ルール名

ステータス

ステータスには以下の状態が存在します。
・判定済み
・実行中
・承認待ち
・承認済み
・承認却下済み
・完了
・完了(異常)
・完了確認待ち
・完了確認済み
・完了確認却下済み

アクションID

[元データ]
OASE/アクション/アクションID

アクション名

[元データ]
OASE/アクション/アクション名

ConductorインスタンスID

[元データ]
Conductor/Conductor作業履歴/ConductorインスタンスID

Conductor名称

[元データ]
Conductor/Conductor作業履歴/Conductor名称

オペレーションID

[元データ]
基本コンソール/オペレーション一覧/オペレーションID

オペレーション名

[元データ]
基本コンソール/オペレーション一覧/オペレーション名

イベント連携

[元データ]ルール

指定ホストID

[元データ]
Ansible共通/機器一覧/管理システム項番

指定ホスト名

[元データ]
Ansible共通/機器一覧/ホスト名

利用パラメータシート名

[元データ]
パラメータシート定義一覧/パラメータシート名(ja)

利用パラメータシート(rest)

[元データ]
パラメータシート定義一覧/パラメータシート名(rest)

利用イベントID

アクションを実行するに至ったイベントのID一覧。

アクション(元イベントのラベル継承)

[元データ]ルール

イベント(元イベントのラベル継承)

[元データ]ルール

アクションパラメータ

アクションへ連携するパラメータを表示します。

結論イベントラベル

結論イベントで利用するラベルを表示します。

登録日時

YYYY/MM/DD HH:MM:SS

備考

自由記述欄。レコードの廃止・復活時にも記載可能。

3.6. 付録

3.6.1. ラベル付与での設定例

ラベル付与での設定例は以下の通りです。
ラベル付与での記入例(ラベル付与)

図 3.104 ラベル付与での記入例(ラベル付与)

3.6.2. ラベル付与での使用例(正規表現)

正規表現を使用したラベル付与での使用例は以下の通りです。
表 3.99 正規表現のオプションの有無の例

検索条件

ラベル

メール本文

比較方法

比較する値

キー

付与されるラベル(key: value)

対象

サーバ:web01.com

RegExp

サーバ:(.*).com

Server

Server: web01

・・・(文章)

対象

サーバ:web01.com

・・・(文章)

RegExp(DOTALL)

サーバ:(\w+).com\r\n(.*)が発生しました。

Server

\2: \1

Server: 障害: web01

サーバ:web01.com

障害が発生しました。

RegExp(MULTILINE)

^サーバ:(.*).com\r$

Server

\1

Server: web01

正規表現を使用する場合の設定

図 3.105 正規表現を使用する場合の設定

3.6.3. エージェントから送信されてくるイベントデータの形式

エージェントから送信されてくるイベントデータの形式は以下の通りです。
リスト 3.13 メールサーバからの受信データサンプル
 1{
 2        "event": [{
 3            "message_id": "<20231004071711.06338770D0A0@ita-oase-mailserver.localdomain>",
 4            "envelope_from": "root@ita-oase-mailserver.localdomain",
 5            "envelope_to": "user1@localhost",
 6            "header_from": "<root@ita-oase-mailserver.localdomain>",
 7            "header_to": "user1@localhost",
 8            "mailaddr_from": "root <root@ita-oase-mailserver.localdomain>",
 9            "mailaddr_to": "user1@localhost",
10            "date": "2023-10-04 16:17:10",
11            "lastchange": 1696403830.0,
12            "subject": "test mail",
13            "body": "sample\r\n"
14            "_exastro_event_collection_settings_id": "d0c9a70c-a1c0-4c7b-9e96-82e602ebc55e",
15            "_exastro_fetched_time": 1696406510,
16            "_exastro_end_time": 1696406810,
17            "_exastro_type": "event"
18            "_exastro_event_collection_settings_name": "agent01"
19        }]
20}

3.6.4. イベント履歴や評価結果に大量のレコードが表示されている場合の確認事項

あるルールで設定した結論イベントが、先述のルールに到達するフィルターにマッチする設定になっていた場合
再びルールにマッチして結論イベントを生み出すという挙動を繰り返すため
無限ループ状態になり、イベント履歴や評価結果に大量のレコードが登録され続ける状態となります。
必要に応じて、フィルターやルールの無効化などを行い、設定を見直してみて下さい。

3.6.5. イベント履歴での検索方法

検索方法に関しては以下の通りです。
表 3.100 イベント履歴画面 検索方法一覧

項目

検索

完全一致

部分一致

一致無し

オブジェクトID

検索ヒットする

バリデーションエラー

バリデーションエラー

イベント収集設定ID

検索ヒットする

検索ヒットする

表示なし

イベント収集日時

検索ヒットする

※1

表示なし

イベント有効日時

検索ヒットする

※1

表示なし

イベント状態

検索ヒットする

検索ヒットする

表示なし

イベント種別

検索ヒットする

検索ヒットする

表示なし

ラベル

検索ヒットする

検索ヒットする

表示なし

評価ルール名

検索ヒットする

検索ヒットする

表示なし

利用イベント ※2

検索ヒットする

バリデーションエラー

バリデーションエラー

※1 イベント収集日時とイベント有効日時の部分一致に関しては以下の通りです。
検索可能な部分一致例
YYYY/MM/DD
YYYY/MM/DD hh
YYYY/MM/DD hh:mm

検索不可能(バリデーションエラー)部分一致例
下記のように最終文字が途切れているもの or 最終文字がコロン
YYYY/MM/D
YYYY/MM/DD h
YYYY/MM/DD hh:
YYYY/MM/DD hh:mm:
具体例:2024/09/01 12:2

※2 利用イベントの検索方法については以下の通りです。
レコードの「利用イベント」の値を全文使用する
複数個
["ObjectId('xxxxxxxxxxxxxxxxxxxxxxxx')",... "ObjectId('yyyyyyyyyyyyyyyyyyyyyyyy')"]
1個
["ObjectId('xxxxxxxxxxxxxxxxxxxxxxxx')"]

レコードの「利用イベント」の値の配列の中身を使用する
複数個
"ObjectId('xxxxxxxxxxxxxxxxxxxxxxxx')",... "ObjectId('yyyyyyyyyyyyyyyyyyyyyyyy')"
1個
"ObjectId('xxxxxxxxxxxxxxxxxxxxxxxx')"

レコードの「利用イベント」の値のObjectIdの文字を付けたまま使用する
複数個
ObjectId('xxxxxxxxxxxxxxxxxxxxxxxx'),... ObjectId('yyyyyyyyyyyyyyyyyyyyyyyy')
1個
ObjectId('xxxxxxxxxxxxxxxxxxxxxxxx')

レコードの「利用イベント」の値のObjectIdの中身の値を使用する
複数個
xxxxxxxxxxxxxxxxxxxxxxxx,... yyyyyyyyyyyyyyyyyyyyyyyy
1個
xxxxxxxxxxxxxxxxxxxxxxxx'

3.6.6. 事前・事後通知のテンプレート

事前・事後通知のテンプレートは下記の通りです。
リスト 3.14 事前通知のテンプレート
 1[TITLE]
 2事前通知
 3
 4[BODY]
 5イベント
 6{%- for event in events -%}
 7{%- set i = loop.index %}
 8    イベントの元データ #{{ i }}
 9{%- for  key, value in event._exastro_events.items() %}
10      ・{{ key }}:{{ value }}
11{%- endfor -%}
12{%- endfor %}
13    結論イベントのラベル     : {{ action_log.conclusion_event_labels }}
14
15ルール情報
16    マッチしたルールのID     : {{ rule.rule_id }}
17    マッチしたルール名       : {{ rule.rule_name }}
18    条件
19      フィルターA
20        フィルターID         : {{ rule.filter_a }}
21        フィルター名         : {{ rule.filter_a_name }}
22        フィルター条件       : {{ rule.filter_a_condition_json }}
23      フィルター演算子        : {{ rule.filter_operator }}
24      フィルターB
25        フィルターID         : {{ rule.filter_b }}
26        フィルター名         : {{ rule.filter_b_name }}
27        フィルター条件       : {{ rule.filter_b_condition_json }}
28    結論イベント
29      元イベントのラベル継承
30        アクション           : {{ rule.action_label_inheritance_flag }}
31        イベント             : {{ rule.event_label_inheritance_flag }}
32      結論ラベル設定         : {{ rule.conclusion_label_settings }}
33    TTL                      : {{ rule.ttl }}
34    備考                     : {{ rule.note }}
35
36アクション情報
37    アクションのID           : {{ action.action_id }}
38    アクション名             : {{ action.action_name }}
39    オペレーションのID       : {{ action.operation_id }}
40    オペレーション名         : {{ action.operation_name }}
41    実行するConductorのID    : {{ action.conductor_class_id }}
42    実行するConductor名      : {{ action.conductor_name }}
43    ホスト
44      イベント連携           : {{ action.event_collaboration }}
45      指定                   : {{ action.host_id }}
46    利用パラメーターシート   : {{ action.parameter_sheet_id }}
47    備考                     : {{ action.note }}
リスト 3.15 事後通知のテンプレート
 1[TITLE]
 2事後通知
 3
 4[BODY]
 5イベント
 6{%- for event in events -%}
 7{%- set i = loop.index %}
 8  イベント #{{ i }}
 9    イベントのID           : {{ event.labels._id }}
10    イベント収集設定ID     : {{ event.labels._exastro_event_collection_settings_id }}
11    イベント収集設定名     : {{ event.labels._exastro_event_collection_settings_name }}
12    イベント取得時間       : {{ event.labels._exastro_fetched_time }}
13    イベントのラベル
14{%- for key, value in event.labels.items() %}
15      ・{{ key }}:{{ value }}
16{%- endfor %}
17    イベントの元データ
18{%- for  key, value in event._exastro_events.items() %}
19      ・{{ key }}:{{ value }}
20{%- endfor -%}
21{%- endfor %}
22
23マッチした結果
24  ステータス               : {{ action_log.status }}
25  登録日時                 : {{ action_log.time_register }}
26  実行したConductorのID    : {{ action_log.conductor_instance_id }}
27  実行したConductor名      : {{ action_log.conductor_instance_name }}
28  結論イベントのラベル     : {{ action_log.conclusion_event_labels }}
29
30ルール情報
31  マッチしたルールのID     : {{ rule.rule_id }}
32  マッチしたルール名       : {{ rule.rule_name }}
33  条件
34    フィルターA
35      フィルターID         : {{ rule.filter_a }}
36      フィルター名         : {{ rule.filter_a_name }}
37      フィルター条件       : {{ rule.filter_a_condition_json }}
38    フィルター演算子        : {{ rule.filter_operator }}
39    フィルターB
40      フィルターID         : {{ rule.filter_b }}
41      フィルター名         : {{ rule.filter_b_name }}
42      フィルター条件       : {{ rule.filter_b_condition_json }}
43  結論イベント
44    元イベントのラベル継承
45      アクション           : {{ rule.action_label_inheritance_flag }}
46      イベント             : {{ rule.event_label_inheritance_flag }}
47    結論ラベル設定         : {{ rule.conclusion_label_settings }}
48  TTL                      : {{ rule.ttl }}
49  備考                     : {{ rule.note }}
50
51アクション情報
52  アクションのID           : {{ action.action_id }}
53  アクション名             : {{ action.action_name }}
54  オペレーションのID       : {{ action.operation_id }}
55  オペレーション名         : {{ action.operation_name }}
56  実行するConductorのID    : {{ action.conductor_class_id }}
57  実行するConductor名      : {{ action.conductor_name }}
58  ホスト
59    イベント連携           : {{ action.event_collaboration }}
60    指定                   : {{ action.host_id }}
61  利用パラメーターシート   : {{ action.parameter_sheet_id }}
62  備考                     : {{ action.note }}
63
64Conductor情報
65  ステータス               : {{ conductor.status }}
66  オペレーションID         : {{ conductor.operation_id }}
67  オペレーション名         : {{ conductor.operation_name }}
68  登録日時                 : {{ conductor.time_register }}
69  予約日時                 : {{ conductor.time_book }}
70  開始日時                 : {{ conductor.time_start }}
71  終了日時                 : {{ conductor.time_end }}
72  緊急停止フラグ           : {{ conductor.abort_execute_flag }}
73  備考                     : {{ conductor.note }}

変数を使用した際の結果パターン

結果にパターンのある変数に関しては以下の通りです。
  • action_log.status
    判定済み → Rule matched
    実行中 → Executing
    完了 → Completed
    完了(異常) → Completed (abnormal)
    完了確認待ち → Waiting for completion confirmation
    完了確認済み → Completion confirmed
    完了確認却下済み → Completion confirmation rejected

  • rule.action_label_inheritance_flag
    パラメータとして利用する → Used as a parameter
    パラメータとして利用しない → Not use as a parameter

  • rule.event_label_inheritance_flag
    結論イベントに継承する → Inheriting Conclusion Events
    結論イベントに継承しない → Not Inheriting Conclusion Events

  • conductor.status
    未実行 → Unexecuted
    未実行(予約) → Unexecuted (scheduled)
    実行中 → Executing
    実行中(遅延) → Executing (delayed)
    一時停止 → Paused
    正常終了 → Completed
    異常終了 → Abend
    警告終了 → Ended with warning
    緊急停止 → Emergency stop
    予約取消 → Cancelled reservation
    想定外エラー → Unexpected error

  • conductor.note
    発令済み → Issued
    未発令 → not issued