##はじめに
Zabbixなどの監視ツールで障害発生アラートが出た際に、前もってExastro OASE・Exastro ITAと連携しておくと「メッセージ抽出機能」によってアラートのピックアップから対処実行までを自動で行ってくれるそうです。
サーバの運用などで同じケースの障害が頻発する場合、人手をかけず・手間をかけずに行える策になりそうなので、ためしにやってみました。
Exastro OASEとは
OASE:Operation Autonomy Support Engine 「システム運用の自律化・効率化・省力化を支援するためのOSS」 [OASEコミュニティサイト](https://exastro-suite.github.io/oase-docs/index_ja.html) [Exastro OASE を最速でインストールする](https://qiita.com/wreath-vine/items/46b3838ce845bba9ae4e) [Exastro OASE クイックスタート (v1.3.0)](https://qiita.com/tak_paddy/items/733b3c411b5ec6ecf0dd)Exastro ITAとは
ITA:IT Automation 「システム設定をデジタル化して一元管理するためのオープンソースのフレームワーク」 [ITAコミュニティサイト](https://exastro-suite.github.io/it-automation-docs/index_ja.html) [Exastro IT Automationをインストールしてみた(v1.8.0)](https://qiita.com/standsetx/items/53553a0f78edc3097812) [Exastro IT Automation クイックスタート (ver1.8.0)](https://qiita.com/y-masaya3210/items/68920237c03e5d4f4776)##メッセージ抽出機能とは
以下の課題があるとします。
課題
監視ツールの障害メッセージを受け取り、当該ホストへの対処実行までを自動で行いたい。
これにITAとOASEを使用すると、下図のような連携プレーが可能になります。
役割
- 監視ツール(Zabbixなど) :障害を検知してメッセージを発出
- OASE :監視ツールから障害メッセージをピックアップし、ITAが対処実行できる形に「メッセージ抽出」してITAに必要データを渡す
- ITA :対処実行
ここで「メッセージ抽出」が出てきます。
役割からすると、監視ツール(Zabbixなど)で発出された障害メッセージからITAが対処実行するために必要なデータを抽出するOASEの機能ということですね。
抽出するデータとはつまり具体値なので、変数に代入する具体値を連携できる機能と思えば良さそうです。
これを使うメリットとしては、以下が挙げられます。
メリット
- 可変の情報(変数)をITAに連携できる。
- 特にホストが何台もある場合は、設定する量が飛躍的に減ったり自由度が増したりする。例えばサーバが5台あったとしたら、通常は5台分の登録がOASEとITAに必要だが、メッセージ抽出でホスト名を連携出来れば登録は1台分で済む、など。
今回は以下のシナリオでこのメッセージ抽出機能(を使った連携プレー)を実行してみます。
##シナリオ
こういうシナリオを設定しました。
下図は前出の図を詳細にしたものです。
シナリオ
監視対象サーバ1のデータファイル[datafile.txt]はデータ集計用に定期追記作成されているが、あるときデータが貯まって容量が肥大化してしまい、サーバのDisk使用率を圧迫するようになってしまった**(1)。そのサーバを監視しているZabbixにはDisk使用率80%を超えると障害メッセージが発出される設定がされており、今はその障害メッセージが発出されている(2)**。
Zabbixに連携しているOASEは障害メッセージをピックアップして**(3)、ディシジョンテーブル(ルールリスト)にかける(4)。登録済みの既知事象だったのでメッセージ抽出が行われ(5)、データをITAに渡す(6)。ITAはあらかじめ登録されていたファイル圧縮用Conductorを実行し(7)**、対象サーバに接続して[datafile.txt]をzip圧縮しサーバのDisk使用率を下げる。
条件
・監視対象サーバは2台用意し、障害が起きた方にのみITAが作業実行するように設定する。
このシナリオが実行できるような設定を行っていき、実際に最後に容量の大きい[datafile.txt]を作成して動作確認してみます。
##1. 各種インストール
こちらの記事がわかりやすいので参考にしてください。
OASEのインストール
[Exastro OASE を最速でインストールする](https://qiita.com/wreath-vine/items/46b3838ce845bba9ae4e)ITAのインストール
[Exastro IT Automationをインストールしてみた(v1.8.0)](https://qiita.com/standsetx/items/53553a0f78edc3097812)Zabbixのインストール
[Exastro OASE でマッチポンプした話(Web+Zabbix構築編)](https://qiita.com/wreath-vine/items/d916764885ea8169cdda#12-zabbix-%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89) 「1.2. Zabbix 環境構築」に記載##2. Zabbixの設定
まずはZabbixまわりの設定を行っていきます。図で言うとこちら。
※ Linux版の操作説明となります。
###2-1 ホスト登録
監視対象サーバ×2台を登録します。
①左メニューから 設定 > ホスト をクリック。
②画面右上の[ホストの作成]ボタンをクリック。
③ホストの登録画面が出るので、下記の項目を入力します。それ以外はデフォルトでOKです。
※ お使いの環境に応じて入力してください。
項目 | 1台目 | 2台目 |
---|---|---|
ホスト名 | oase-learn-target-1 | oase-learn-target-2 |
グループ | Linux servers | Linux servers |
インターフェース タイプ | エージェント | エージェント |
インターフェース IPアドレス | 192.0.2.1 | 192.0.2.2 |
インターフェース DNS名 | oase-learn-target-1 | oase-learn-target-2 |
インターフェース 接続方法 | IP | IP |
インターフェース ポート | 10050 | 10050 |
④上メニューから テンプレート をクリック。
下記のテンプレートにチェックを入れます。
ホストグループ | テンプレート名 |
---|---|
Templates/Operating systems | Linux by Zabbix agent |
⑤画面下の[追加]ボタンをクリックしてホスト登録完了。
###2-2 トリガー登録
Disk監視設定のしきい値80%をトリガーとしてアラートが発出されるよう設定します。
またトリガーはOASEが拾える形に少しカスタムします。
③Disk使用率のトリガーである**/: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:"/"}%)**があるのでクリック。
⑤複製したトリガーは、[名前][条件式][説明][依存関係]を変更します。
名前 | 条件式(※) | 説明 |
---|---|---|
Disk space is low | last(/oase-learn-target-1/vfs.fs.size[/,pused])> 80 | /work/data/datafile.txt |
※ 複製元の条件式ではマクロでDisk容量が指定されていますが、今回は80%で直打ちにします。
**TIPS メッセージ抽出のポイント** 下図は各ツールのメッセージ抽出に関わる設定を示しています(赤矢印が連携項目、オレンジ枠は本記事の章番号)。 今やっているのは右側の「トリガー」のところで、[名前][説明]はトリガーを引いた[ホスト名]とともに以下のように連携されます。 今回は[説明]に圧縮対象ファイルのパスを記入しました。この値は最終的にITAのパラメータシートに登録され、ITAの作業実行が行われます。 ![図75.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/794820/9051d1cf-148d-de32-e627-d0b92e64d8c3.png) |
HW機器種別 | ホスト名 | IPアドレス | ログインユーザID | ログインパスワード > 管理 | ログインパスワード > ログインパスワード | Ansible利用情報 > Legacy/Role利用情報 > 認証方式 |
---|---|---|---|---|---|---|
SV | oase-learn-target-1 | 192.0.2.1 | root | ● | xxxxxx | パスワード認証 |
SV | oase-learn-target-2 | 192.0.2.2 | root | ● | xxxxxx | パスワード認証 |
[登録]ボタンをクリックして完了。
###3-2 Conductorの作成
MovementにPlaybookを紐付けて、そのMovementを内包するConductorを作成します。
Movementとは
ITAで作成できる自動作業の最小単位。ジョブ。 今回は1つだけ作成します。 ![図63.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/794820/08a7da75-6665-96ef-a5ef-d937c0a7f620.png)Conductorとは
1つ以上のMovementの組み合わせから成るジョブフロー。ひとつのMovementが実行完了したら自動的に次のMovementを実行する、汎用手順書のようなものです。 今回のようにMovement1つの場合、ITA上ではConductorを作成せずにMovement単体で実行することが可能ですが、OASEと連携する場合はOASE側でITAのConductorIDを指定するため、Conductorの作成はマストとなります。 ![図62.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/794820/03c2e1e6-d859-ea16-622a-04c6dd40572a.png)①Movementの登録
メニュー Ansible-Legacy > Movement一覧 から
Movement名 | Ansible利用情報 > ホスト指定形式 |
---|---|
file_compression | IP |
[登録]ボタンをクリックして完了。
②Playbookの登録
以下Playbookをテキストエディタで作成します。
(変数でパスを指定されたファイルのzipを作成し、その後元ファイルを削除するという内容)
- name: Compress regular file and remove it
archive:
path: "{{ VAR_path }}"
format: zip
remove: yes
メニュー Ansible-Legacy > Playbook素材集 から
以下の部分を入力。
Playbook素材名 | Playbook素材 |
---|---|
file_compression | compress.yml |
Playbook素材の[事前アップロード]ボタンをクリックしてから[登録]ボタンをクリックして完了。
③MovementとPlaybookの紐付け
①②で登録したMovementとPlaybookを紐付けます。
メニュー Ansible-Legacy > Movement-Playbook紐付 から
以下の部分を入力。
Movement | Playbook素材 | インクルード順序 |
---|---|---|
file_compression | compress.yml | 1 |
インクルード順序とは
今回のシナリオでは1つのMovementに対して1つのPlaybookを紐付けましたが、1つのMovementに対して複数のPlaybookを紐付けることもできます。その場合、処理が実行される順番をインクルード順序で指定します。 ![図23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/794820/255f1cda-cb50-c2c4-cbc1-bc877c9bdc75.png)[登録]ボタンをクリックして完了。
④Conductorクラス編集
Movementを実行するConductorを作成します。
メニュー Conductor > Conductorクラス編集 から
右下に表示されているMovementをキャンバスにドラッグ&ドロップしし、各ノードのOUT-INをドラッグしてつなげる。
Conductor名称を入力して[登録]ボタンをクリックして完了。
Conductor名称 |
---|
file_compression |
###3-3 パラメータシートの作成と代入値自動登録設定
パラメータシートを作成して、Movementの変数{{ VAR_path }}と紐づけていきます。
**TIPS メッセージ抽出のポイント** 今は上部の「パラメータシート」のところです。 ![図75.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/794820/9051d1cf-148d-de32-e627-d0b92e64d8c3.png) 拡大してみるとこんな感じで、 ![図77.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/794820/e78c0c94-39cd-598a-a41b-9b406fc878fb.png) 具体的には[path]カラムと変数が紐づいています。 いざZabbixのトリガーが引かれた時、値[work/data/datafile.txt]がOASEから渡され、[path]カラムに格納されます。その[path]カラムは変数{{ VAR_path }}と紐づいているので、Conductorの準備が整い作業実行が可能になる、というわけです。 |
メニュー名 | 作成対象 | 表示順序 | 項目名 | 入力方式 | 最大バイト数 |
---|---|---|---|---|---|
ディレクトリ名 | パラメータシート(ホスト/オペレーションあり) | 1 | path | 文字列(単一行) | 256 |
※ 他はデフォルトのままでOKです。
[作成]ボタンをクリックして完了。
作成できているか確認します。
入力用メニューグループの中に「ディレクトリ名」メニューが作成されていて、
[登録開始]ボタンをクリックすると[path]項目が作成されています。
これでOKです。
②代入値自動登録設定
Ansible-Legacy > 代入値自動登録設定 から
以下の部分を入力。
パラメータシート(From) > メニューグループ:メニュー | パラメータシート(FROM) > 項目 | 認証方式 | IaC変数(To) > Movement | IaC変数(To) > Value変数 > 変数名 | IaC変数(To) > Value変数 > 代入順序 |
---|---|---|---|---|---|
代入値自動登録用:ディレクトリ名 | パラメータ/Path | Value型 | file_compression | VAR_path | 1 |
上の行に書いてある**パラメータシート(From)→IaC変数(To)**を見ればわかりやすいです。どのメニューのどのカラムを → どのMovementのどの変数に代入するか ということですね。
[登録]ボタンをクリックして完了。
###3-4 ロール・ユーザ紐付け
ITAにはoaseアクションというロールがデフォルト登録されており、OASEとの連携で使用するメニューへのアクセス権が色々と付与されています。
ただし、そのoaseアクションロールにユーザが紐付いていないので、まずoaseユーザを新規登録し、その後oaseアクションロールにoaseユーザを紐付けます。
それから、先ほど新規で作成したディレクトリ名メニューへの、oaseアクションロールのアクセス権がデフォルトでは閲覧になっているので、メンテナンス可に変更します。
①oaseユーザの登録
管理コンソール > ユーザ管理 から
以下の部分を入力。
ログインID | ログインPW | ユーザ名 |
---|---|---|
oase | ******(任意) | oase |
[登録]ボタンをクリックして完了。
②oaseユーザとoaseアクションロールの紐付け
管理コンソール > ロール・ユーザ紐付管理 から
以下のように選択。
ロール | ユーザID:ログインID |
---|---|
oase | oase |
[登録]ボタンをクリックして完了。
③oaseアクションロールからディレクトリ名メニューへのアクセス権変更
管理コンソール > ロール・メニュー紐付管理から
一覧/更新でこの行を探します**(1)**。
ロール/名称 | メニューグループ/名称 | メニュー/名称 |
---|---|---|
oaseアクション | 入力用 | ディレクトリ名 |
oaseアクション | 代入値自動登録用 | ディレクトリ名 |
それぞれ[更新]ボタンをクリックすると**(2)、[紐付]カラムで権限が選べるので[メンテナンス可]を選択(3)**。
[登録]ボタンをクリックして完了。
これでITAの設定ができました!
###補足 メニューID・ConductorクラスIDの確認
OASEがITAにデータ受け渡しする際、ITAのメニューIDとConductorクラスIDを指定する必要があります。後ほどOASE設定の際に必要になってくるので、この時点でIDナンバーをメモしておくといいです。
メニューIDの確認
**管理コンソール > メニュー管理**から[フィルタ]をクリックして[一覧/更新]を表示。 [メニューID]カラムの番号を確認します。 ![図73.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/794820/d76d522e-a6d7-2f51-c630-daf626eb7f3c.png)ConductorクラスIDの確認
**Conductor > Conductorクラス一覧** から[一覧]を表示。 [ConductorクラスID]カラムの番号を確認します。 ![図74.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/794820/8faedb92-71d3-416c-06f4-c184c027f0bd.png)##4. OASEの設定
OASEまわりの設定を行っていきます。図で言うとこちら。
ディシジョンテーブルを作成
↓
Zabbixアダプタの設定
↓
ITAドライバの設定
↓
ディシジョンテーブルにルールを登録
という流れになります。
###4-1 ディシジョンテーブルの作成
ディシジョンテーブルを作成します。
ITAでパラメータシートを作ったときのように、まずはテーブル自体を作る作業です。
上部メニュー ルール > ディシジョンテーブル から、右上の[新規追加]ボタンをクリックして
以下の部分を入力。
基本情報・権限
項目名 | 入力内容 |
---|---|
ディシジョンテーブル名 | OASEメッセージ抽出機能検証 |
権限の設定 システム管理者 | すべて更新可能にする(※) |
※ うっかり「権限なし」にすると、せっかく作ったディシジョンテーブルが表示されなくなるので注意。
条件式
条件名 | 条件式 |
---|---|
アラート | 正規表現に一致する |
ホスト | 正規表現に一致する |
メッセージ連携用 | 正規表現に一致する |
未知事象通知
項目名 | 入力内容 |
---|---|
未知事象通知 | 通知しない |
[保存]ボタンをクリックして完了。
**TIPS メッセージ抽出のポイント** 今やっているのは左下の「ディシジョンテーブル 条件式」のところで、ルールを登録するための[アラート][ホスト][メッセージ連携用]カラムを作った状態です。 ![図75.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/794820/9051d1cf-148d-de32-e627-d0b92e64d8c3.png) |
項目名 | 入力内容 |
---|---|
名前 | oase-learn-monitoring |
プロトコル | http |
ホスト/IP | oase-learn-monitoring |
ポート | 80 |
ユーザ名 | Admin(ZabbixのWeb画面のログインユーザ名) |
パスワード | ********(上記ユーザのパスワード) |
ディシジョンテーブル名 | OASEメッセージ抽出機能検証 |
突合情報
先ほどディシジョンテーブルに登録した条件名が表示されるので、それぞれ対応するZabbixの項目名を指定します。
条件名 | Zabbix項目 |
---|---|
アラート | description |
ホスト | hosts |
メッセージ連携用 | comments |
**TIPS メッセージ抽出のポイント**
中央下の「ZABBIX Adapter 突合情報」で、Zabbixの[トリガー項目名]とディシジョンテーブルの[条件名]を対応させているところです。
ちなみに右側「トリガー」の表の真ん中に[Trigger objectの項目名]とありますが、OASEがAPIでZabbixのトリガーをピックアップしに行く際、この名称で引っ張ってくるようです(下記URL参照)。 そのため「ZABBIX Adapter 突合情報」の[Zabbix項目]に表示されるのはこの[Trigger objectの項目名]になります。 |
項目名 | 入力内容 |
---|---|
名前 | oase-learn-ita |
バージョン | 1.8.1 |
プロトコル | http |
ホスト/IP | oase-learn-ita |
ポート | 80 |
ユーザ名 | oase(ITAに登録したユーザ) |
ユーザ名 | ********(上記ユーザのパスワード) |
権限 システム管理者 新規追加 | 更新可能 |
[保存]ボタンをクリックして完了。
###4-4 メッセージ抽出定義の登録
同じくシステム > アクション設定 から[メッセージ抽出定義]ボタンをクリック。
[メッセージ抽出定義]画面になるので[編集]ボタンをクリック。
右上の[追加]ボタンをクリックして2行追加。以下内容を入力します。
ドライバ名 | メニューグループ:メニュー | パラメータ名 | 抽出対象条件名 | 抽出方法1 |
---|---|---|---|---|
oase-learn-ita | 入力用:ディレクトリ名 | 対象ホスト | ホスト | .* |
oase-learn-ita | 入力用:ディレクトリ名 | path | メッセージ連携用 | .* |
**TIPS メッセージ抽出のポイント** 左上「メッセージ抽出定義」を登録しているところです。 ディシジョンテーブルの条件式にメッセージがマッチングした場合、抽出されたメッセージがここへ送られてきます。 この表左側をTO(ITA側)、右側をFROM(OASE側)として見るとわかりやすいです。 **TO(ITAのメニューとパラメータ名) ← FROM(OASEの条件名と抽出されたメッセージ)** |
項目名 | 入力内容 |
---|---|
トークン名 | learn-token |
グループ別権限 システム管理者 | 権限あり |
クリップボードにはコピーしなくてOKです。[閉じる]をクリックして完了。
###4-6 ディシジョンテーブルにルールを登録
作成したディシジョンテーブルにルールを登録します。
上部メニュー ルール > デシジョンテーブル から、作成したデシジョンテーブルの左側にあるダウンロードボタンをクリック。
Excelがダウンロードされるので、以下の部分を記入。
各項目の入力内容と説明は以下の通り。
(Excelと行/列が入れ変わって少し見にくいですが…)
項目名 | 入力内容 | 説明 | 下記参照 |
---|---|---|---|
ルール説明 | test | ルールの説明(任意の文章) | |
アラート(正規表現可一致) | Markdownで表示が崩れるので下に書きました | Zabbixトリガーの[名前]を抽出 | ※1 |
ホスト(正規表現可一致) | oase-learn-target-. | Zabbixから対象ホスト名を抽出 | ※1 |
メッセージ連携用(正規表現可一致) | .* | Zabbixトリガーの[説明]を抽出 | ※1 |
ルール名(必須) | FileCompress | 一意となる名称 | |
アクション種別(必須) | ITA(ver1) | 実行したいアクションを選択 | |
アクションパラメータ情報(必須) | ITA_NAME=oase-learn-ita,CONDUCTOR_CLASS_ID=2,MENU_ID=1,CONVERT_FLG=FALSE | ITAのConductor IDと[ディレクトリ名]のメニューIDを記述 | ※2 |
承認メールパラメータ情報(必須) | X | 不要なのでX | |
リトライ間隔(必須) | 1 | アクションのリトライ間隔(単位:秒) | |
リトライ回数(必須) | 1 | アクションのリトライ回数 | |
抑止間隔(必須) | 1 | アクションの抑止間隔(単位:秒) | |
抑止回数(必須) | 1 | アクションの抑止回数 | |
条件回数(必須) | X | アクションの条件回数。不要なのでX | |
条件期間(秒)(必須) | X | アクションの条件期間。不要なのでX | |
大グループ(必須) | X | グルーピングしたいルールに対してグループ名を記述。不要なのでX | |
優先順位(必須) | X | 大グループでグルーピングしたルールの優先順位を記述。不要なのでX | |
小グループ(必須) | X | 大グループからさらにグルーピングしたいルールに対してグループ名を記述。不要なのでX | |
優先順位(必須) | X | 小グループでグルーピングしたルールの優先順位を記述。不要なのでX |
アラート(正規表現可一致)
^.*Disk space is.*$
※1 ディシジョンテーブル[条件式]
先ほど作成したディシジョンテーブルに条件式を登録しています。
**TIPS メッセージ抽出のポイント** 左下「ディシジョンテーブル 条件式」で、表の右側「条件式」(ルール)を登録しているところです。 ![図75.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/794820/9051d1cf-148d-de32-e627-d0b92e64d8c3.png) |
ディシジョンテーブル名選択 |
---|
OASEメッセージ抽出機能検証 |
設定
項目 | 入力内容 |
---|---|
アラート | Disk space is low |
ホスト | oase-learn-target-1 |
メッセージ連携用 | /work/data/datafile.txt |
入力したら[実行]ボタンをクリック。
成功すると、ログにこういう画面が出ます。
「正常に処理されました」と表示されたらOK。
[プロダクション適用]ボタンがアクティブになるのでクリッすると、ルール画面下段の[プロダクション適用ルール]にディシジョンテーブル名が表示されます。
これでOASEの設定は完了です!
##5. 動作確認
それでは実際に容量の大きい[datafile.txt]を監視対象サーバに作成してみます。
その前にファイル作成前のDisk容量を確認。
監視対象サーバ1(oase-learn-target-1)にTerratermで入って、dfコマンドを打ちます。
# df -h --total
Filesystem Size Used Avail Use% Mounted on
devtmpfs 866M 0 866M 0% /dev
tmpfs 909M 0 909M 0% /dev/shm
tmpfs 909M 17M 893M 2% /run
tmpfs 909M 0 909M 0% /sys/fs/cgroup
/dev/vda1 20G 5.2G 15G 26% /
tmpfs 182M 0 182M 0% /run/user/0
total 24G 5.2G 19G 22% -
/dev/vda1を見ると、26%しか使ってません。
では、ddコマンドでファイルを作成してみます。
(bs=1024k count=11000 の部分はお使いの環境に合わせて設定してください)
# cd /work/data
# dd if=/dev/zero of=datafile.txt bs=1024k count=13000
dfコマンドで再度Disk容量を確認。90%になったことが確認できました。
# df -h --total
Filesystem Size Used Avail Use% Mounted on
devtmpfs 866M 0 866M 0% /dev
tmpfs 909M 0 909M 0% /dev/shm
tmpfs 909M 17M 893M 2% /run
tmpfs 909M 0 909M 0% /sys/fs/cgroup
/dev/vda1 20G 18G 2.2G 90% /
tmpfs 182M 0 182M 0% /run/user/0
total 24G 18G 5.9G 76% -
これでZabbixのトリガーが引かれてITAの実行まで自動で行われるはずなので、少し待機。
しばらく経って(私の場合は1~2分ほどかかりました)からlsコマンドで確認すると、zipファイルが作成&元のtxtファイルが削除されていました。
# ls
datafile.txt.zip
これで成功です!!
OASEではどう表示されてるか見てみます。
ルール > アクション履歴から、表示されたアクション詳細へ。
ログが確認できます。
下部のアクション情報 > 連携項目 を確認すると、2台あったターゲットホストのうち、oase-learn-target-1が指定されていることがわかります。
これで一連の動作確認ができました。
##まとめ
一番初めに設定することは色々とあるようですが、一度やってしまえばあとは自動ですべて対処してくれるので、実運用ではかなり重宝するのではないかと思いました。
ポイントはZabbixのトリガーがOASEのディシジョンテーブルの条件式に対応しているところかなと思います。この部分がメッセージ抽出の本丸のようでした。
下記の関連リンクでOASE関係の記事を載せてみたので、合わせて見ていただければわかりやすいと思います。
##関連リンク
Exastro OASE Base (v1.3.1) ハンズオン
Exastro OASE でマッチポンプした話(Web+Zabbix構築編)
Exastro OASE でマッチポンプした話(活用編)
Exastro コミュニティサイト OASEドキュメント一覧
【随時更新】Exastroの参考になる記事をまとめてみた