ページの先頭行へ戻る
Systemwalker Runbook Automation 運用ガイド
Systemwalker

3.2.2 人の作業を含んだ自動運用プロセスの開発

以下の運用作業の手順を自動運用プロセスとして作成する例を示します。

自動運用プロセスの処理内容

申請者は、停止するサーバのホスト名またはIPアドレスと、申請理由を申請フォームから入力します。次に、承認者が、申請内容を確認し、問題がないと判断した場合は申請を可決します。申請内容に問題がある場合は、申請を否決します。可決された場合は、サーバ停止が実行され、確認フォームで実行結果を確認し、正常終了または異常終了の処理を選択します。このように、人の判断を介して、自動運用プロセスを遷移させます。

自動運用プロセスの構成イメージ

自動運用プロセスの作成手順

自動運用プロセスの作成手順を以下に示します。

3.2.2.1 アクティビティ(承認)を配置する

申請内容を確認し、可決または否決を行うためのアクティビティを追加します。

  1. [パレット]の[基本]タブから[Activity]を選択します。プロセス定義エディタ上で、アクティビティを配置する場所にカーソルを移動し、クリックしてアクティビティを追加します。

    Activityノードが追加されます。

  2. プロセス定義エディタで、アクティビティをクリックし、[プロパティ]-[一般]タブを選択します。[名前]フィールドの値を"承認"に変更します。また、[担当者]-[ロール]フィールドにアクティビティを操作(申請を可決または否決)するユーザーが所属するグループを入力します。ここでは、"GroupA"を設定しています。

    ポイント

    ここで配置したアクティビティに処理が遷移すると、[担当者]-[ロール]に設定されているグループ(ここでは、"GroupA")に所属しているユーザーに対してタスクが割り当てられます。

    タスクが割り当てられた際にタスクが割り当てられたことをメールで通知するように設定(Webコンソール上で設定)することが可能です。設定方法については、“8.5 メール通知の設定を行う”を参照してください。

3.2.2.2 運用操作部品ノード(サーバを停止)を配置する

サーバを停止するための運用操作部品を追加します。

  1. [パレット]の[サーバの操作]タブから[サーバを停止]を選択します。プロセス定義エディタ上で、運用操作部品ノードを配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。

    運用操作部品ノード(サーバを停止)が追加されます。

3.2.2.3 運用操作部品ノード(メールを送信)を配置する

申請内容に不備があった場合に申請を否決したことをメール通知するための運用操作部品を追加します。

  1. [パレット]の[メールの操作]タブから[メールを送信]を選択します。プロセス定義エディタ上で、運用操作部品ノードを配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。

    運用操作部品ノード(メールを送信)が追加されます。

3.2.2.4 アクティビティ(確認)を配置する

運用操作部品の実行結果を確認するためのアクティビティを追加します。

  1. [パレット]の[基本]タブから[Activity]を選択します。プロセス定義エディタ上で、アクティビティを配置する場所にカーソルを移動し、クリックしてアクティビティを追加します。

    Activityノードが追加されます。

  2. プロセス定義エディタで、アクティビティをクリックし、[プロパティ]-[一般]タブを選択します。[名前]フィールドの値を"確認"に変更します。また、[担当者]-[ロール]フィールドにアクティビティを操作(実行結果を確認)するユーザーが所属するグループを入力します。ここでは、"GroupB"を設定しています。

3.2.2.5 終了ノード(Exit)を配置する

自動運用プロセスの終点を示す、終了ノード(Exit)を追加します。

終了ノード(Exit)が追加されます。

ここでは、申請を否決した場合のExitノードと、運用操作部品ノードの実行結果が正常または異常の場合の2つのExitノードを追加します。ノードの名前は次のように変更します。

Exit1

否決

Exit2

正常終了

Exit3

異常終了

3.2.2.6 矢印でルートを設定する

各ノードを矢印で結びます。

矢印の名前は次のように変更します。

ノード名

変更前の矢印名

変更後の矢印名

Start

Arrow1

Start

承認

Arrow2

2. 否決

Arrow3

1. 可決

メールを送信1

成功

送信正常

失敗

送信異常

サーバを停止1

成功

結果確認(正常)

失敗

結果確認(異常)

確認

Arrow7

正常終了

確認

Arrow8

異常終了

Webコンソール上での表示

ポイント

ボタンの表示順について

矢印の名前はWebコンソール上で次のアクティビティに状態を遷移させるためのボタンの名前として使用されます。アクティビティから複数の矢印を引き、矢印にアルファベットで名前をつけた場合、ボタンの並び順はアルファベット順で表示されます。

例えば、以下のプロセス定義のようにアクティビティから[OK]と[NG]という名前の2つの矢印を引いた場合、Webコンソール上では次のような順序でボタンが表示されます。

[プロセス定義]

[Webコンソール上の表示]


Webコンソール上でボタンの並びを変更したい場合、プロセス定義で以下のように矢印の名前の先頭に数字を付けることで意図した順序でボタンを表示できます。

[プロセス定義]

[Webコンソール上の表示]


矢印の名前を日本語で付ける場合も同様に、名前の先頭に数字を付けることで意図した順序でボタンを表示できます。

[プロセス定義]

[Webコンソール上の表示]

3.2.2.7 ユーザ定義属性を追加する

この自動運用プロセスでは、「サーバを停止」運用操作部品の入力情報として指定するホスト名と、申請理由をフォームから入力します。ここでは、フォームから入力されたホスト名、および申請理由を格納する変数(UDA)を作成します。

  1. [プロパティ]-[ユーザ定義属性]タブを選択します。[追加]をクリックし、ユーザ定義属性(UDA)を追加します。

  2. 追加されたユーザ定義属性(UDA)の名前を変更します。

    再度、[追加]をクリックし、以下のようなユーザ定義属性(UDA)を作成します。

    名前

    タイプ

    初期値

    hostname

    STRING

    reason

    STRING

3.2.2.8 入出力情報を設定する

配置した運用操作部品ノードに対する入出力情報を設定します。

3.2.2.8.1 運用操作部品ノード(サーバを停止)
  1. プロセス定義エディタ上で運用操作部品ノード(サーバを停止)をクリックします。[プロパティ]-[入出力情報]-[入力情報]タブの順にクリックします。

    「サーバを停止」部品では、ホスト名を指定します。

    hostname: 停止するサーバのホスト名

  2. [入力情報]セクションのリストから、hostname を選択します。

    [プロパティ]ビューの右半分に、[設定内容]および[説明]フィールドが表示されます。

  3. [種別]コンボボックスから、"変数 (uda)" を選択し、[変数]リストからホスト名を受け取る変数(UDA)を選択します。ここでは、ホスト名を受け取る変数(UDA)として、"hostname" を選択します。

    運用操作部品ノードの入力情報に指定可能なUDAの種類は、入力情報のデータタイプにより異なります。

    詳細は、“3.2.1.7 入出力情報を設定する”を参照してください。

    種別: uda

    値: hostname

  4. 以下のような情報が入力できていることを確認します。

3.2.2.8.2 運用操作部品ノード(メールを送信)

配置した運用操作部品ノードに対する入出力情報を設定します。

  1. プロセス定義エディタ上で運用操作部品ノード(メールを送信)をクリックします。[プロパティ]-[入出力情報]-[入力情報]タブの順にクリックします。「メールを送信」部品では、以下の入力情報を指定します。

    hostname: 送信メール(SMTP)サーバのホスト名またはIPアドレス

    fromaddress: メールの送信元アドレス

    toaddress: メールの宛先アドレス

    subject: メールのタイトル

    text: メールの本文

注意

プロセスインスタンスの上限サイズは4MBです。このサイズは、プロセスインスタンスの履歴情報や、配置されたノードの数、UDAの数や格納された値などの合計です。プロセスインスタンスの実行中に、UDAに大量データが格納されるなどによりサイズが4MBを超えた場合は、以下のエラーメッセージがカスタムメッセージに出力されプロセスインスタンスは異常終了します。

FSP_SW/RB-A_BASE: ERROR: 03012: Cannot set data because data is exceeds the limit.

プロセスインスタンスが異常終了し、上記のエラーメッセージが出力された場合は、以下の対処を実施してください。

  • 運用操作部品がUDAに出力する値のサイズを削減する。

  • サブプロセス等を使用して、1プロセスインスタンスで行う処理を分散化する。

3.2.2.9 フォーム(画面)を作成する

3.2.2.9.1 申請フォームを作成する

「サーバを停止」運用操作部品の入力情報として与えるホスト名、および申請理由を入力するためのフォームを作成します。

Webコンソール上での表示

ここで作成する入力フォームは、Webコンソール上では以下のように表示されます。

QuickForm の詳細は、“Systemwalker Runbook Automation Studio利用ガイド”の“フォームの使用”、および“Systemwalker Runbook Automation リファレンスガイド”の“QuickForm UI部品リファレンス”を参照してください。

操作

  1. Start ノードを選択して右クリックし、ポップアップメニューから [QuickForm]-[新規作成]を選択します。

  2. [新規QuickForm]ダイアログで、[名前]フィールドにフォームの名前を入力します。

    プロジェクト: /prac001/web(必須)

    名前: application(必須)

  3. [完了]をクリックします。

  4. QuickForm デザインエディタが表示されます。

    ポイント

    QuickFormデザインエディタの右側に表示されているパレット内の利用頻度の低いアイテムを非表示にすることができます。

    1. [パレット]の中で右クリックし、ポップアップメニューから[カスタマイズ]を選択します。
      →[パレットのカスタマイズ]ダイアログが表示されます。

    2. 左側のツリーから非表示にしたいアイテムを選択します。

    3. 右側の[非表示]ボタンをチェックします。

    4. [OK]ボタンをクリックします

  5. [パレット]の[Advanced]フォルダにある、Textアイテムを選択します。デザインエディタ上で、アイテムを配置したい場所をクリックし、Textアイテムを追加します。

  6. [プロパティ]-[属性]タブを選択し、[固有プロパティ] > [rcf:value]の値に入力フォーム上で表示するラベルの名前を入力します。
    ここでは、「サーバを停止」運用操作部品へ渡すホスト名を入力するフィールドのラベルとして、"ホスト名:"を入力します。

    rcf:value: ホスト名:

  7. 申請理由を入力するフィールドのラベルを追加します。

    rcf:value: 申請理由:

  8. [パレット]の[Advanced]フォルダにある、TextInputアイテムを選択します。デザインエディタ上で、アイテムを配置したい場所をクリックし、TextInputアイテムを追加します。

  9. [プロパティ]-[属性]タブを選択し、[共通プロパティ] > [rcf:id]の値に入力フィールド(TextInput)と関連付けるユーザ定義属性のIDを入力します。

    rcf:id: uda_hostname(先頭の "uda_" は必須)

    なお、ユーザ定義属性(UDA)のIDは、以下の手順で参照できます。

    ユーザ定義属性(UDA)のIDを参照する場合
    1. プロセス定義エディタを表示します。

    2. [プロパティ]-[ユーザ定義属性]タブを選択します。

    3. [IDを表示する]チェックボックスにチェックをつけます。

    4. [名前]列の右側に[ID]列が表示され、ユーザ定義属性のIDを確認できます。

  10. 同様に申請理由を入力するフィールドを追加します。

    rcf:id: uda_reason(先頭の "uda_" は必須)

3.2.2.9.2 承認フォームを作成する

申請フォームと同様に、アクティビティに対して承認フォームを作成します。承認フォームは申請フォームを元に作成します。

Webコンソール上での表示

ここで作成する承認フォームは、Webコンソール上では以下のように表示されます。

操作

  1. [ナビゲーター]ビューで、application.jsp を選択して右クリックし、ポップアップメニューから[コピー]を選択します。

  1. [ナビゲーター]ビューで、webフォルダを選択して右クリックし、ポップアップメニューから[貼り付け]を選択します。

    →[名前の競合]ダイアログが表示されます。

  2. [名前の競合]ダイアログの入力フィールドの値を approval.jsp に変更し、[OK]ボタンをクリックします。

    →[ナビゲーター]ビューの webフォルダ配下に、approval.jsp が作成されます。

  3. [ナビゲーター]ビューで、approval.jsp を選択して右クリックし、ポップアップメニューから[開く]を選択します。

    →QuickFormデザインエディタが表示されます。

  4. "ホスト名"の入力フィールド(TextInput)を選択します。

  5. [プロパティ]-[属性]タブを選択し、[固有プロパティ] > [rcf:readOnly]の値にtrueを指定します。また、[固有プロパティ] > [rcf:enabled]の値にfalseを指定します。

    ポイント

    承認フォームでは、申請フォームで入力されたホスト名の編集が行えないようにするため、[固有プロパティ] > [rcf:readOnly]の値に true を指定することで読み取り専用フィールドに設定しています。

    また、[固有プロパティ] > [rcf:enabled]の値に false を指定することで、フォーカスが遷移しないように設定しています。

  6. "申請理由"の入力フィールド(TextInput)を選択し、"ホスト名"の入力フィールドと同様に、[固有プロパティ] > [rcf:readOnly]の値にtrueを指定します。[固有プロパティ] > [rcf:enabled]の値にfalseを指定します。

  7. [ファイル]-[保存]を選択し、承認フォームを保存します。

  8. プロセス定義エディタ上で、Activityを選択して右クリックし、[QuickForm]-[ノードへの追加]を選択します。

  9. [QuickFormの追加]ダイアログのツリーから、approval.jspを選択し、[OK]ボタンをクリックします。

    →Activityに確認フォーム(approval.jsp)が設定されます。

3.2.2.9.3 確認フォームを作成する

申請/承認フォームと同様に、アクティビティに対して確認フォームを作成します。確認フォームは承認フォームを元に作成します。

Webコンソール上での表示

ここで作成する確認フォームは、Webコンソール上では以下のように表示されます。

操作

  1. [ナビゲーター]ビューで、approval.jsp を選択して右クリックし、ポップアップメニューから[コピー]を選択します。

  2. [ナビゲーター]ビューで、webフォルダを選択して右クリックし、ポップアップメニューから[貼り付け]を選択します。

    →[名前の競合]ダイアログが表示されます。

  3. [名前の競合]ダイアログの入力フィールドの値を check.jsp に変更し、[OK]ボタンをクリックします。

    →[ナビゲーター]ビューの webフォルダ配下に、check.jsp が作成されます。

  4. [ナビゲーター]ビューで、check.jsp を選択して右クリックし、ポップアップメニューから[開く]を選択します。

    →QuickFormデザインエディタが表示されます。

  5. [パレット]の[Advanced]フォルダにある、Textアイテムを選択します。デザインエディタ上で、アイテムを配置したい場所をクリックし、Textアイテムを追加します。

  6. [プロパティ]-[属性]タブを選択し、[固有プロパティ] > [rcf:value]の値に確認フォーム上で表示するラベルの名前を入力します。ここでは、「サーバを停止」運用操作部品の実行結果を表示するフィールドのラベルとして、"終了コード"を入力します。

    rcf:value: 終了コード:

  7. [パレット]の[Advanced]フォルダにある、TextInputアイテムを選択します。デザインエディタ上で、アイテムを配置したい場所をクリックし、TextInputアイテムを追加します。

  8. [プロパティ]-[属性]タブを選択し、[共通プロパティ] > [rcf:id]の値に入力フィールド(TextInput)と関連付けるユーザ定義属性のIDを入力します。

    rcf:id: uda_SWRBA_RCODE(先頭の "uda_" は必須)

  9. [パレット]の[Advanced]フォルダにある、Textアイテムを選択します。デザインエディタ上で、アイテムを配置したい場所をクリックし、Textアイテムを追加します。

  10. [プロパティ]-[属性]タブを選択し、[固有プロパティ] > [rcf:value]の値に確認フォーム上で表示するラベルの名前を入力します。ここでは、「サーバを停止」運用操作部品の標準出力を表示するフィールドのラベルとして、"標準出力"を入力します。

    rcf:value: 標準出力:

  11. [パレット]の[Advanced]フォルダにある、TextAreaアイテムを選択します。デザインエディタ上で、アイテムを配置したい場所をクリックし、TextAreaアイテムを追加します。

  12. [プロパティ]-[属性]タブを選択し、[共通プロパティ] > [rcf:id]の値に入力フィールド(TextArea)と関連付けるユーザ定義属性のIDを入力します。

    rcf:id: uda_SWRBA_STDOUT(先頭の "uda_" は必須)

    参考

    TextAreaアイテムでは、[固有プロパティ]の[rcf:rows]、[rcf:cols]に値を設定することにより、TextAreaアイテムの表示行数と桁数を指定することができます。

    以下の例では、5行×40桁に設定しています。

  13. [パレット]の[Advanced]フォルダにある、Textアイテムを選択してデザインエディタ上に配置します。[プロパティ]-[属性]タブを選択し、[固有プロパティ] > [rcf:value]の値に確認フォーム上で表示するラベルの名前を入力します。

    rcf:value: 標準エラー出力

  14. [パレット]の[Advanced]フォルダにある、TextAreaアイテムを選択してデザインエディタ上に配置します。[プロパティ]-[属性]タブを選択し、[共通プロパティ] > [rcf:id]の値に入力フィールド(TextArea)と関連付けるユーザ定義属性のIDを入力します。

    rcf:id: uda_SWRBA_STDERR(先頭の "uda_" は必須)

  15. [ファイル]-[保存]を選択し、確認フォームを保存します。

  16. プロセス定義エディタ上で、Activityを選択して右クリックし、[QuickForm]-[ノードへの追加]を選択します。

  17. [QuickFormをノードへ追加]ダイアログのツリーから、check.jspを選択し、[OK]ボタンをクリックします。

    →Activityに確認フォーム(check.jsp)が設定されます。

これで、人の作業を含んだ自動運用プロセスの作成は完了です。