選択したスクリプト言語を使用して、監視対象の条件をチェックする論理を含んだスクリプトを作成します。たとえば、ディスク領域やメモリーの使用状況をチェックするスクリプトなどです。ユーザー定義メトリックを使用して実行するスクリプトはすべて、管理エージェントが完全なアクセス権限を持つディレクトリに置く必要があります。スクリプト自体には、管理エージェントで実行できるように前提となる権限セットが必要です。スクリプトのランタイム環境も構成する必要があります。スクリプトにPerlインタプリタなどのインタプリタが必要な場合は、インタプリタがそのホストにインストールされている必要もあります。
すべての監視スクリプトには、次の基本機能を実行するためのコードを組み込む必要があります。
監視する条件をチェックするコード内の論理を定義します。たとえば、特定のファイルシステムの空き領域またはメモリー使用レベルを判別する論理を定義します。
監視対象の条件をチェックした後、スクリプトは監視オブジェクトに関連する値を返す必要があります。
監視オブジェクトから特定の値(現行のディスク領域使用量など)を返すように選択した場合、Enterprise Managerではオブジェクトの現行の値を特定の警告およびクリティカルのしきい値と対照して評価することになります。これらの警告およびクリティカルのしきい値は、ユーザー定義メトリックの作成時に「コンソール」から指定します。しきい値に対するメトリック値の評価に基づいて、次の重大度レベルのいずれかでアラートがトリガーされることがあります。
アラートの重大度レベル
重大度レベル |
ステータス |
|---|---|
| スクリプト障害 | スクリプトは正常に実行されませんでした。 |
| クリア | 監視オブジェクトには問題がないため、ステータスは「クリア」です。メトリックに対してしきい値が指定されていた場合は、しきい値に達していないことを意味します。 |
| 警告 | 監視オブジェクトの値が警告のしきい値に達しています。 |
| クリティカル | 監視オブジェクトの値がクリティカルのしきい値に達しています。 |
監視オブジェクトのステータスを評価した後、スクリプトはこの結果をEnterprise Managerに返す必要があります。結果を返すために、スクリプトはスクリプト言語と一貫性のある構文(PRINTなど)を使用して、書式付き情報を標準出力(stdout)に送ります。
Enterprise Managerは、スクリプトの標準出力で2つの認識可能なタグであるem_resultおよびem_messageの有無をチェックします。
Enterprise Managerでスクリプトが正常に実行されたかどうかを判別するために、スクリプトの実行出力には結果を次の書式で含める必要があります。この出力は、改行文字で区切った文字列として記述します。
たとえば、次のようなものがあります。
em_result=<some value>\n
em_message=<some message>\n
重要: Enterprise Managerで有効なユーザー定義メトリックのフィードバックとして認識できるように、スクリプト出力のタグには小文字を使用する必要があります。各タグに関連付けるメッセージまたは値には、大/小文字の両方を使用できます。
有効なタグの出力: em_result=My Value¥n
無効なタグの出力: Em_Result=My Value¥n
スクリプトが正常に実行されるように、スクリプト出力は新しい行から文字列em_result=で始める必要があります。メッセージは、新しい行から文字列em_message=で始めます。
次の表にスクリプト出力のタグを示します。
スクリプト出力の情報タグ
タグ |
定義 |
|---|---|
| em_result | このタグを使用してスクリプトの結果値を返します。STDOUTに使用できるem_resultタグは1つのみです。複数のem_resultタグが検出された場合は、最初のem_resultタグのみが使用され、後続のem_resultタグは無視されます。
例: print "em_result=200¥n"
|
| em_message | このタグを使用して、STDOUTにスクリプトの結果値を含むメッセージを指定します。OSベースのユーザー定義メトリックの場合、1つのem_messageタグのみが許可されます。複数のem_messageタグを発行すると、最初のタグのみが使用され、後続のタグは無視されます。
例: print "em_result=200¥nem_message=Disk usage is high¥n"「Disk usage is high」というメッセージとともに監視オブジェクトの値として200が返されます。 スクリプトの実行に成功し、かつem_message文字列が含まれていない場合は、デフォルトのem_message文字列が自動的に生成されます。次のメッセージ書式が使用されます。 em_message=The value is $em_result例: print "em_result=200¥n"生成されたメッセージ「The value is 200」とともに監視オブジェクトの値として200が返されます。 |
ユーザー定義監視スクリプトの出力は、em_resultおよびem_messageにする必要があります。
重要: 監視スクリプトは、Enterprise Managerの管理エージェントが常駐するマシンに置く必要があります。このマシンをEnterprise Managerの管理エージェントの監視対象にしてください。マシンがスクリプトのランタイム要件(Perlスクリプトを実行している場合のPerlインタプリタなど)を満たしていることと、スクリプトをEnterprise Managerから独立して実行できることを確認してください。
ユーザー定義メトリックの評価時には、それをEnterprise Managerコンソールに登録するときに指定した資格証明(ユーザー名とパスワード)を使用してスクリプトが実行されます。ユーザー定義メトリックに対して指定するユーザー名およびパスワードには、スクリプトを実行する前提となる権限を持つアクティブな(同一マシン上の)アカウントを指定してください。
Enterprise Managerの監視テンプレート機能を使用して、ユーザー定義メトリックをデプロイできます。テンプレートによりメトリック設定を一度指定すれば、その設定をいくつものターゲットに適用できます。
Copyright (C) 1996, 2007, Oracle. All rights reserved.