運用操作部品への入力情報として、運用操作部品の実行時に複数の可変パラメーターを渡すことができます。(可変パラメーターとは、UDA に格納されている値、または他の運用操作部品の実行結果のことを指します)
可変パラメーターを利用することにより、例えば、「任意のコマンドを実行」運用操作部品ノードの入力情報(commandline)に対して、複数の変数(UDA)に格納されている値や他の運用操作部品の実行結果を渡すことが可能になります。
可変パラメーターはすべての運用操作部品ノードで、入力情報の種別が“fixed”かつ、データタイプがPASSWORD以外である場合に使用することができます。
可変パラメーターについて
書式 | 説明 |
@{uda:名前} | <名前>で指定したユーザ定義属性(UDA)に格納されている値を運用操作部品ノードに入力情報として与えます。 |
@{:ノード名:実行結果} | <ノード名>で指定した運用操作部品の<実行結果>で指定した実行結果の値を運用操作部品ノードに入力情報として与えます。 <ノード名> は、[一般]タブ > [名前]フィールドに入力されている名前を示します。 <実行結果> は、[入出力情報] > [出力情報]タブ > [設定内容] > [実行結果]コンボボックスで選択できる名前を示します。 |
可変パラメーターは以下のルールに基づき解釈されます。
@{uda:<名前>}、または@{:<ノード名>:<実行結果>}と記述された箇所が可変パラメーターの値に置換されます。
連続する @@ は、1つの @ に置換されます。
上記ルールが前方から適用されます。
可変パラメーターの入力補完について
[値]フィールドでCtrl + Spaceキーを押下することにより、簡単に可変パラメーターを記述することができます。Ctrl + Spaceキーを押下するとUDAのリストが表示されます。リストからUDAを選択すると、“@{uda:UDA名}”という表記に変換されて[値]フィールドに挿入されます。
注意
Studio上では[値]フィールドに可変パラメーター書式が存在する場合、可変パラメーター書式を空文字列(0バイトの文字列)に置き換えた後、最大文字数以内かどうかの検証を行います。なお、運用操作部品の実行時では、可変パラメーター書式を実際の値に置き換えた後、最大文字数以内かどうかを検証します。この場合、可変パラメーター書式を実際の値に置き換えた結果、最大文字数を超える値となる場合には運用操作部品の実行はエラーとなります。
「任意のコマンドを実行」運用操作部品ノードの入力情報(commandline)に複数の可変パラメーターを渡す場合の手順を以下に示します。
プロセス定義エディタで、「任意のコマンドを実行」運用操作部品ノードを選択します。
[入力情報]セクションのリストから、“commandline”を選択します。
→右側に入力情報(“commandline”)に対する設定画面([設定内容]セクション)が表示されます。
[設定内容]-[種別]コンボボックスから、“値 (fixed)”を選択します。
[設定内容]-[値]フィールドに、commandline として渡したい入力情報を記述します。このとき、“@{uda:<名前>}”の形式で記述することで、運用操作部品の実行時に <名前> で示される変数(UDA)に格納されている値に置き換えることができます。また、“@{:<ノード名>:<実行結果>}”の形式で記述することで、運用操作部品の実行時に <ノード名> で示される運用操作部品の <実行結果> の値に置き換えることができます。
値の設定例:
useradd -c @{uda:PARAM1} -d @{uda:PARAM2} -s @{uda:PARAM3} -u @{uda:PARAM4} @{uda:PARAM5}
運用操作部品ノード実行時のUDAの値が以下の場合
PARAM1 | "Taro Fujitsu" |
PARAM2 | /home/t-fujitsu |
PARAM3 | /bin/sh |
PARAM4 | 30000 |
PARAM5 | t-fujitsu |
commandline は以下のように置き換えられ、運用操作部品の入力情報として渡されます。
useradd -c "Taro Fujitsu" -d /home/t-fujitsu -s /bin/sh -u 30000 t-fujitsu |
参考
[変数の参照]ボタンをクリックし、[変数の参照]ダイアログから可変パラメーターを指定することができます。[変数の参照]ダイアログで変数を選択し、[OK]ボタンをクリックすると、[値]フィールドのカーソル位置に“@{uda:<名前>}”が挿入されます。
[実行結果の参照]ボタンをクリックし、[実行結果の参照]ダイアログから可変パラメーターを指定することができます。[実行結果の参照]ダイアログでノード名と実行結果を選択し、[OK]ボタンをクリックすると、[値]フィールドのカーソル位置に“@{:<ノード名>:<実行結果>}”が挿入されます。
注意
半角空白を含む値を可変パラメーターとして入力情報に渡す場合、半角空白がコマンドのパラメーター区切り文字として認識されないためには、上記のPARAM1のように格納されている値がダブルクォーテーションで括られている必要があります。
運用操作部品の出力情報(実行結果/標準出力/標準エラー出力)をフィルタリングし、次の運用操作部品への入力として渡すことができます。
運用操作部品の出力情報(XML形式)からXPathで指定されたノードの値を抽出し、後続の運用操作部品の入力情報として渡すことができます。
運用操作部品の出力情報(XML形式)については、“Systemwalker Runbook Automationリファレンスガイド”の“運用操作部品リファレンス”-“構成要素を取得する”を参照してください。
プロセス定義エディタで、運用操作部品ノードを選択します。
ここで選択する運用操作部品ノードは、標準出力としてXML形式の情報を出力するものとします。
[プロパティ]-[入出力情報]-[出力情報]タブを選択します。
[追加]ボタンをクリックします。
→[出力情報]のリストに新しい出力情報が追加されます。
[出力情報]のリストから新しく追加した出力情報を選択します。
→右側に設定画面が表示されます。
[設定内容]-[実行結果]コンボボックスから、“ci_get_result” を選択します。
[設定内容]-[変数]リストから、フィルタリングした結果を格納する変数(UDA)を選択します。
[設定内容]-[フィルター定義]の[追加]ボタンをクリックします。
→[フィルター設定]ダイアログが表示されます。
[フィルター一覧]リストから“XML属性の抽出”フィルターを選択し、[追加 >>]ボタンをクリックします。
→[適用するフィルター]リストにフィルターが追加され、[フィルター定義]領域にフィルターの設定内容が表示されます。
[XPath]フィールドにXPath式を入力します。
ここでは、次のXPath式を入力します。
/entities/item/record/LogicalServer
[属性名]フィールドに抽出する属性の名前を入力します。
ここでは、次の名前を入力します。
hostname
[テスト]タブを選択し、[入力]フィールドにテストデータを入力します。
ここでは、以下のデータをテストデータとして入力します。
<?xml version="1.0" encoding="UTF-8"?> |
[テスト実行]ボタンをクリックします。
→フィルターのテスト結果が[結果]フィールドに表示されます。この例では、次の結果が得られます。
server-A |
[OK]ボタンをクリックし、フィルターの設定を完了します。
運用操作部品の出力情報から指定したキーワードを含んだ行を抽出することができます。
ここでは、「任意のコマンドを実行」部品を使って実行するコマンドが標準出力へ出力した結果からキーワードを含んだ特定の行を抽出する例を示します。
プロセス定義エディタで、運用操作部品ノードを選択します。
[プロパティ]-[入出力情報]-[出力情報]タブを選択します。
[追加]ボタンをクリックします。
→[出力情報]のリストに新しい出力情報が追加されます。
[出力情報]のリストから新しく追加した出力情報を選択します。
→右側に設定画面が表示されます。
[設定内容]-[実行結果]コンボボックスから、“command_stdout” を選択します。
[設定内容]-[変数]リストから、加工した結果を格納する変数(UDA)の名前を選択します。
[設定内容]-[フィルター定義]の[追加]ボタンをクリックします。
→[フィルター設定]ダイアログが表示されます。
[フィルター一覧]リストから“行の抽出”フィルターを選択し、[追加 >>]ボタンをクリックします。
→[適用するフィルター]リストにフィルターが追加され、[フィルター定義]領域にフィルターの設定内容が表示されます。
[行の抽出方法]コンボボックスから、“対象文字列を含むすべての行”を選択します。
[対象文字列]フィールドに、“IP Address”を入力します。
[テスト]タブを選択し、[入力]フィールドにテストデータを入力します。
この例では、以下のデータをテストデータとして指定します。
Ethernet adapter1: IP Address. . . . . . . . . . . . : 192.168.238.1 Subnet Mask . . . . . . . . . . . : 192.0.2.0 Default Gateway . . . . . . . . . : Ethernet adapter2: IP Address. . . . . . . . . . . . : 192.168.187.102 Subnet Mask . . . . . . . . . . . : 192.0.2.0 Default Gateway . . . . . . . . . : 192.168.187.1
[テスト実行]ボタンをクリックします。
→フィルターのテスト結果が[結果]フィールドに表示されます。この例では、次の結果が得られます。
IP Address. . . . . . . . . . . . : 192.168.238.1[改行] IP Address. . . . . . . . . . . . : 192.168.187.102[改行]
[OK]ボタンをクリックし、フィルターの設定を完了します。
複数の自動運用プロセスを連結して次のように1つの自動運用プロセスを作成することができます。
人手を介在する自動運用プロセスと人手を介在しない自動運用プロセスをメイン自動運用プロセスで連結し、1つの自動運用プロセスとする手順を以下に示します。
ここでは、連結する自動運用プロセス(サブ自動運用プロセスと呼びます)がすでにアプリケーションプロジェクトに作成されていることを前提に説明します。
注意
異なるアプリケーションプロジェクト間での自動運用プロセスの連結はできません。
(1) メイン自動運用プロセスの作成
[ファイル]メニューより[新規]-[プロセス定義]の順に選択します。
[新規プロセス定義]画面で、[参照]をクリックします。作成したプロジェクトを選択し、[OK]をクリックします。
[名前]に自動運用プロセスの名前を、[説明]に自動運用プロセスの説明を入力します。この例ではメイン自動運用プロセスの名前として“MainWorkflow”と入力しています。
[完了]をクリックします。
→作成した自動運用プロセスが[ナビゲーター]ビューに表示されます。プロセス定義エディタが開き、Startノードが自動的に追加されます。
(2) Subprocessノードの配置
[パレット]の[基本]タブにある[Subprocess]をクリックします。
プロセス定義エディタで、Subprocessノードを配置する領域をポイントし、クリックしてSubprocessノードを追加します。必要に応じて、名前の変更と説明の追加をしてください。
アクティビティの遷移ルートを設定します。ルートの設定には、アクティビティ同士を矢印でつなぎます。
Subprocessノードをマウスで選択します。
[プロパティ]-[データマッピング]タブを選択、[サブプロセス定義]フィールドの[参照]ボタンをクリックします。
→[サブプロセス定義の選択]ダイアログが開きます。
[リストの取得]ボタンをクリックします。
→[プロセス定義名]一覧に選択可能なプロセス定義の一覧が表示されます。
一覧からサブプロセスとして実行するプロセス定義を選択し、[OK]ボタンをクリックします。この例ではサブプロセス定義として“SubWorkflow_A”を選択しています。
[サブプロセス定義]フィールドに選択したサブプロセス定義の名前が表示されます。
同様にサブ自動運用プロセスBについてもSubprocessノードを配置し、設定を行います。
(3) Exitノードの追加
自動運用プロセスの最後にExitノードを追加します。
[パレット]の[基本]タブから[Exit]をクリックし、プロセス定義エディタ上にExitノードを追加します。
これで、複数の自動運用プロセスを連結した自動運用プロセスの作成は完了です。
外部で発生したイベントにより自動的に起動される自動運用プロセスの作成手順を以下に示します。
ここでは、外部で発生したイベントを契機に送信されたXMLデータのRBAEvent/msgID要素の値が“msg0001”の場合に自動運用プロセスが起動するようにします。
なお、XMLデータはイベント通知コマンドが監視ソフトウェアから実行されることを契機に送信されます。
送信されるXMLデータのフォーマットについては、以下のXMLスキーマを参照してください。
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema targetNamespace=http://www.fujitsu.com/2007/systemwalker/itpm xmlns:itpm=http://www.fujitsu.com/2007/systemwalker/itpm attributeFormDefault="unqualified" elementFormDefault="qualified"> <xsd:element name="RBAEvent"> <xsd:sequence> <xsd:element name="msgID" type="xsd:string" /> <xsd:element name="HostName" type="xsd:string" /> <xsd:element name="MessageKey" type="xsd:string" /> <xsd:element name="ApplicationName" type="xsd:string" /> <xsd:element name="Comment" type="xsd:string" /> </xsd:sequence> </xsd:element> </xsd:schema> |
プロセス定義エディタの[プロパティ]-[トリガ]タブを選択します。
[追加]ボタンをクリックします。
[トリガの詳細]セクションの[一般]タブを選択し、[有効化する]チェックボックスにチェックをつけます。
[トリガの詳細]セクションの[イベント]タブを選択し、以下の設定を行います。
タイプ: XMLスキーマ
XMLスキーマURL: http://[管理サーバのIPアドレスまたはホスト名]:[管理サーバ(Webサーバ)のポート番号]/notifyevent/notifyevent.xsd
[取得]ボタンをクリックします。
自動運用プロセスの起動条件となる[イベントフィルタ]を設定するため、[A+B]ボタンをクリックします。[式の作成]ダイアログが表示されます。
[関数]コンボボックスから、“eventData.getXMLData”を選択し、[追加]ボタンをクリックします。[関数の作成]ダイアログが表示されます。
[XPATH]フィールドに以下のXPathを入力し、[OK]ボタンをクリックします。
XPATH: "RBAEvent/msgID/text()"
[オペレータ]から条件を評価する不等号をクリックします。(ここでは、“==”を指定しています)
[リテラル]フィールドに条件を入力し、[追加]ボタンをクリックします。(ここでは、“msg0001”を指定しています)
条件に、以下の文字を使用する場合は、“\”を使用しエスケープシーケンスを行ってください。
\、"、'
[検証]ボタンをクリックし、式の内容を検証します。
[了解]ボタンをクリックします。
[式の作成]ダイアログで、[OK]ボタンをクリックします。
[イベントフィルタ]フィールドに作成したイベントフィルタの内容が表示されます。
ポイント
イベントフィルタには、自動運用プロセス定義の起動条件を指定します。
起動条件は、イベント通知コマンドにより送られる以下の項目が使用できます。
メッセージID
ホスト名
コメント
これらの項目の値の評価結果を起動条件とすることができます。
以下のようなイベントを検知した場合に、監視ソフトウェアとイベント通知コマンドを連携させることで、自動運用プロセス内のActivityノードを自動的に遷移させることができます。
業務サーバで発生した異常
性能監視項目のしきい値越え
また、イベント通知コマンドに含まれるイベントの可変情報から、ノードの遷移先を動的に変更することも可能です。
以下に、イベント通知コマンドと監視ソフトウェアの関係の概要を示します。
なお、イベントにより自動的に遷移させることができるのは、Activityノードだけです。
また、イベントを監視するための監視ソフトウェアが別途必要になります。
ここでは、イベント通知コマンドでノードを遷移させる手順と、イベントによりノードの遷移先が変わる自動運用プロセスの作成手順について説明します。
イベント通知コマンドを利用してノードを遷移させる手順について説明します。
なお、イベントが発生した場合に、監視ソフトウェアから管理サーバ上のイベント通知コマンドを実行するように、事前に監視ソフトウェアの設定を行っておいてください。
(1)イベントフィルタの作成
プロセス定義エディタでプロセス定義を作成し、自動遷移させる対象のActivityノードを選択します。
[プロパティ]-[トリガ]タブを選択します。
[追加]ボタンをクリックします。
[トリガの詳細]セクションの[一般]タブを選択し、[有効化する]チェックボックスにチェックをつけます。
[トリガの詳細]セクションの[イベント]タブを選択し、以下の設定を行います。
タイプ:XMLスキーマ
XMLスキーマURL: http://[管理サーバのIPアドレスまたはホスト名]:[管理サーバ(Webサーバ)のポート番号]/notifyevent/notifyevent.xsd
[取得]ボタンをクリックします。
Activityノードの遷移条件となる[イベントフィルタ]を設定するため、[A+B]ボタンをクリックします。
→[式の作成]ダイアログが表示されます。
[関数]コンボボックスから、“eventData.getXMLData”を選択し、[追加]ボタンをクリックします。
→[関数の作成]ダイアログが表示されます。
[XPATH]フィールドに以下のXPathを入力し、[OK]ボタンをクリックします。
XPATH: "RBAEvent/msgID/text()"
[オペレータ]から条件を評価する不等号をクリックします。(ここでは、“==”を指定しています。)
[リテラル]フィールドに条件を入力し、[追加]ボタンをクリックします。(ここでは、“msg0001”を指定しています。)
条件に、以下の文字を使用する場合は、“\”を使用しエスケープシーケンスを行ってください。
\、"、'
作成した式に追加して、[オペレータ]から条件を評価する演算子“||”をクリックします。
msg0001の式と同様の手順で、msg0002の条件式を追加します。
[検証]ボタンをクリックし、式の内容を検証します。
[了解]ボタンをクリックします。
[式の作成]ダイアログで、[OK]ボタンをクリックします。
→[イベントフィルタ]フィールドに作成したイベントフィルタの内容が表示されます。
ポイント
イベントフィルタには、自動運用プロセス定義の起動条件を指定します。
起動条件は、イベント通知コマンドにより渡される以下の項目が使用できます。
メッセージID
ホスト名
コメント
これらの項目の値の評価結果を起動条件とすることができます。
(2)ノードの遷移
Webコンソールの[システム管理]-[プロセスグループ設定]で表示される自動運用プロセスグループ一覧から、遷移対象のノードを持つ自動運用プロセスが含まれる自動運用プロセスグループを選択します。
自動運用プロセスグループの[詳細]タブにある[アクセスキー]をクリックし、アクセスキーを取得します。
アクセスキーは、イベントにより起動する自動運用プロセスを特定するための情報です。
ポイント
アクセスキーの有効期限は、管理サーバにプロセスグループを登録した日から1年間です。
有効期限が切れた場合、管理者権限を持つユーザーが、Webコンソールからアクセスキーを再度取得してください。
監視イベント発生時に、監視ソフトウェアから管理サーバ上のイベント通知コマンドを実行するように、メッセージID、ホスト名、およびアクセスキーを、イベント通知コマンドのパラメーターとして設定します。
例) 発生したイベントのメッセージIDが“msg0001”、イベントが発生したサーバのホスト名が“test”の場合
swrba_notifyevent -msgID msg0001 -host test -comment “database error” -key “**BEGIN_KEY--{{ezsGjLOinOSbrr7HJD65ksBT2o7X2vXhCp7f2iqAqhnboFDFj5le+Y6A1c/YBUaSo6M/IXYNdHA5 N4Pvd6NI69OYtwt9XrefsuB7y1GpjGqbzssIr0SNNjn6x5q5oCsDdrkjVKTxh4Dj/+16z2yX/w==}}--END_KEY**” |
イベント通知コマンドの詳細については“Systemwalker Runbook Automation リファレンスガイド”の“swrba_notifyevent(イベント通知コマンド)”を参照してください。
プロセスインスタンスを起動し、イベントフィルタを設定したノードまでプロセスインスタンスを進めます。
イベント通知コマンドの発行を契機に、ノードの遷移が行われます。
ノードが遷移した結果の確認方法は、“7.8 自動運用プロセスを確認する”を参照してください。
発生したイベントのメッセージIDが“msg0001”または“msg0002”の場合に、メッセージIDの値によって遷移先が変わるように設定する手順について説明します。
ノード遷移は、イベントの発生を契機として、イベント通知コマンドが実行されることで行われます。
イベント通知コマンドには以下の情報を引数で渡すことができ、これらの情報を自動運用プロセスで活用することが可能です。
引数名 | 意味 | XPath (注1) |
---|---|---|
msgID | 発生したイベントのメッセージID | "RBAEvent/msgID/text()" |
HostName | イベントが発生したホストの名前 | "RBAEvent/HostName/text()" |
Comment | コメント | "RBAEvent/Comment/text()" |
注1: XPathは、プロセス定義でイベント通知コマンドに指定された情報を参照する際の記述形式です。
イベントフィルタを設定したActivityノードで[トリガ]タブを選択し、[トリガの詳細]セクションの[矢印の選択]タブを選択します。
Activityノードに付加されている矢印の一覧が表示されます。
遷移先の選択条件となるJavaScript式(条件式)を設定するため、矢印の一覧から矢印を選択し、 [A+B]ボタンをクリックします。
→[式の作成]ダイアログが表示されます。
ここでは、発生したイベントのメッセージIDがmsg0001の場合に、Activityノードが矢印“msg0001”に遷移するように、条件式を作成します。
[式の作成]画面で、イベントフィルタの式の作成と同様の手順で、条件式を作成します。
なお、すでに条件式が設定されている場合には、条件式を削除してから、作成してください。
[式の作成]画面で[OK]ボタンをクリックします。
→[JavaScript式]フィールドに、作成した条件式の内容が表示されます。
同様の手順で、矢印“msg0002”の条件式も作成します。
この例では、監視イベントを契機に送信されたXMLデータのRBAEvent/msgID要素の値が“msg0002”の場合に、Activityノードが矢印“msg0002”に遷移するように、条件式を作成しています。
[トリガの詳細]セクションの、[trueとなる式が無い場合] フィールドでは、条件式に合う条件以外のイベントが発生する場合の動作を選択できます。選択可能な項目は以下です。
[矢印名]:指定した矢印にノードが遷移します
ほかのイベントを待機:いずれの矢印にもノードが遷移しません
イベント通知コマンドにより渡される項目を、UDAにマッピングすることができます。
UDAにマッピングすることで、運用操作部品の入力値としても使用できます。
イベントフィルタを設定したActicityで[トリガ]タブを選択し、[トリガの詳細]セクションの[データマッピング]タブを選択します。
[追加]ボタンをクリックし、以下の項目をドロップダウンリストから選択します。
ここでは、UDA名:HOST に ホスト名をマッピングしています。
イベントエレメント:イベントを契機に送信されたXMLデータのRBAEvent要素の各項目が選択できます。
HostName :ホスト名
msgID :メッセージID
comment :コメント
変数 :UDA名
運用自動プロセスの起動後、設定した時間だけ待ち合わせた後、コマンドを実行する自動運用プロセスの作成手順を以下に示します。
[パレット]の[基本]タブから[Delay]をクリックします。
プロセス定義エディタ上で、Delayノードを配置する場所にカーソルを移動し、クリックして Delayノードを追加します。
ノードを矢印で結びます。必要に応じて矢印の名前を設定します。
プロセス定義エディタ上で配置したDelayノードを選択し、[プロパティ]-[タイマー]タブの順に選択します。
[追加]ボタンをクリックします。
→[タイマーの詳細]画面が表示されます。
必要に応じてタイマーの名前を変更し、待ち合わせをする時間を設定します。
ここでは、5分間待ち合わせるように設定しています。詳細な設定方法については、“Systemwalker Runbook Automation Studio利用ガイド”の“タイマーの定義”を参照してください。
1つの自動運用プロセス内で、複数の運用操作部品を並列実行することができます。
ここでは、2つの運用操作部品を並列に実行する自動運用プロセスの作成手順を説明します。
注意
運用操作部品を並列実行するには、ORノードとANDノードを使用する必要があります。ORノードとANDノードを使用しない場合の並列実行は保証できません。
各運用操作部品で実施する作業内容によって動作時間が異なるため、並列実行の順序性は保証できません。
プロセス定義エディタ上に並列実行する運用操作部品ノードを配置し、[パレット]の[基本]タブにある[OR]をクリックします。
プロセス定義エディタ上で、ORノードを配置する場所にカーソルを移動し、クリックしてORノードを追加します。ORノードは、並列実行する運用操作部品ノードの手前に必ず配置してください。
ノードを矢印で結びます。必要に応じて矢印の名前を設定してください。ORノードからすべての運用操作部品ノードに対して矢印を結びます。
[パレット]の[運用プロセスの制御]タブにある[データを実行結果に格納]をクリックし、並列実行する運用操作部品ノードの後ろにカーソルを移動し、運用操作部品ノードを配置します。
[パレット]の[基本]タブにある[OR]をクリックし、並列実行する運用操作部品ノードの後ろにカーソルを移動し、ORノードを配置します。
[パレット]の[基本]タブにある[AND]をクリックし、ANDノードを配置する場所にカーソルを移動し、ANDノードを追加します。ANDノードは、並列実行する運用操作部品ノードの後続に必ず配置してください。
ノードを矢印で結びます。必要に応じて矢印の名前を設定してください。ANDノードには、並列実行する処理のすべてから矢印を結びます。本作成例では、並列実行する運用操作部品ノードの後ろに配置したすべてのノードから、ANDノードに対して矢印を結びます。
[パレット]の[基本]タブにある[Conditional]をクリックし、[AND]ノードの後ろにカーソルを移動し、Conditionalノードを配置します。
ノードを矢印で結びます。必要に応じて矢印の名前を設定してください。
運用操作部品ノードの実行結果の判定に使用するユーザ定義属性(UDA)を作成します。
[プロパティ]-[ユーザ定義属性]タブを選択します。
[追加]をクリックし、ユーザ定義属性(UDA)を追加します。
ここでは、以下のUDAを追加します。
UDA名 | タイプ | 初期値 |
---|---|---|
errorflag | STRING | OK |
NGword | STRING | NG |
配置した「データを実行結果に格納」運用操作部品ノードに対する入力情報と出力情報を設定します。2 つとも同じ設定を行います。
プロセス定義エディタ上で「データを実行結果に格納」運用操作部品ノードをクリックします。
[プロパティ]-[入出力情報]-[入力情報]タブの順にクリックし、入力情報を設定します。
入力情報に設定する内容を以下に示します。
オプション名 | 設定値 |
---|---|
input1 | 種別に[変数(uda)]を選択し、[NGword]を設定します。 |
[出力情報]タブをクリックし、出力情報を設定します。
[追加]ボタンをクリックし、[出力情報]で追加する変数を選択して以下の情報を入力します。
実行結果 | 変数 |
---|---|
result1 | errorflag |
この設定により、[出力情報]に設定したユーザ定義属性(UDA)“errorflag”に、ユーザ定義属性(UDA)“NGword”に設定されている値(“NG”)が設定されます。
配置した[Conditional]ノードの決定ルールを設定します。
プロセス定義エディタ上で[Conditional]ノードをクリックします。
[プロパティ]-[決定ルール]タブの順にクリックします。
[評価する変数]領域で、評価する変数として“errorflag(STRING)”を選択します。
[すべての分岐条件]に以下を設定します。
オペレータ | 値 | 実行する矢印(※) |
等しくない(!=) | NG | 成功(デフォルト) |
等しい(=) | NG | 失敗 |
※:Conditionalノードから引いた矢印の名前が表示されます。最初に引いた矢印にデフォルト設定されています。
自動運用プロセスの中で、指定した日時や、任意に設定した時間間隔でメールを送信することができます。
これにより、承認アクティビティで自動運用プロセスの処理が滞留している場合などに、承認者に対して作業の督促メールを定期的に通知することができます。
メール送信設定は、自動運用プロセス内のアクティビティ毎に設定できます。
自動運用プロセスを作成し、設定対象のアクティビティを選択します。
プロパティビューから[タイマー]タブを選択し、[追加]ボタンをクリックします。
追加されたタイマーの名称は任意に変更できます。
メールを送信する日時間隔を設定します。[定期的]チェックボックスをチェックし、以下の項目について設定します。なお、各項目の詳細については、“Systemwalker Runbook Automation Studio利用ガイド”の“タイマーの定義”を参照してください。
項目 | 説明 |
---|---|
タイプ | タイマーのタイプを選択します。以下のいずれかを選択してください。
|
日 | 日数の間隔を設定します。[時間]の設定と組み合わせることで、定期間隔を指定できます。[定期的]チェックボックスをチェックすると、“日後”から“日毎”に変わります。 |
時間 | 時間の間隔を設定します。[日]の設定と組み合わせることで、定期間隔を指定できます。 |
例えば、[日]に0(日毎)、[時間]に03:00:00を設定した場合、設定されたアクティビティが動いてから毎日3時間毎にメールが通知されます。
また、[日]に1(日毎)、[時間]に06:00:00を設定した場合、設定されたアクティビティが動いてから1日と6時間(30時間)毎にメールが通知されます。
参考
メール通知の設定が有効になっている場合、当該アクティビティに処理が遷移した直後に1度目のメール通知が実施されます。
以下は、タイマーの[タイプ]でカレンダーを選択し、[日]に1(日毎)、[時間]に06:00:00を設定した入力例になります。
[タイマーアクション]を選択し、[追加]ボタンをクリックします。表示されたアクションタイプリストダイアログで、[通知アクション]-[メール送信]を選択します。
表示された[メール送信]ダイアログで[アドレス]タブを選択し、メール送信先のアドレスを入力します。
“E”モードでメールアドレスを入力する場合、メールアドレスはダブルクォーテーション付きで入力します。
[メール送信]ダイアログの[コンテンツ]タブを選択し、メールの件名や本文を入力します。
また、メール送信ダイアログの詳細タブを選択し、メール送信アクションに任意の名称や説明を付加することもできます。
[メール送信]ダイアログの[OK]ボタンをクリックすると、設定は完了です。
メール送信設定が有効になったプロセス定義は、以下のように表示されます。
同じ操作を複数の対象に実行したり、同じ操作を複数回実行する自動運用プロセスを作成することができます。
Compound Activityノードを使用することで、業務アプリケーションの停止後にOSの停止を行うなどの一連の操作を、複数のサーバに対して繰り返し行う自動運用プロセスを作成することができます。
運用操作部品「繰返し時間の経過確認」を使用することで、一定時間が経過するまでの間、繰り返し同じ操作を行うことができます。サーバの起動依頼後の起動完了確認のように、一定の時間が経過するまでの間は起動確認を行い、一定時間が経過しても起動確認できない場合は起動異常として扱うといった操作を行う自動運用プロセスを作成することができます。
以下の運用操作部品では、確認するサービス名などの操作対象を複数指定することができます。
複数のサービスの起動を確認するなど、複数の操作対象に対して一括して同じ操作を行うことができます。
運用操作部品 | 一括操作の対象 |
---|---|
サービスの起動確認 | 起動を確認するサービス |
ポートの接続確認 | 接続を確認するポート番号 |
サーバの正常稼働確認 | 起動を確認するサービス、および、接続を確認するポート番号 |
ノードの稼働状態確認 | 稼働状態を確認するノード |
サーバ起動 | 起動するサーバ |
サーバ停止 | 停止するサーバ |
OSを停止 | OSを停止するサーバ |
OSを再起動 | OSを再起動するサーバ |
仮想サーバを起動 | 起動する仮想サーバ |
仮想サーバを停止 | 停止する仮想サーバ |
仮想サーバを再起動 | 再起動する仮想サーバ |
運用操作部品「複数の運用プロセスを実行」を使用することで、他の自動運用プロセスを多重実行することができます。複数の自動運用プロセスと共通で使用する定形処理を定義した自動運用プロセスを呼び出すことができます。また、1回の運用操作部品の実行で、複数のサーバを操作対象として自動運用プロセスを実行することができます。
操作対象を変更しながら、繰り返し同じ操作を行うことができます。
サービスの停止後にサーバの停止を行う操作を、複数のサーバに対して繰り返し行う自動運用プロセスの作成手順を以下に示します。
[基本]タブにある[Compound Activity]をクリックします。プロセス定義エディタでCompound Activityノードを配置する場所にカーソルを移動し、クリックしてCompound Activityノードを追加します。
[運用プロセスの制御]タブにある[データを実行結果に格納]をクリックします。プロセス定義エディタで、Compound Activityノードの枠内の運用操作部品ノードを配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[サービス/プロセスの操作]タブにある[サービスを停止]をクリックします。プロセス定義エディタ上で、Compound Activityノードの枠内の運用操作部品を配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[サーバの操作]タブにある[サーバを停止]をクリックします。プロセス定義エディタ上で、Compound Activityノードの枠内の運用操作部品を配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[メールの操作]タブにある[メールを送信]をクリックします。プロセス定義エディタ上で、Compound Activityノードの枠内の運用操作部品を配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[パレット]の[基本]タブから[Exit]をクリックします。プロセス定義エディタ上で、Compound Activityノードの枠内のExitノードを配置する場所にカーソルを移動し、クリックしてExitノードを追加します。
[パレット]の[基本]タブから[Exit]をクリックします。プロセス定義エディタ上でExitノードを配置する場所にカーソルを移動し、クリックしてExitノードを追加します。
ノードを矢印で結びます。必要に応じて矢印の名前を設定してください。
複数の運用操作部品で使用する共通情報のホスト名を格納するユーザ定義属性(UDA)を作成します。
[プロパティ]-[ユーザ定義属性]タブを選択します。
[追加]をクリックし、ユーザ定義属性(UDA)を追加します。
ここでは、以下のUDAを追加します。
UDA名 | タイプ | 初期値 |
---|---|---|
hostlist | STRING | 操作対象のサーバのホスト名を以下の形式で設定します。 |
hostname | STRING | 初期値は設定しません。 |
counter | INTEGER | 繰返し操作のカウンタとして使用します。初期値として、0を設定します。 |
配置したCompound Activityノードに対するプロパティを設定します。
プロセス定義エディタ上で入力情報を設定するCompound Activityノードをクリックします。[プロパティ]-[一般]タブの順にクリックし、プロパティを設定します。
プロパティの[Sequential Loop]に以下を設定します。
項目 | 設定値 |
---|---|
条件 | チェックを外します。 ここでは条件は指定しません。 |
カウント | チェックし、操作するサーバ数を設定します。 |
配置した運用操作部品ノードに対する入力情報を設定します。
プロセス定義エディタ上で入力情報を設定する運用操作部品ノードをクリックします。[プロパティ]-[入出力情報]-[入力情報]タブの順にクリックし、入力情報を設定します。
入力情報に設定する内容を以下に示します。
運用操作部品名 | オプション名 | 設定値 |
---|---|---|
サービスを停止 | hostname | ホスト名を設定します。ここでは、種別に[変数 (uda)]を選択し、[hostname]を設定します。 |
service | 停止するサービス名を設定します。 | |
サーバを停止 | hostname | ホスト名を設定します。ここでは、種別に[変数 (uda)]を選択し、[hostname]を設定します。 |
メールを送信 | hostname | SMTPサーバのホスト名またはIPアドレスを設定します。 |
fromaddress | メールの送信元アドレスを設定します。 | |
toaddress | メールの送信先アドレスを設定します。 | |
subject | メールのタイトルを設定します。 | |
text | メールの本文を設定します。 |
繰り返し処理内で、操作対象のホスト名をUDA:hostnameに設定します。
配置した「データを実行結果に格納」運用操作部品の入出力情報を設定します。
プロセス定義エディタ上で「データを実行結果に格納」運用操作部品をクリックします。
[プロパティ]-[入出力情報]-[入力情報]タブの順にクリックし、入力情報を設定します。
入力情報に設定する内容を以下に示します。
オプション名 | 設定値 |
---|---|
input1 | 編集するデータを設定します。ここでは、種別に[変数 (uda)]を選択し、[counter]を設定します。 |
input2 | 編集するデータを設定します。ここでは、種別に[変数 (uda)]を選択し、[hostlist]を設定します。 |
[出力情報]タブをクリックし、出力情報を設定します。
[追加]ボタンをクリックし、[出力情報]で追加する変数を選択して以下の情報を入力します。
実行結果 | 変数 |
---|---|
result1 | counter |
result2 | hostname |
[counter]を選択し、[フィルター定義]の[追加]ボタンをクリックします。
→ [フィルター設定]ダイアログが表示されます。
[フィルター一覧]から[演算]を選択し、[追加]ボタンをクリックします。
[フィルター定義]領域に以下を設定し、[OK]ボタンをクリックします。
項目名 | 設定値 |
---|---|
演算方法 | [加算]を選択します。 |
演算値の種類 | [固定値]を選択します。 |
加算値 | 1を設定します。 |
出力情報で[hostname]を選択し、[フィルター定義]の[追加]ボタンをクリックします。
→ [フィルター設定ダイアログ]が表示されます。
[フィルター一覧]から[CSV形式データの抽出]を選択し、[追加]ボタンをクリックします。
[フィルター定義]領域に以下を設定し、[OK]ボタンをクリックします。
項目名 | 設定値 |
---|---|
区切り文字 | [カンマ]を選択します。 |
囲み文字 | [ダブルクォーテーション]を選択します。 |
最初の行をヘッダーとして扱う | チェックしません。 |
ソート条件 | 省略します。 |
抽出する行 | 省略します。 |
抽出する列 | カウンタに割り当てたUDAを指定します。ここではcounterを指定します。 |
一定時間が経過するまでの間、繰り返し同じ操作を行うことができます。
サーバの起動依頼後、最大5分経過するまで、30秒間隔で起動確認を行う自動運用プロセスの作成手順を以下に示します。
[サーバの操作]タブにある[サーバを起動]をクリックします。プロセス定義エディタ上で運用操作部品を配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[運用プロセスの制御]タブにある[繰返し時間の経過確認]をクリックします。プロセス定義エディタ上で運用操作部品を配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[ネットワークの操作]タブにある[ノードの稼働状態確認]をクリックします。プロセス定義エディタ上で運用操作部品を配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[メールの操作]タブにある[メールを送信]をクリックします。プロセス定義エディタ上で運用操作部品を配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[パレット]の[基本]タブから[Exit]をクリックします。プロセス定義エディタ上でExitノードを配置する場所にカーソルを移動し、クリックしてExitノードを追加します。
ノードを矢印で結びます。必要に応じて矢印の名前を設定してください。
複数の運用操作部品で使用する共通情報のホスト名を格納するユーザ定義属性(UDA)を作成します。
[プロパティ]-[ユーザ定義属性]タブを選択します。
[追加]をクリックし、ユーザ定義属性(UDA)を追加します。
ここでは、UDAの名前は“hostname”としています。また、UDAの初期値として、“hostname”には操作を行うサーバのホスト名を設定します。
配置した運用操作部品ノードに対する入力情報を設定します。
プロセス定義エディタ上で入力情報を設定する運用操作部品ノードをクリックします。[プロパティ]-[入出力情報]-[入力情報]タブの順にクリックし、入力情報を設定します。
入力情報に設定する内容を以下に示します。
運用操作部品名 | オプション名 | 設定値 |
---|---|---|
サーバを起動 | hostname | ホスト名を設定します。ここでは、種別に[変数 (uda)]を選択し、[hostname]を設定します。 |
繰返し時間の経過確認 | iteration_duration | 繰り返し処理時間を設定します。ここでは、300を設定します。 |
iteration_sleep_time | 繰り返し処理の待ち時間を設定します。ここでは、30を設定します。 | |
ノードの稼働状態確認 | hostname | ホスト名を設定します。ここでは、種別に[変数 (uda)]を選択し、[hostname]を設定します。 |
メールを送信 | hostname | SMTPサーバのホスト名またはIPアドレスを設定します。 |
fromaddress | メールの送信元アドレスを設定します。 | |
toaddress | メールの送信先アドレスを設定します。 | |
subject | メールのタイトルを設定します。 | |
text | メールの本文を設定します。 |
サービスの起動確認など、同じ操作を複数の操作対象に一括して実行することができます。
“3.2.3.9.2 一定の時間内に同じ処理を繰り返し実行”で作成した自動運用プロセスに対して、ノードの稼働状態の確認後に、複数のサービスの起動確認を一括で行う自動運用プロセスの作成手順を以下に示します。
[サービス/プロセスの操作]タブにある[サービスの起動確認]をクリックします。プロセス定義エディタ上で運用操作部品を配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[メールの操作]タブにある[メールを送信]をクリックします。プロセス定義エディタ上で運用操作部品を配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
ノードを矢印で結びます。必要に応じて矢印の名前を設定してください。
配置した運用操作部品ノードに対する入力情報を設定します。
プロセス定義エディタ上で入力情報を設定する運用操作部品ノードをクリックします。[プロパティ]-[入出力情報]-[入力情報]タブの順にクリックし、入力情報を設定します。
入力情報に設定する内容を以下に示します。
運用操作部品名 | オプション名 | 設定値 |
---|---|---|
サービスの起動確認 | hostname | ホスト名を設定します。ここでは、種別に[変数 (uda)]を選択し、[hostname]を設定します。 |
service | 起動を確認するサービス名の一覧を設定します。サービス名は以下の形式で設定します。 "サービス1","サービス2","サービス3",・・・ | |
メールを送信 | hostname | SMTPサーバのホスト名またはIPアドレスを設定します。 |
fromaddress | メールの送信元アドレスを設定します。 | |
toaddress | メールの送信先アドレスを設定します。 | |
subject | メールのタイトルを設定します。 | |
text | メールの本文を設定します。 |
同じ内容の処理を複数のサーバに対して行うなど、自動運用プロセスを異なる設定で多重実行することができます。
“3.2.3.9.3 複数の操作対象に対する一括操作”で作成した自動運用プロセスを、CMDBに登録されているWindowsサーバに対して実行する自動運用プロセスの作成手順を示します。
[構成要素の操作]タブにある[構成要素を取得]をクリックします。プロセス定義エディタで、運用操作部品ノードを配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[運用プロセスの制御]タブにある[データを実行結果に格納]をクリックします。プロセス定義エディタで、運用操作部品ノードを配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[コマンドの実行]タブにある[複数の運用プロセスを実行]をクリックします。プロセス定義エディタで、運用操作部品ノードを配置する場所にカーソルを移動し、クリックして運用操作部品ノードを追加します。
[パレット]の[基本]タブから[Exit]をクリックします。プロセス定義エディタ上でExitノードを配置する場所にカーソルを移動し、クリックしてExitノードを追加します。
ノードを矢印で結びます。必要に応じて矢印の名前を設定してください。
「複数の運用プロセスを実行」運用操作部品の入力情報を格納するユーザ定義属性(UDA)を作成します。
[プロパティ]-[ユーザ定義属性]タブを選択します。
[追加]をクリックし、ユーザ定義属性(UDA)を追加します。
ここでは、UDAの名前は“param”としています。UDAの初期値は設定しません。
配置した「構成要素を取得」運用操作部品の入力情報を設定します。
プロセス定義エディタ上で「構成要素を取得」運用操作部品をクリックします。[プロパティ]-[入出力情報]-[入力情報]タブの順にクリックし、入力情報を設定します。
入力情報に設定する内容を以下に示します。
オプション名 | 設定値 |
---|---|
hostname | CMDBのホスト名を設定します。ここでは、種別に[値 (fixed)]を選択し、localhostを設定します。 |
serachpath | 構成要素を取得するための条件式を設定します。ここでは、種別に[値 (fixed)]を選択し、以下を設定します。 /%LogicalServer[(./#observed/rc:LogicalServer/rc:SystemSettings/rc:OSSetting[matches(@name,'Windows.*')])] |
配置した「複数の運用プロセスを実行」運用操作部品の入力情報を設定します。
プロセス定義エディタ上で「複数の運用プロセスを実行」運用操作部品をクリックします。[プロパティ]-[入出力情報]-[入力情報]タブの順にクリックし、入力情報を設定します。
入力情報に設定する内容を以下に示します。
オプション名 | 設定値 |
---|---|
subflowname | “3.2.3.9.3 複数の操作対象に対する一括操作”で作成したプロセス定義名 |
parameters | 実行する自動運用プロセスに渡す情報を設定します。ここでは、種別に[変数 (uda)]を選択し、[param]を設定します。 |
「複数の運用プロセスを実行」運用操作部品の入力情報となる、UDA:paramの値を設定します。
配置した「構成要素を取得」運用操作部品の出力情報を設定します。
プロセス定義エディタ上で「構成要素を取得」運用操作部品をクリックします。[プロパティ]-[入出力情報]-[出力情報]タブの順にクリックし、出力情報を設定します。
[追加]ボタンをクリックし、[出力情報]で追加する変数を選択して以下の値を設定します。
実行結果 | 変数 |
---|---|
ci_get_result | param |
[フィルター定義]の[追加]ボタンをクリックします。
→ [フィルター設定ダイアログ]が表示されます。
[フィルター一覧]から[XML属性の抽出]を選択し、[追加]ボタンをクリックします。
[フィルター定義]領域に以下を設定します。
項目名 | 設定値 |
---|---|
XPath | 以下の文字列を設定します。 /entities/item/record/LogicalServer |
属性名 | 以下の文字列を選択します。
|
区切り文字 | [改行]を選択します。 |
CMDBから取得したサーバ情報から、サーバ名を改行区切りで抜き出します。
[フィルター一覧]から[フォーマット]を選択し、[追加]ボタンをクリックします。
[フィルター定義]領域に以下を設定します。
項目名 | 設定値 |
---|---|
区切り文字 | [カンマ]を選択します。 |
囲み文字 | [ダブルクォーテーション]を選択します。 |
書式文字列 | 以下の文字列を設定します。[$number]には1から始まる通番、{0}には改行区切りで抜き出したサーバ名が1つずつ設定されます。 <Parameter ID="[$number]"> |
[フィルター一覧]から[文字列の付加]を選択し、[追加]ボタンをクリックします。
[フィルター定義]領域に以下を設定します。
項目名 | 設定値 |
---|---|
テキスト | 以下の文字列を設定します。 <?xml version="1.0" encoding="UTF-8"?> |
適用方法 | [全体に適用する]を選択します。 |
配置 | [先頭に追加する]を選択します。 |
[フィルター一覧]から[文字列の付加]を選択し、[追加]ボタンをクリックします。
[フィルター定義]領域に以下を設定します。
項目名 | 設定値 |
---|---|
テキスト | 以下の文字列を設定します。 </ParameterSet> |
適用方法 | [全体に適用する]を選択します。 |
配置 | [末尾に追加する]を選択します。 |
Buttonアイテムを使用して、フォームにヘルプボタンを追加することができます。
フォームにヘルプボタンを追加する手順を以下に示します。
[パレット]の[Basic]フォルダにある、Buttonアイテムを選択します。デザインエディタ上で、アイテムを配置したい場所をクリックし、Buttonアイテムを追加します。
[プロパティ]-[属性]タブを選択し、[type]の値を“submit”から“button”に変更します。
[value]の値にボタンのラベルを入力します。ここでは、ボタンのラベルとして、“ヘルプ”を入力します。
[onclick]の値に表示するヘルプのURLを以下の形式で入力します。ここでは、例としてURLに“ http://example.com/index.html ”を入力します。
onclick: window.open('http://example.com/index.html')
[ヘルプ]ボタンをクリックすると、指定したURLのヘルプドキュメントが別ウィンドウで表示されます。