今回はExastro IT Automation (以下ITA)の機能の1つであるOASE連携機能を使ってみたいと思います。
はじめに
OASEとは、外部から取得したイベント情報を分析し、そのイベントへの対処の自動化を支援する機能です。
今回は、RESTにてWebサーバからRESTをOASEに通知し、
Apache(httpd)のサービスが停止したという通知をOASEが受けたことで、サービスを起動するAnsibleの処理がConductorによって自動的に動く、というシナリオを想定しITAを使っていきたいと思います。
1.ITA設定
サービス起動処理の登録
AnsibleL-egacy/Playbook素材集にあるSystem_service_started.ymlを使用します。
必要な設定は
・オペレーション登録
・Movement登録
・Ansible Playbook登録
・パラメータシート作成
・MovementとAnsible Playbook紐付け
・パラメータシートの項目とAnsible Playbookの変数の紐付け
・パラメータ設定
・機器登録
・Conductor設定
となります。
詳しい操作方法はITAマニュアル参照
Conductor一覧にサービス起動のConductorを登録できたらサービス起動処理側の準備はOKです。
2.OASE設定
今回は以下コマンドを打ち、イベントを発生させるというシナリオに基づき設定していきます。
curl -X POST -k 'http://*.*.*.*/api/org001/workspaces/ws001/oase_agent/events' \
-H "Authorization: Basic ****************=" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"events": [
{
"event": [
{
"hostname": "webserver",
"service": "httpd",
"status": "down"
}
],
"event_collection_settings_name": "エージェント不使用"
}
]
}'`
エージェント
OASE管理→エージェントを選択して
イベント収集設定名、接続方式ともにエージェント不使用を記載していきます、今回はREST APIでイベントを通知するためエージェント不使用を選択します。
ラベル作成
ラベル作成ではキーワードの設定を行います。
OASE→ラベル→ラベル作成よりラベルを2つ作成します。ラベルキーはserviceとstatusを指定します。カラーコードは2つのラベルで違う色にした方が見やすいのでよさそうです。設定内容は以下です
ラベルキー | カラーコード |
---|---|
service | (任意の値) |
status | (任意の値) |
ラベル付与
OASE→ラベル→ラベル付与もserviceとstatusで2レコード作成します。
設定は画像参照。
フィルタ
OASE→ルール→フィルタにはhttpdというサービスが落ちた時、という条件を指定します。
アクション
OASE→ルール→アクションには作成したサービス起動の処理が動くよう設定します。
ルール
OASE→ルール→ルールでフィルターとアクションの紐づけ設定を行います。
以上でOASEの設定は完了です。
3.サービス停止
サービス起動処理が正しく動くか確認するためにWebサーバのhttpdのサービスを停止しておきます。サービスがinactiveになっていることを確認しました。
4.イベント発生
以下コマンドを打ち、イベントを発生させます。
画像の青マーキング部分はITAサーバのIPアドレス、
赤マーキング部分にはITAのワークスペースにログインする際のユーザー名、パスワードをbase64エンコードした値を指定します。以下のコマンドで確認できます。
echo -n "ユーザー名:パスワード" | base64
画像のようにmessage欄にSUCCESSと出たらコマンド成功です。
5.結果確認
OASE→イベントフローで事前に設定したルールが適用され、結論イベントの発生まで確認できました。上からイベント。ルール、アクション、結論イベントと4つ確認出来たら正常終了です。
OASE→ルール→評価結果でサービス起動処理の結果を確認できます。ステータスが完了なので正常終了したことを確認できました。
6.まとめ
今回はRESTを使用して基礎的なExastro OASE ITAメニュー連携機能をITAマニュアルを参照しながら実行してみました。次回はメールサーバとの連携を行ってみようと思います。