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

第 5 章 スクリプトリポジトリおよびスクリプト起動用ウィンドウモジュール

System Reliability Manager に含まれるスクリプトリポジトリおよびスクリプト起動用ウィンドウモジュールでは、リモートデバイス上で任意の管理タスクを実行するスクリプトを実行できます。リモートデバイス上でスクリプトを実行することで、中央の管理ステーションにおける処理の負荷を軽減できます。さらに、ポーリングをローカルにしておくためのメカニズムも提供します。

この章の内容は次のとおりです。

スクリプトリポジトリモジュール

スクリプトリポジトリモジュールでは、スクリプト起動用ウィンドウモジュールによって実行されるエージェントマシン上で利用可能なスクリプトを見ることができます。また、スクリプトリポジトリモジュールは、スクリプト起動用ウィンドウモジュールがサポートする言語もリストします。

スクリプト情報グループには 2 つの表があります。

スクリプトリポジトリモジュールのセキュリティは、次のように実装されます。

スクリプトリポジトリモジュールにアクセスする
  1. モジュールをロードします。

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

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

    カテゴリが展開されます。

  3. 「ローカルアプリケーション」で、「スクリプトリポジトリ」をダブルクリックします。

    カテゴリが展開されます。

  4. スクリプト情報フォルダをダブルクリックして、言語テーブルとスクリプトテーブルを表示します。

言語テーブル

スクリプト情報グループの最初の表は、言語テーブルです。この表には、エージェントでサポートされるすべてのスクリプト言語がリストされます。各表エントリには、次の属性があります。

この表ではコマンドは利用できません。新しい言語を指定したり、言語を削除することはできません。エントリの数は固定であり、実装するモジュールとサポートされる言語によって定義されます。

言語ソースは、セルに新しい情報を入力することにより変更できます。

アラーム

System Reliability Manager は、指定した場所で言語を見つけることができない場合に情報 (INFO) アラームを生成します。

スクリプトテーブル

スクリプトテーブルには、エージェント上でスクリプト起動用ウィンドウが認識するすべてのスクリプトがリストされます。表内の各エントリには、以下に示す属性があります。

表 5–1 スクリプトテーブルの値

属性 

説明 

スクリプト所有者 

このスクリプトを所有するエージェント上のユーザー。 

スクリプト名 

スクリプトの名前。 

詳細 

このスクリプトの目的の説明。 

管理状態 

次の状態が可能です。 

  • 「Enabled」は、オーナーがスクリプトの使用をほかのユーザーに許可することを示します。

  • 「Disabled」は、オーナーがスクリプトの使用を誰にも許可しないことを示します。

操作状態 

次の状態が可能です。 

  • 「Enabled」は、スクリプトが利用可能であり、起動テーブルのエントリによって起動できることを示します。

  • 「Disabled」は、スクリプトが使用できないことを示します。

  • 「NoSuchScript」は、スクリプトが指定された場所に存在しないことを示します。

  • 「WrongLanguage」は、言語が認識されないことを示します。

言語 

スクリプトが書かれている言語。この値は、言語テーブルにリストされている言語でなければなりません。 

スクリプトソース 

スクリプトのファイル名。 

デフォルト引数 

このスクリプトのデフォルトの引数。 

スクリプトユーザー 

このスクリプトの使用が許可されているユーザー。 

グループ 

このスクリプトの使用が許可されている UNIX グループ。 

ブラウザを使用して変更できるフィールドは、「管理状態」、「ユーザー」、および「グループ」です。「管理状態」は、スクリプトの希望する状態を入力する領域です。たとえば、「管理状態」は有効または無効にできます。ここで指定した状態は、希望する状態であり、モジュールが、すべての基準が満たされ準備ができたと判断した後は、「操作状態」のみが実際の状態を表します。

スクリプトテーブルアラーム

ScriptInfo.dat ファイル

ScriptInfo.dat は、実行可能なスクリプトに関する情報を含んでいます。ScriptInfo.dat ファイルに新しいスクリプトを追加することで、モジュールはそのスクリプトを認識できるようになります。ユーザーが所有するすべてのスクリプトが、このファイルに登録されている必要があります。

新しいスクリプトを追加する
  1. 新しいスクリプトを書きます。

    ScriptInfo.dat ファイルの書式は、設定ファイルの標準の書式に従います。

    slice:attribute=value
    
  2. 新しいスクリプトを ScriptInfo.dat ファイルにコピーします。

    ScriptInfo.dat ファイルは、ユーザー名で識別されるディレクトリに置きます。次の例を参照してください。

    /var/opt/SUNWsymon/SysMgmtPack/script-launcher/scripts/username/ScriptInfo.dat

    スクリプトに関する情報がすでにこのファイルに含まれている場合は、現行の情報の下にスクリプトを追加します。

    ScriptInfo.dat ファイルの以下の例では、2 つのスクリプトが含まれています。

    Script1:Owner = Scott
    Script1:Name = MyHello
    Script1:Desc = Says Hello
    Script1:Language = Java1.2
    Script1:Source = Hello.class
    Script1:AdminStat = 1
    Script1:OperStat = 1
    Script1:Users = Noble
    Script1:Group = Staff
    Script2:Owner = Denise
    Script2:Name = MyFile
    Script2:Desc = Says Hello
    Script2:Language = Java1.2
    Script2:Source = Hello.class
    Script2:AdminStat = 1
    Script2:OperStat = 1
    Script2:Users = Noble
    Script2:Group = Staff

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

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

モジュールには 2 つの表があります。

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

スクリプト起動用ウィンドウモジュールのセキュリティは、以下のように実装されます。

スクリプト起動用ウィンドウモジュールにアクセスする
  1. モジュールをロードします。

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

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

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

    スクリプト起動用ウィンドウは、起動テーブルと結果テーブルを表示します。

    スクリプト起動用ウィンドウとメニューを表示しているモジュールブラウザ。図内のテキストで図の内容が理解できます。

起動テーブル

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

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

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

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

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

属性 

説明 

起動所有者 

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

起動名 

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

スクリプト所有者 

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

スクリプト名 

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

引数 

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

起動開始 

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

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

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

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

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

起動制御 

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

管理状態 

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

操作状態 

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

最大稼動 

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

最大達成 

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

寿命 (秒) 

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

有効期間 (秒) 

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

起動テーブルへの新しいエントリの追加
  1. スクリプト起動用ウィンドウモジュールにアクセスするの説明に従って、起動テーブルにアクセスします。

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

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

    起動テーブルとメニューを表示しているモジュールブラウザ。図内のテキストで図の内容が理解できます。
  3. 「新規行」を選択し、必須パラメータをすべて指定します。

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

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

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

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

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

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

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

    ポップアップメニューが現れます。

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

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

結果テーブル

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

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

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

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

属性 

説明 

実行インデックス 

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

引数 

スクリプトが開始されたときに渡される引数。 

終了コード 

スクリプトの実行が終了した理由。次の値が可能です。 

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

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

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

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

結果ログ 

ログファイルへのパス。 

実行制御 

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

実行状態 

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

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

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

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

エラーログ 

ログファイルへのパス。 

開始時間 

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

終了時間 

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

寿命 (秒) 

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

有効期間 (秒) 

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

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

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

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

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

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


    注 –

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


結果テーブルから行を削除する
  1. スクリプトリポジトリモジュールにアクセスするの説明に従って、結果テーブルにアクセスします。

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

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

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

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

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

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