9.3. アクション定義

Exastro OASE から、Exastro IT Automation やメールサーバと連携するために、ディシジョンテーブルファイルの アクションパラメータ情報 に適切なパラメータを記載する必要があります。
本項では、連携可能なアプリケーションとそのパラメータ情報の記載方法について説明します。

Exastro IT Automation 連携

Exastro IT Automation (ITA) と連携する際に利用するアクションパラメータについて記載します。
ITA と連携する場合、作業対象のホストや投入するパラメータを ITA と OASE のどちらで管理するかによってアクションパラメータの記載方法が変わってきます。

ITAアクションパラメータ

パラメータ分類

パラメータ変数

パラメータ値

入力例

ドライバ名

ITA_NAME

ITAドライバ名。

必須項目です。

ITA_NAME=exastro-ita01

ジョブフロー

CONDUCTOR_CLASS_ID

実行するConductorクラスID。

ConductorクラスIDはConductorクラス一覧で確認できます。

SYMPHONY_CLASS_IDのどちらか一つのみを選択する必要があります。

CONDUCTOR_CLASS_ID=2

SYMPHONY_CLASS_ID

実行するSymphonyクラスID。

SymphonyクラスIDはSymphonyクラス一覧で確認できます。

CONDUCTOR_CLASS_IDのどちらか一つのみを選択する必要があります。

SYMPHONY_CLASS_ID=3

オペレーション

OPERATION_ID

作業を実行する際に利用するオペレーションID。

OPERATION_ID を利用する場合、作業対象やメニュー連携はできません。

OPERATION_ID=4

投入パラメータ

MENU_ID

ITA のメニューIDを指定。

連携可能なメニューはホストグループ利用が有効になっているメニューに限られます。

<メニューID>:<メニューID>:...

CONVERT_FLGの指定が必要です。

MENU_ID=1

MENU_ID=1:2

CONVERT_FLG

作業対象のホストをメッセージから利用するためのフラグです。

MEMU_IDの利用時に指定が必要です。

TRUE : 取得したメッセージを作業対象ホスト名として利用します。

FALSE : 取得したメッセージの一部を抽出した文字列を作業対象ホスト名として利用します。

CONVERT_FLG=TRUE

CONVERT_FLG=FALSE

作業対象

SERVER_LIST

ITA の機器一覧に登録されている作業対象ホスト。

OPERATION_ID は自動で払い出されます。

OPERATION_IDおよびMENU_IDとの併用はできません。

SERVER_LIST=www01

SERVER_LIST=www01:www02

HOST_NAME

ITA のホストグループ管理のホスト紐付け管理に登録されているホスト名。

<メニューID>:<ホスト名>&<ホスト名>&...|<メニューID>:<ホスト名>...

MENU_ID利用時のみ指定ができます。

HOST_NAME=1:db01

HOST_NAME=1:db01&db02|2:www01

HOSTGROUP_NAME

ITA のホストグループ管理のホストグループ一覧で管理されているホストグループ名。

MENU_ID利用時のみ指定ができます。

HOSTGROUP_NAME=1:db-group|2:web-group

注釈

CONVERT_FLGがTRUEの場合
条件部におけるルールの記述を以下のように加工した場合、使用することができます。
・始めの条件を作業対象ホスト名でマッチングできるようにする。
・2番目以降の条件をパラメータシートに連携する値でマッチングできるようにする。
ルールにマッチングされた値がそのままパラメータシートへ登録を行います。
パラメータシートへ値が登録される順番はイベント情報の順番になります。

CONVERT_FLGがFALSEの場合
条件部におけるルールの記述を加工せずに使用することができます。
ITAのパラメータシートへ連携される値はマッチングされた文言から指定された抽出条件によって抽出します。
抽出する値には作業対象ホストが必要です。
パラメータシートへ値が登録される順番はメニューID毎に指定することができます。

ユースケース

Case 1
ITAで設定済みの機器とパラメータを利用する
ITA_NAME=exastro-ita01,CONDUCTOR_CLASS_ID=1,OPERATION_ID=1
ITA_NAME=exastro-ita01,SYMPHONY_CLASS_ID=2,OPERATION_ID=2
Case 2
ITAで設定済みの機器とパラメータを利用し、OASEでホストを指定する
ITA_NAME=exastro-ita01,CONDUCTOR_CLASS_ID=1,SERVER_LIST=www01
ITA_NAME=exastro-ita01,SYMPHONY_CLASS_ID=2,SERVER_LIST=db01:db02
ITA_NAME=exastro-ita01,CONDUCTOR_CLASS_ID=1,SERVER_LIST={{ VAR_<条件名> }}
Case 3
ITAで設定済みの対象ホストまたは対象ホストグループとパラメータシートを利用し、OASEで対象ホストまたは対象ホストグループを指定する。
ITA_NAME=exastro-ita01,CONDUCTOR_CLASS_ID=1,MENU_ID=1,HOST_NAME=1:www01,CONVERT_FLG=FALSE
ITA_NAME=exastro-ita01,CONDUCTOR_CLASS_ID=1,MENU_ID=1,HOSTGROUP_NAME=1:web-group,CONVERT_FLG=FALSE
ITA_NAME=exastro-ita01,SYMPHONY_CLASS_ID=2,MENU_ID=2:3:4,HOST_NAME=2:www01,HOSTGROUP_NAME=3:db-group|4:app1-group&app2-group,CONVERT_FLG=FALSE
Case 4
第1条件式にマッチした値をホスト名として、第2条件式以降にマッチした値をパラメータシートに連携する値として指定する。
ITA_NAME=exastro-ita01,CONDUCTOR_CLASS_ID=1,CONVERT_FLG=TRUE
ITA_NAME=exastro-ita01,SYMPHONY_CLASS_ID=2,CONVERT_FLG=TRUE
Case 5
第1条件式にマッチした値をホスト名として、第2条件式以降にマッチした値の一部を抽出してパラメータシートに連携する値として指定する。
ITA_NAME=exastro-ita01,CONDUCTOR_CLASS_ID=1,CONVERT_FLG=FALSE
ITA_NAME=exastro-ita01,SYMPHONY_CLASS_ID=2,CONVERT_FLG=FALSE

Mail 連携

メール通知する際に利用するアクションパラメータについて記載します。

Mailアクションパラメータ

パラメータ分類

パラメータ変数

パラメータ値

入力例

ドライバ名

MAIL_NAME

Mailドライバ名。

必須項目です。

MAIL_NAME=management-mail

通知先

MAIL_TO

宛先エンベロープToのメールアドレスを指定します。

必須項目です。

MAIL_TO=maintener@example.com

MAIL_CC

CCのメールアドレスを指定します。

必須項目ですが、パラメータ値記載無しも許容されます。

MAIL_CC=dev-team@example.com

MAIL_BCC

BCCのメールアドレスを指定します。

必須項目ですが、パラメータ値記載無しも許容されます。

MAIL_BCC=

テンプレート

MAIL_TEMPLATE

アクション設定-メールテンプレートのテンプレート名を指定します。

必須項目ですが、パラメータ値記載無しも許容されます。

MAIL_TO=maintener@example.com

注釈

MAIL_TOにメールアドレスの指定、または、MAIL_TEMPLATEで指定したテンプレートに宛先のメールアドレスの指定、のどちらかが必要です。

ユースケース

Case 1
特定のユーザに対して通知メールを送信する。
MAIL_NAME=management-mail,MAIL_TO=maintener@example.com,MAIL_CC=dev-team@example.com,MAIL_BCC=
Case 2
特定のユーザに対してテンプレートを利用した通知メールを送信する。
MAIL_NAME=management-mail,MAIL_TO=,MAIL_CC=dev-team@example.com,MAIL_BCC=,MAIL_TEMPLATE=service-down

ServiceNow 連携

ServiceNow と連携する際に利用するアクションパラメータについて記載します。

ServiceNowアクションパラメータ

パラメータ分類

パラメータ変数

パラメータ値

入力例

ドライバ名

SERVICENOW_NAME

ServiceNowドライバ名。

必須項目です。

SERVICENOW_NAME=department01

ワークフロー

WORKFLOW_ID

実行したいワークフローが紐づく ワークフロースケジュールの sys_id を指定します。

ワークフロー連携時のみ記載します。

警告

ワークフローの sys_id でないことに注意して下さい。

WORLFLOW_ID=abcdef1234567890

インシデント

INCIDENT_STATUS

インシデントの起票、もしくは、更新するステータスを指定します。 インシデント管理時のみ記載します。

NEW: 新規インシデント起票時に指定します。 インシデント管理する場合は、必ず最初にマッチさせる必要があります。

IN_PROGRESS: ステータスを対処中にする場合に指定します。 通常、ルールの記述の際にはアクション実行直前のルールで指定します。

RESOLVED: ステータスを解決済みにする場合に指定します。 通常、ルールの記述の際にはアクション実行直後のルールで指定します。

CLOSED: ステータスをクローズにする場合に指定します。 通常、ルールの記述の際にはクローズ承認後のルールで指定します。

INCIDENT_STATUS=NEW

INCIDENT_STATUS=IN_PROGRESS

INCIDENT_STATUS=RESOLVED

INCIDENT_STATUS=CLOSED

WORK_NOTES_APPROVAL

アクション実行の許可文字列を指定します。

ServiceNow の対応するインシデントの作業メモに許可文字列が記入された場合のみ処理を続行します。 許可文字列が記入されない場合、このアクションは処理中のまま何もしません。

WORK_NOTES_APPROVAL=APPROVED_ACTION

WORK_NOTES_APPROVAL=APPROVED_CLOSE

WORK_NOTES_REJECTED

アクション実行の却下文字列を指定します。

ServiceNow の対応するインシデントの作業メモに却下文字列が記入された場合のみ処理を中止します。 却下文字列が記入されない場合、このアクションは処理中のまま何もしません。

WORK_NOTES_REJECTED=REJECTED_ACTION

WORK_NOTES_REJECTED=REJECTED_CLOSE

ユースケース

Case 1
ワークフロースケジュールを利用して、ワークフローを実行する。
SERVICENOW_NAME=department01,WORKFLOW_ID=abcdef1234567890
Case 2
インシデントの起票とステータスの更新をする。
SERVICENOW_NAME=department01,INCIDENT_STATUS=NEW
SERVICENOW_NAME=department01,INCIDENT_STATUS=CLOSED
Case 3
インシデントを利用して承認待ちをする。
SERVICENOW_NAME=department01,INCIDENT_STATUS=IN_PROGRESS,WORK_NOTES_APPROVAL=APPROVED_ACTION,WORK_NOTES_REJECTED=REJECTED_ACTION

インシデント管理のベストプラクティス

Exastro OASE を使って、ServiceNow のインシデントと連携する場合は、下記のようにディシジョンテーブルファイルのルールを定義します。
表 9.28 インシデントと対処を管理するための疑似的なルール

ルール名

条件

発生事象

対処概要

アクションパラメータ※ドライバ名省略

インシデント起票

アラート名が ".* is down" である場合

サービスダウン発生

インシデントを起票します。[APPROVAL_REQUEST]

INCIDENT_STATUS=NEW

処理中

アラート名が "httpd is down" である場合

Apache サービスダウン発生

サービス再開処理開始をします。

INCIDENT_STATUS=IN_PROGRESS

ITA実行

アラート名が "httpd is down" である場合

Apache サービスダウン発生

サービス再開処理を実施します。

CONDUCTOR_CLASS_ID=3,OPERATION_ID=4

処理完了

アラート名が "httpd is down" である場合

Apache サービスダウン発生

サービス再開処理が完了しました。

INCIDENT_STATUS=RESOLVED

インシデントクローズ(承認あり)

アラート名が "httpd is down" である場合

Apache サービスダウン発生

インシデントをクローズします。対処内容を確認の上、問題なければクローズ承認をお願いします。

INCIDENT_STATUS=CLOSED,WORK_NOTES_APPROVAL=APPROVED_CLOSE,WORK_NOTES_REJECTED=REJECTED_CLOSE

ディシジョンテーブルファイルに記載した ルール名発生事象対処概要 は、ServiceNow のインシデントの説明欄に追記されます。
2022-01-11 10:45:35
ルール名 : インシデントクローズ(承認あり)
発生事象 : Apache サービスダウン発生
対処概要 : インシデントをクローズします。対処内容を確認の上、問題なければクローズ承認をお願いします。
==================================================
2022-01-11 10:45:32
ルール名 : 処理完了
発生事象 : Apache サービスダウン発生
対処概要 : サービス再開処理が完了しました。
==================================================
2022-01-11 10:43:34
ルール名 : 処理中(承認あり)
発生事象 : サービス再開処理を開始します。
対処概要 : OASEにより通常ページに切り替えを行います。この対処に問題なければ承認をお願いします。
==================================================
2022-01-11 10:43:32
ルール名 : インシデント起票
発生事象 : サービスダウン発生
対処概要 : インシデントを起票します。[APPROVAL_REQUEST]
承認連携については、ServiceNow側での Flow Designer の設定が必要になります。
具体的には、 図 9.13 のように、インシデントテーブルの更新とインシデント内容説明文に記載されたトリガーとなる文字列(APPROVAL_REQUEST)を Flow 開始のトリガーとします。
ユーザに承認依頼をし、承認された場合は作業メモに承認文字列を、却下された場合は作業メモに却下文字列を記入します。
この作業メモの内容を Exastro OASE が読み取り、処理の継続か中止を決定します。
../../../_images/approval_sequence.svg

図 9.46 表 9.4 にマッチするメッセージを取得した場合の処理の流れ