Sun Management Center 3.6 System Reliability Manager ユーザーガイド

スクリプト起動用ウィンドウモジュール

スクリプト起動用ウィンドウモジュールにより、管理機能をエージェントに委託できます。管理機能は、管理スクリプト言語で書かれた管理スクリプトです。スクリプト起動用ウィンドウモジュールは、マルチインスタンスモジュールです。スクリプト起動用ウィンドウモジュールのすべてのインスタンスが、言語およびスクリプト情報について、同じスクリプトリポジトリモジュールにアクセスします。


注 –

(Solaris 10 のみ) スクリプト起動用ウィンドウモジュールから DScript を実行できます。



注意 – 注意 –

DScript には、連続的に監視するものがあり、そうしたスクリプトの出力は膨大になります。CPU の速度が低下し、Java コンソールがハングアップする可能性があるため、そうしたスクリプトの使用は避けることを推奨します。


次のコードを抜粋して使用すると、任意の DScript に接続して、特定の時間、実行の流れを制御することができます。

tick-1sec
/i++ >= 10/
{
exit(0);
}

上記の例では、DScript が 10 秒間のみ実行され、10 秒後に出力を見ることができます。

スクリプト起動用ウィンドウモジュールには 2 つのテーブルがあります。

スクリプト起動用ウィンドウモジュールの起動テーブルと結果テーブル

スクリプト起動用ウィンドウモジュールでは、次のようにスクリプトを操作できます。

スクリプト起動用ウィンドウモジュールには、次のセキュリティー機能が実装されています。

Procedureスクリプト起動用ウィンドウモジュールにアクセスする

始める前に

スクリプト起動用ウィンドウモジュールを使用するには、スクリプトリポジトリモジュールをロードしておく必要があります。

手順
  1. モジュールをロードします。

    詳細は、『Sun Management Center 3.6 ユーザーガイド』を参照してください。スクリプトリポジトリモジュールは、モジュールブラウザウィンドウの「ローカルアプリケーション」から利用可能です。

  2. モジュールブラウザウィンドウで、「ローカルアプリケーション」をダブルクリックします。

  3. 「スクリプト起動用ウィンドウ」をダブルクリックします。

    起動テーブルと結果テーブルが表示されます。

    スクリプト起動用ウィンドウとテーブルが表示されたモジュールブラウザ。これは図に関する説明です。

起動テーブル

起動テーブルは、すべてのスクリプトの実行を制御します。この表には、実行可能なスクリプトとそのパラメータの記述が示されています。

起動テーブルのエントリは、スクリプトに引数を付加します。エントリはさらに所有者 (スクリプトを実行するアクセス権に関連付けられた) を定義します。

スクリプトのいくつかのインスタンスは、このテーブル内の単一エントリによって作成されます。このテーブル内のいくつかのエントリは、スクリプトテーブル内の同一スクリプトを指すことがあります。異なる引数と異なるアクセス権で、いくつかの同一スクリプトを実行することができます。スクリプトは、起動所有者のアクセス権でのみ実行できます。

起動テーブルには、次の表に示すような属性があります。

表 5–2 起動テーブルの属性

属性 

説明 

起動所有者 

このエントリを所有するマネージャ。 

起動名 

エントリの名前。名前は、起動テーブル内の各行で一意でなければなりません。 

スクリプト所有者 

「スクリプト名」と組み合わせて、スクリプトを識別します。 

スクリプト名 

「スクリプト所有者」と組み合わせて、スクリプトを識別します。 

引数 

スクリプトに指定する引数。 

起動開始 

スクリプトの実行を開始します。スクリプトを起動する前に、次の条件を満たす必要があります。 

  1. エントリの「操作状態」が有効な状態であること。

  2. スクリプトテーブル内に、「スクリプト所有者」と「スクリプト名」フィールドと同じ値を持つエントリがあること。

  3. スクリプトテーブル内の「スクリプト操作状態」フィールドが有効な状態であること。

  4. 「起動所有者」が、スクリプトの実行に必要なセキュリティーアクセス権を持っていること。

起動制御 

このオブジェクトは、起動テーブルから起動したスクリプトで、Run 表にあるすべての実行中スクリプトに対して状態の変更を要求する場合に使用します。 

管理状態 

この起動テーブルエントリの希望する状態 (有効または無効)。 

操作状態 

この起動テーブルエントリの実際の状態 (有効または無効)。 

最大稼働 

このエントリから起動できる同時実行のスクリプトの最大数。デフォルト値は 3 です。このフィールドは、直接書き込むことにより変更できます。 

最大達成 

起動テーブルのこのエントリから起動され完了したスクリプトで、結果テーブルに保持する最大数で、デフォルト値は 3 です。 

寿命 (秒) 

このエントリから起動したスクリプトが実行されるデフォルトの最大時間。デフォルト値は 86,400 秒 (1 日) です。 

有効期間 (秒) 

このエントリから起動されたスクリプトの実行が完了した後、このスクリプトに関する情報が結果テーブルに保持されるデフォルトの最大時間。 

Procedure起動テーブルに新しいエントリを追加する

手順
  1. 「スクリプト起動用ウィンドウモジュールにアクセスする」の説明に従って、起動テーブルにアクセスします。

  2. 起動テーブルの見出しで、マウスボタン 3 を押します。

    ポップアップメニューが表示されます。

    起動テーブルとメニューが表示されたモジュールブラウザこれは図に関する説明です。
  3. 「新規行」を選択し、必須パラメータをすべて指定します。

    「スクリプト所有者」および「スクリプト名」の値は、この起動ボタンから開始されたスクリプトを指します。

Procedureスクリプトのインスタンスを起動する

手順
  1. 「スクリプト起動用ウィンドウモジュールにアクセスする」の説明に従って、起動テーブルにアクセスします。

  2. 起動対象のスクリプト名を表示している行上でマウスボタン 3 を押します。

  3. 「スクリプトを起動」を選択します。

    スクリプトが起動されます。

Procedureスクリプトを停止する

手順
  1. 「スクリプト起動用ウィンドウモジュールにアクセスする」の説明に従って、起動テーブルにアクセスします。

  2. 停止するスクリプトを表示している行上でマウスボタン 3 を押します。

    ポップアップメニューが表示されます。

  3. 「スクリプトを中止」を選択します。

    スクリプトが実行を停止します。

結果テーブル

結果テーブルには、現在実行中または最近終了したすべてのスクリプトがリストされます。このテーブルには、次の情報が含まれています。

結果テーブルの各行に、スクリプトの実行中に渡された引数、スクリプトによって生成された結果、およびスクリプトの終了コードが含まれています。また、結果テーブルは、現在の実行情況、開始と終了のタイムスタンプに関する情報を提供します。

結果テーブルには、次の表に示すような属性があります。

表 5–3 結果テーブルの属性

属性 

説明 

実行インデックス 

スクリプトに関連付けられる一意の識別子。値は、増分する整数を持つ起動名を付加することで取得します。整数は 0 から始まります。 

引数 

スクリプトが起動されたときに渡された引数。 

終了コード 

スクリプトの実行が終了した理由。次の値を取り得ます。 

  • None – スクリプトは初期化中または実行中の状態です。

  • Halted – スクリプトは異常終了しました。

  • Successful – スクリプトが正常に終了しています。

  • Failed – スクリプトがエラーで終了しています。

結果ログ 

ログファイルへのパス。 

実行制御 

この行によって定義されたスクリプト実行の希望する状態 (abort または noop)。 

実行状態 

スクリプトの実行状態。次の値が可能です。 

  • Initializing – スクリプトは初期化中です。

  • Running – スクリプトは実行中です。

  • Not Running – 正常に終了、失敗、あるいは異常終了すると、スクリプトはこの状態になります。スクリプトが Not Running である原因は、Exit Code フィールドに表示されます。

エラーログ 

ログファイルへのパス。 

開始時間 

実行が開始された日付と時刻。 

終了時間 

実行が終了した日付と時刻。 

寿命 (秒) 

スクリプトが実行できる時間長。指定した時間を越えてもスクリプトが終了しない場合は、自動的に強制終了されます。 

有効期間 (秒) 

スクリプトが終了した後、この行が結果テーブルに留まることができる時間長。スクリプトが起動されたときは、この属性は起動テーブルの「有効期間 (秒)」フィールドの値になります。スクリプトが Not Running 状態になり、「有効期間 (秒)」を超えるとスクリプトエントリは結果テーブルから削除されます。 

Procedure結果テーブルから結果を表示する

手順
  1. 「スクリプトリポジトリモジュールにアクセスする」の説明に従って、結果テーブルにアクセスします。

  2. 結果テーブルで、実行中のスクリプトエントリ上でマウスボタン 3 を押します。

    ポップアップメニューが表示されます。

  3. 「結果ログを表示」を選択して、選択した実行中のスクリプトに対応する結果ログファイルを表示します。

    検索表示ウィンドウが表示されて、結果ログが表示されます。


    注 –

    コマンド行からログファイルにアクセスすることもできます。ログファイルは、/var/opt/SUNWsymon/SysMgmtPack/script-launcher/scripts/ UserName/logs ディレクトリに保存されます。ログファイル名には、実行中のインスタンス名が含まれるため、ユーザーが同じスクリプトを何度か実行した場合に、現行のログファイルがどれか識別できます。


Procedure結果テーブルから行を削除する

手順
  1. 「スクリプトリポジトリモジュールにアクセスする」の説明に従って、結果テーブルにアクセスします。

  2. 結果テーブルの行上でマウスボタン 3 を押します。

    ポップアップメニューが表示されます。

  3. 「行の削除」を選択します。

    ダイアログボックスが表示され、削除操作の確認または取り消しを行います。

  4. 「はい」をクリックして削除します。

    行が削除されると、結果テーブルが自動的に更新されます。