Oracle SNMPエージェント・インテグレータを使用したポーリング
次の項では、Oracle SNMPエージェント・インテグレータを管理ステーションのプロキシとして使用し、管理対象ノード上でローカルにポーリングを実行する方法について説明します。
ポーリングとは、管理対象リソースの属性の値を特定の間隔でチェックするアクティビティです。重要なシステム・コンポーネントやアプリケーションでのフォルトを検知するには、管理システムでポーリングを実行して、管理対象リソースの属性値が重大なしきい値に達していないかどうかを判別します。しかし、管理ステーションから直接ポーリングを実行すると、ネットワーク帯域と管理ステーション自体への負荷が増大し、ポーリング対象コンポーネントの数が増えるにつれて効率性が低下します。
Oracle SNMPエージェント・インテグレータをマネージャのプロキシとして動作するように構成すると、管理対象ノード上でローカルにポーリングを実行できます。分散されたインテグレータ・エージェントにポーリングを実行させることで、管理ステーションへの負荷を軽減し、ネットワーク帯域の消費を抑えることができます。
チェックするしきい値はユーザーが設定できます。ポーリングは、Oracle SNMPエージェント・インテグレータの開始時にアクティブ化するか、管理ステーションからのSNMP Setリクエストでアクティブ化できます。設定したしきい値に達すると、Oracle SNMPエージェント・インテグレータがエンタープライズ固有のSNMPトラップを送信します。警告の理由を示すため、特定のしきい値に達したときに生成されるトラップに、送信する特定のトラップ・タイプ番号を構成しておきます。マネージャとOracle SNMPエージェント・インテグレータの間の通信が発生するのは、マネージャがSetリクエストを送信してポーリングを非アクティブ化(または再アクティブ化)するときと、Oracle SNMPエージェント・インテグレータが管理対象リソースで指定のイベントを検知してSNMPトラップを送信するときだけです。設定したしきい値に達したときにスクリプトやプログラムを実行するよう、Oracle SNMPエージェント・インテグレータを構成することもできます。
Oracle SNMPエージェント・インテグレータを使用してローカル・ポーリングを実行するには、次の手順に従って設定を行います。
モニターするリソースの属性は、MIBオブジェクトとして定義する必要があります。これらのMIBオブジェクトは、管理対象ノードにインストールされているエージェントまたはサブエージェントによってサポートされていなければなりません。
2.
|
Oracle SNMPエージェント・インテグレータから管理対象リソースにアクセスできるようにします。
|
Oracle SNMPエージェント・インテグレータには、管理対象オブジェクトにアクセスする方法を知らせるなければなりません。つまり、そのオブジェクトのオブジェクト識別子を、Oracle SNMPエージェント・インテグレータから認識できるOIDツリーのブランチ内に配置しておく必要があります。
モニターする管理対象オブジェクトが管理対象ノードにインストールされているSMUXサブエージェントによってサポートされていない場合は、そのOIDツリーのセクションがサブエージェントの開始時にOracle SNMPエージェント・インテグレータに自動的に登録されます。この登録内容は、Oracle SNMPエージェント構成ファイルの
OID_CLASSエントリで変更できます。詳細は、
8-1ページの「構成ファイル」を参照してください。
Oracle SNMPエージェント・インテグレータで直接サポートされるMIBグループは、MIB-IIの
systemグループと
snmpグループ、SMUX MIB、およびSNMPエージェントMIBのOracle SNMPエージェント
beaintAgtTableです。
3.
|
Oracle SNMPエージェント・インテグレータへのポーリング指示を定義します。
|
4.
|
Oracle SNMPエージェント・インテグレータのトラップのSNMP管理システムを構成します。
|
ポーリングしきい値に達すると、Oracle SNMPエージェント構成ファイルの
TRAP_HOSTエントリに指定された宛先に、Oracle SNMPエージェント・インテグレータからエンタープライズ固有のSNMPトラップ通知が送信されます。Oracle SNMPエージェント・インテグレータによって生成されたSNMPトラップ通知を使用できるようにするには、SNMP準拠の管理システムでいくつかの構成を実施する必要があります。どのような内容の構成を行うかは、使用している管理システムによって異なります。通常、トラップの受信時にアクションを実行するには、管理システムで構成やマッピングを実施する必要があります。たとえば、トラップを受信したらアイコンの色を赤にする、といったアクションを構成できます。詳細は、使用している管理システムのドキュメントを参照してください。
5.
|
Oracle SNMPエージェント・インテグレータによるポーリングを開始します。
|
6.
|
必要に応じて、Oracle SNMPエージェント・インテグレータによるポーリングを非アクティブ化したり再アクティブ化したりします。
|
Oracle SNMPエージェント・インテグレータの規則
Oracle SNMPエージェント・インテグレータの規則とは、Oracle SNMPエージェント・インテグレータに対するポーリング指示で、次の部分から構成されます。
•
|
ポーリング間隔。指定されたオブジェクト値にアクセスする間隔を秒単位で指定します。
|
Oracle SNMPエージェント・インテグレータでは、ポーリングを行う際、指定した条件が有効であるかどうかの確認チェックを行います。
条件は、オブジェクト(オブジェクト識別子で指定)と値の間の関係として定義されます。
条件が満たされる(しきい値に達する)のは、指定した関係がオブジェクトと値の間で成立したときのみです。たとえば、「より大きい」という関係は、「使用済のディスク容量が90%より大きい」という条件を定義するために使用します。
前述の場合、オブジェクト(使用済のディスク容量のパーセンテージ)の値が90より大きいと、条件が満たされてtrueと評価されます。この例では、条件を「より大きい」と日本語で記述していますが、実際のコーディングでは記号を使用します。
|
|
|
|
|
|
|
より小さい(数値の場合は (文字列に対する)部分文字列)
|
|
|
|
|
|
|
たとえば、Oracle SNMPエージェント・インテグレータを使用して、アクティブ化されていないサーバー・グループがあるかどうかをチェックしたいとします。サーバー・グループの状態は、
beaSysPerfグループの
tuxTgroupStateオブジェクトによって示されます。Oracle SNMPエージェントのコンポーネントは、SNMP多重化(SMUX)プロトコルを使用して、Oracle SNMPエージェント・インテグレータと通信したり、
beaSysPerfグループ内の同じマシン・オブジェクト上にあるOracle SNMPエージェント・インテグレータにオブジェクトの値を提供したりします。このサブエージェントは、SMUXプロトコルを使用してOracle SNMPエージェント・インテグレータと通信します。
次の条件を使用すれば、Oracle SNMPエージェント・インテグレータのポーリング規則を定義できます。
(VAL(.1.3.6.1.4.1.140.300.4.1.1.4.*) !=1)
式
VAL()は、
tuxTgroupStateオブジェクトの値を取得するために使用します。指定した条件(
!=1)が満たされるのは、いずれかのサーバー・グループがアクティブでない場合です。この例では、最初のピリオドは、これが絶対OIDであることを示します。つまり、
tuxTgroupStateオブジェクトへのパスは
.1.3.6.1.4.1.140.300.4.1.1.4.です。インスタンス索引のアスタリスク(
*)ワイルドカードは、
tuxTgroupStateが1と等しくない場合に条件が満たされることを示します。スカラー・オブジェクトの場合は、インスタンス索引として0を指定します。詳細は、
7-10ページの「インスタンス索引」を参照してください。
次に、上に示した条件を使用したOracle SNMPエージェント・インテグレータ規則の例を示します。
RULE_ACTION grpState 60 if (VAL(140.300.4.1.1.4.*) !=1)
{TRAPID_ERR=300}
この例の
grpStateは規則の名前です。Oracle SNMPエージェント・インテグレータは、1分(60)ごとにサーバー・グループの状態をチェックします。いずれかの
tuxTgroupStateの値が1と等しくない場合、
TRAPID_ERR=300の指示に従って、Oracle SNMPエージェント・インテグレータがエンタープライズ固有のトラップを特定のトラップ・タイプ番号(300)で生成します。
注意:
|
(Oracle SNMPエージェント・インテグレータが取得できるMIBオブジェクトの値は、Oracle SNMPエージェント・インテグレータが管理するエージェントまたはサブエージェントによってサポートされるMIBオブジェクトに応じて異なります。上の例で、Oracle SNMPエージェント・インテグレータが tuxTgroupStateオブジェクト値をポーリングできるのは、その管理対象ノードで tux_snmpdサブエージェントが実行されている場合のみです。また、Oracle SNMPエージェント・インテグレータがピアSNMPエージェントを介してアクセスできるMIBオブジェクトは、Oracle SNMPエージェント構成ファイルの NON_SMUX_PEERエントリによって異なります。詳細は、 6-1ページの「複数のSNMPエージェントの使用」を参照してください。
|
Oracle SNMPエージェント・インテグレータは、ネットワーク内の同じマシンまたは別のマシンにあるSNMPピア(非SMUXピア)エージェントからMIBオブジェクト値を取得することもできます。たとえば、あるピアSNMPエージェントがMIB-II
interfacesグループをサポートしているとします。そして、Oracle SNMPエージェント・インテグレータを使用して、使用不能になっている物理インタフェースがないかどうかをチェックしたいとします。インタフェースの状態は、MIB-II
interfacesグループの
ifTableにある
ifOperStatusオブジェクトによって示されます。この場合であれば、
ifOperStatusの値が1と等しくないかどうかを調べることになります。(
ifOperStatusの値が1であれば、そのインタフェースは使用可能です。)マシン上の1番目のインタフェースの
ifOperStatus値をチェックするには、次のような条件を使用できます。
(VAL(.1.3.6.1.2.1.2.2.1.8.1) != 1)
この条件が満たされるのは、
ifTable内の1番目のインタフェースが使用不能な場合のみです。最後の数値
「1」はインスタンス索引で、表内の1番目のインタフェースを指定しています。
この条件が満たされたときに、Oracle SNMPエージェント・インテグレータになんらかのアクションを実行させることができます。たとえば、インタフェースの
ifOperStatus値が1でない(つまり、そのインタフェースが使用不能になっている)場合に、Oracle SNMPエージェント・インテグレータから管理ステーションに通知を送信できます。このようにするには、Oracle SNMPエージェント・インテグレータがエンタープライズ固有のSNMPトラップを管理ステーションに送信するように指定します。このトラップには、特定のトラップ値を設定して、トラップが送信された理由をシステム管理者に伝えることができます。
特定のインタフェース(たとえば、
ifTable内の1番目のインタフェース)が使用不能になったときではなく、いずれかのインタフェースが使用不能になったときにこの通知をリクエストすることもできます。
RULE_ACTION checkIf 120
if (VAL(.1.3.6.1.2.1.2.2.1.8.*) != 1) {TRAPID_ERR=300}
この例の
checkIfは、この特定の規則に付けた名前です。値
120は、Oracle SNMPエージェント・インテグレータが2分ごとにインタフェースをチェックすることを示します。インスタンス索引にアスタリスク・ワイルドカードを使用すると、
ifTable内のいずれかのインタフェースの
ifOperStatusが1と等しくない場合に条件が満たされます(つまり、すべてのインタフェースがチェックされます)。いずれかのインスタンスのOID値が1と等しくない場合(つまり、インタフェースが使用不能な場合)、エンタープライズ固有のトラップが特定のトラップID (300)で送信されます。
注意:
|
このルールでは、Oracle SNMPエージェント・インテグレータがインタフェースの停止を初めて検出した場合にのみトラップが生成されます。インタフェースの停止状態が続く場合、追加のトラップは生成されません。
|
条件には、単純な条件と複雑な条件の2種類があります。
単純な条件は、管理対象オブジェクトと値の間の関係で構成されます。ここまでに示したすべての例は単純な条件です。
論理演算子AND、OR、およびNOTを使用すると、
複雑な条件を定義できます。たとえば、単純な条件AとBがある場合、AとBの
両方を満たすような複雑な条件を指定できます。
次の表に、複雑な条件の定義に使用できる記号を示します。
|
|
|
論理否定。「条件A」が満たされない場合にのみしきい値に達します。
|
|
論理和。「条件A」または「条件B」が満たされる場合にのみしきい値に達します。
|
|
論理積。「条件A」と「条件B」の両方が満たされる場合にのみしきい値に達します。
|
たとえば、修理のために使用不能にしていたインタフェースの
ifOperStatusが「使用可能」になっていない場合に、Oracle SNMPエージェント・インテグレータから警告を送信したいとします。この場合であれば、Oracle SNMPエージェント・インテグレータに2つの条件(
ifOperStatusが「使用不能」かつ
ifAdminStatusが「使用可能」)を判別させる規則を定義できます。つまり、使用可能になっているべきインタフェースがそうなっていない場合に通知されるようにします。
注意:
|
Oracle SNMPエージェント・インテグレータが取得できるMIBオブジェクトの値は、Oracle SNMPエージェント・インテグレータが管理するエージェントまたはサブエージェントによってサポートされるMIBオブジェクトに応じて異なります。
|
この例を実現するには、
checkIf規則を次のように変更します。
RULE_ACTION checkIf 60
if ((VAL(.1.3.6.1.2.1.2.2.1.8.*) != 1) &&
(VAL(.1.3.6.1.2.1.2.2.1.7.*) == 1))
{TRAPID_ERR=301}
この例では、起動しているインタフェースがない(
ifOperStatusが1でない)が、
ifAdminStatus値が起動になっている(つまり、インタフェースが起動しているはずなのにしていない)場合、Oracle SNMPエージェント・インテグレータが、インタフェースを毎分(
60)チェックし、エンタープライズ固有のトラップを固有のトラップ値301で生成します。
注意:
|
この規則では、条件が初めてtrueと評価されたときにのみこのトラップが生成されます。インタフェースの状態がそのまま変わらない間は、新しいトラップは生成されません。
|
(VAL(oid) relation value)
•
|
IPアドレス(形式は number1.number2.number3.number4)。
|
•
|
一重引用符(\)で囲んだオブジェクト識別子。OIDは、そのオブジェクトを管理するエージェントから返される値を正確に指定する必要があります。
|
ポーリング条件の定義では、オブジェクト識別子(OID)を数値で指定する必要があります。文字記号は使用できません(次に示すMIB II [
mib-2]や
enterprisesを除く)。オブジェクト識別子の指定には、次のいずれかの形式を使用できます。
•
|
絶対オブジェクト識別子(OIDツリーのルートから目的のオブジェクトまでのフルパス)で指定できます。最初のピリオドは、そのパスがルートから始まっていることを示します(例: .1.3.6.1.2.1.1.1.0)。この例では、最後のゼロはインスタンス索引です。
|
•
|
MIB-IIブランチからの相対OIDは、次の形式で指定できます。
|
先頭のサブOIDとして予約語
mib-2を指定すると、それ以降に指定したOIDの前に
.1.3.6.1.2.1が付いているものとみなされます。例:
•
|
エンタープライズ・ブランチを基準にした相対OIDを次の形式で指定できます。
|
enterprises.number.number ...
先頭のサブOIDとして予約語
enterprisesを指定すると、それ以降に指定したOIDの前に
.1.3.6.1.4.1が付いているものとみなされます。例:
•
|
エンタープライズ・ブランチを基準にした相対OIDは、次のように数値のみの形式でも指定できます。
|
number.number.number ... ,
先頭に「.」がなく、OIDが数字で始まる場合、それ以降に指定したOIDの前に
.1.3.6.1.4.1が付いているものとみなされます。例:
列オブジェクトは、表MIBグループの列を表すために使用します。列オブジェクトは、それに応じて複数のインスタンスを持つことができます。インスタンスを指定するには、OIDの一部として索引を追加します。索引が単一属性の場合は、OIDの末尾の番号を使用して特定のインスタンスを指定します。1つのインスタンスを特定するのに複数の属性が必要となる場合は、OIDに追加する各属性のインスタンス番号をピリオドで区切ります。各インスタンス番号は、
ASN.1ファイルのINDEX定義で指定した順序で指定します。
たとえば、特定のサーバーがアクティブ以外の状態にあるかどうか、という条件でチェックしたいとします。サーバー・インスタンスをユニークに指定するには、グループ番号とサーバーIDの両方が必要です。
ASN.1ファイルの
tuxTsrvrTblのINDEXエントリでは、特定のインスタンスのINDEXを次の形式で指定します。
INDEX (tuxTsrvrGrpNo,tuxTsrvrId)
tuxTsrverStateの相対OIDは次のとおりです。
したがって、グループが55、サーバーIDが3のサーバー・インスタンスを指定するには、次のOIDを使用します。
tuxTsrvrState OIDに追加する2つの属性インスタンスは、前述のINDEX定義に従って、最初に
tuxTsrvrGrpNo、その後に
tuxTsrvrIdという順序で指定します。
これで、チェックする条件を次のように定義できます。
VAL(140.300.20.1.1.5.55.3) != 1
この条件は、この特定のサーバー・インスタンスがアクティブでないときは常にtrueと評価されます。
特定の番号を使用すると特定のインスタンスを指定でき、アスタリスク・ワイルドカードを使用するとすべてのインスタンスを指定できます。
スカラー・オブジェクト(1つのインスタンスしか持てないオブジェクト)の場合は、インスタンス索引としてゼロを指定します。アスタリスク・ワイルドカードは、列オブジェクトのすべてのインスタンスを表す場合にのみ使用します。例:
スカラー・オブジェクトの単一のインスタンスを指定します。
.1.3.6.1.4.1.140.2.22.1.2.*
列オブジェクトのすべてのインスタンスを指定します。ワイルドカードを使用して条件を定義する場合は、インスタンスが1つでも条件に合致すれば、その条件が満たされたことになります。
•
|
複雑な規則で複数のOIDを指定する場合は、それらすべてのOIDでワイルドカードを使用するか、まったく使用しないかのどちらかにする必要があります。つまり、特定のインスタンスを指定するOIDとワイルドカードを使用するOIDを、1つの規則内で混在させることはできません。
|
•
|
1つの規則内の複数のOIDでワイルドカードをする場合は、すべてのOIDで指定するオブジェクトを、同じ表内のオブジェクトに限定する必要があります。
|
•
|
複雑な条件でOIDの索引としてアスタリスク(*)を使用した場合、その表のアクセス可能なすべての行について、同じ行の列間で条件がチェックされます。
|
•
|
ワイルドカードを使用して条件を定義する場合は、インスタンスが1つでも条件に合致すれば、その条件が満たされたことになります。たとえば、 VAL(.1.3.6.1.2.1.2.1.2.2.1.8.*) == 1は、いずれかのインスタンスの値が 1になると条件が満たされます。一度条件が満たされると、その規則はERR状態になります。ERR状態になった規則は、いずれかのインスタンスが条件を満たしているかぎりERR状態のままとなります。この規則は、条件を満たすインスタンスがなくなったときにのみOK状態に遷移します。
|
各アクティブ・ポーリング規則に関連付けられているのは
状態です。アクティブ規則に考えられる状態は2つあります:
•
|
OK - 指定された条件が満たされていない(しきい値に達していない)規則はOK状態になっています。
|
•
|
ERR - 指定された条件が満たされている(しきい値に達している)規則はERR状態になっています。
|
ポーリングに対してアクションが実行されるかどうかは、状態が遷移したかどうかによって決まります。Oracle SNMPエージェント・インテグレータのポーリング規則では、規則の状態がOKからERRまたはERRからOKに遷移するときにのみ(トラップ通知の生成などの)アクションが実行されます。
Oracle SNMPエージェント・インテグレータがポーリング規則を開始したときの初期状態はOKです。しきい値に達しないかぎり、規則の状態はOKのままとなります。しきい値に達すると、規則の状態がOKからERRに遷移します。条件がtrueと評価されている間は、規則の状態がERRのままとなります。その後、条件がfalseと評価されると、規則の状態はOKに戻ります。したがって、遷移には次の2種類があることになります。
注意:
|
列オブジェクトのすべてのインスタンスの条件をワイルドカード(*)を使用して定義した場合、表のいずれかの行の列で条件がtrueと評価されると、規則の状態がOKからERRに遷移します。一方、規則の状態がOKに戻るのは、表のすべての行の列で条件がfalseと評価されたときです。
|
Oracle SNMPエージェント・インテグレータの規則では、ポーリング規則が遷移したときに実行するアクションを指定できます。指定できるアクションは次の2種類です。
•
|
ユーザー定義のトラップ番号が設定されたエンタープライズ固有のトラップの送信
|
•
|
指定のプログラムまたはスクリプト(あるいはバッチ・ファイル)の実行
|
2種類のアクションを、同じ規則に指定することもできます。
注意:
|
Oracle SNMPエージェント・インテグレータは、遷移が発生したときに のみアクションを実行します。規則が同じ状態にある間は、ポーリングを継続してもアクションが再び実行されることはありません。この制約により、1つのイベントの検知に対してトラップが重複して生成されるのを回避しています。
|
アクションの定義では、次の4つのキーワードを使用します。
TRAPID_ERR = specific-trap-number
規則の状態がOKからERRに遷移したときに送信するトラップを指定します。
TRAPID_OK = specific-trap-number
規則の状態がERRからOKに遷移したときに送信するトラップを指定します。
command部分に、規則の状態がOKからERRに遷移したときに実行するプログラムをに指定します。
commandにより指定したプログラムが、規則の状態がERRからOKに遷移した場合に実行されます。
注意:
|
実行するコマンドを指定する文字列は、引用符で囲む必要があります。たとえば、 COMMAND_ERR = “usr/mybin/test.ksh"のように指定します。
|
実行可能ファイルやスクリプトの絶対パスを指定しない場合は、Oracle SNMPエージェント・インテグレータの環境設定でパスを指定しておく必要があります。
アクションを指定する文は、中かっこ{ }で囲む必要があります。1つの規則内に複数のコマンドを指定する場合は、各コマンドをスペースで区切り、コマンド全体を引用符で囲みます。
COMMAND_ERRまたは
COMMAND_OKアクションによって呼び出されるスクリプトやプログラムには、規則の名前と状態遷移の方向(OKからERRまたはERRからOK)を表す文字列が引数として渡されます。
Oracle SNMPエージェント・インテグレータのポーリング規則によって生成されたエンタープライズ固有のトラップでは、次の情報が渡されます。
TRAPID_ERRアクションでは、トラップの変数バインディング内の文字列が次の形式で渡されます。
Rule id rule-name has triggered from OK to ERR state
TRAPID_OKアクションでは、トラップの変数バインディング内の文字列が次の形式で渡されます。
Rule id rule-name has triggered from ERR to OK state
しきい値に達すると、エンタープライズ・フィールドに次のようなエンタープライズOIDが設定されたSNMPトラップ・パケット(PDU)が、Oracle SNMPエージェント・インテグレータによって生成されます。
注意:
|
Oracle SNMPエージェント・インテグレータ・ポーリング・アラームでは、トラップのエンタープライズ・フィールドに、Tuxedoシステム・イベントを転送するOracle SNMPエージェント・トラップとは異なるエンタープライズIDが入ります。Oracle SNMPエージェント・インテグレータ・ポーリング・アラームでは beaを使用します。
|
注意:
|
これに対して、Oracle Tuxedo SNMPエージェント・システム・トラップでは tuxedoをエンタープライズIDとして使用します。
|
次の例では、Oracle SNMPエージェント・インテグレータが10分(
600)ごとにポーリングして、使用済のディスク容量が90パーセントを超えているかどうかをチェックします。いずれかのファイル・システムで使用済容量が90パーセントを超えると、エンタープライズ固有のトラップがトラップ番号102で生成されます。その後、すべてのファイル・システムで使用済容量が90パーセント以下になると、エンタープライズ固有のトラップがトラップ番号202で生成されます。
RULE_ACTION diskchk 600
if (VAL(140.2.22.1.5.*) > 90) {TRAPID_ERR = 102 TRAPID_OK = 202}
次の例では、Tuxedoアプリケーションをチェックし、トランザクションの
triptimeが36ミリ秒を超えるかどうかを判別します。しきい値に達すると、エンタープライズ固有のトラップが生成され、イベントの時間をログに記録するユーザー・スクリプト
logtimeが呼び出されます。その後、以前のポーリングでしきい値に達していた
triptimeが36ミリ秒以下になると、エンタープライズ固有のトラップがトラップ番号302で生成されます。
RULE_ACTION triptime 20
if (VAL(140.150.1.3.*) > 36)
{TRAPID_ERR = 301 TRAPID_OK = 302
COMMAND_ERR = “/usr/sbin/logtime"}
注意:
|
この例のオブジェクト識別子は、Oracle MIBには定義されていません。ユーザー提供のカスタムMIBで定義する場合の例としてください。
|
次の例では、Oracle SNMPエージェント・インテグレータが5秒ごとにポーリングして、Tuxedoサーバー
Server1による処理が完了したリクエストの数が6を超えるかどうかをチェックします。6を超えると、エンタープライズ固有のトラップがトラップ番号210で生成され、コマンド
C:/etc/srv_reqs.cmdが実行されます。
RULE_ACTION Server1 5
if ((VAL(140.300.20.2.1.12.*) > 6))
{ TRAPID_ERR=210 COMMAND_ERR="C:/etc/srv_reqs.cmd" }
次の例では、Oracle SNMPエージェント・インテグレータが、アクティブ以外のいずれかの状態にある特定のサーバー・インスタンスをチェックします。チェックされるサーバーは、そのグループ番号およびサーバーID(グループ番号55とサーバーID 3)で一意に識別されます。
RULE_ACTION srvrUp 60 if (VAL(140.300.20.1.1.5.55.3) != 1
{TRAPID_ERR = 306 TRAPID_OK = 307}
このサーバーが条件を満たすと、規則がERR状態に遷移し、エンタープライズ固有のトラップがトラップ番号306で生成されます。その後、サーバーがアクティブ化されると、状態がOKに戻り、トラップ番号307のトラップが発行されます。
Oracle SNMPエージェント・インテグレータのポーリング・アクティビティの開始
ポーリング規則は、Oracle SNMPエージェントの
beamgr.conf構成ファイルの
RULE_ACTIONエントリとして定義します。このファイルのデフォルトの格納場所は、Windowsシステムでは
C:\etc、UNIXシステムでは
/etcです。個々の規則はMIBオブジェクトで、
beaIntAgtTableのエントリ(行)として格納されます。
Oracle SNMPエージェント・インテグレータがその規則を実行するかどうか(つまり、Oracle SNMPエージェント・インテグレータのアクティビティが規則に指定された条件をチェックするかどうか)は、各規則エントリのステータスによって決まります。各規則エントリのステータスは、
beaIntAgtStatusオブジェクトに格納されます。ステータスがアクティブ(整数値1)に設定されていれば、その規則についてポーリングはアクティブです。ステータスが非アクティブ(整数値3)に設定されていれば、その規則についてポーリングは非アクティブです。特定の規則のステータスを変更するには、管理ステーション(OpenView、SunNet Managerなど)からSet要求を送信します。Set要求では、エントリ・インスタンス(行)を特定するためのキー・フィールドとしてユニークな規則名を指定します。
注意:
|
beaIntAgtTable内のオブジェクトへのSetリクエストを正常に実行するには、Oracle SNMPエージェント・インテグレータが実行されている必要があります。
|
Oracle SNMPエージェント・インテグレータを最初に開始したときには、Oracle SNMPエージェントの
beamgr.conf構成ファイルの
RULE_ACTIONエントリに定義されているすべてのポーリング規則の実行が開始されます。開始時には、
beaIntAgtTable内の各規則オブジェクトのステータスが有効になります。
構成ファイルには、次の2つの方法で規則を追加できます。
•
|
viなどのテキスト・エディタを使用して、構成ファイルに RULE_ACTIONエントリを追加できます。この場合は、記述した規則が 8-1ページの「構成ファイル」で説明する構文に準拠していることを確認してください。ただし、Oracle SNMPエージェント・インテグレータがすでに実行されている場合は、次のコマンドを実行するまで新しい規則は有効になりません。
|
reinit_agent snmp_integrator
このコマンドを実行すると、Oracle SNMPエージェント・インテグレータが構成ファイルを再び読み取ります。
•
|
個々の規則は beaIntAgtTableに格納されたMIBオブジェクトであるため、SNMPマネージャ(または snmptestユーティリティ)を使用して beaIntMgtTableに新しいエントリ(行)を作成できます。(使用するSNMPマネージャは、複数のオブジェクトを含む単一のSNMP Setリクエストを発行する機能を備えていなければなりません。)新しい行を作成するには、表にまだ存在していない索引値を指定したSetリクエストを発行します。このSetリクエストにより、構成ファイルに新しい RULE_ACTIONエントリが作成されます。
|
Oracle SNMPエージェント・インテグレータのポーリング規則は、作成時と同じ2つの方法で変更できます。
•
|
テキスト・エディタを使用して、 beamgr.confファイルの RULE_ACTIONエントリを削除(またはコメント・アウト)あるいは変更します。この変更は、Oracle SNMPエージェント・インテグレータにその構成ファイルを再び読み取らせる次のコマンドを発行しないかぎり有効になりません。
|
reinit_agent snmp_integrator
•
|
SNMP Setコマンドを使用して、規則を削除したり変更したりできます。
|
Oracle SNMPエージェント・インテグレータのポーリング・アクティビティの停止
ポーリングは、次のいずれかの方法で非アクティブ化できます。
•
|
構成ファイルから RULE_ACTIONエントリを削除します。
|
Oracle SNMPエージェントの
beamgr.conf構成ファイルの
RULE_ACTIONエントリをコメント・アウトまたは削除すると、ポーリング規則をオフにできます。ただし、この変更を有効にするには、
reinit_agent snmp_integratorを実行する必要があります。このコマンドを実行すると、Oracle SNMPエージェント・インテグレータが構成ファイルを再び読み取ります。
•
|
snmptestまたはSNMP準拠のマネージャからSetリクエストを送信して、規則のステータスを非アクティブ化するための値を設定します。
|
その規則のポーリングは、そのオブジェクトの値を非アクティブ(整数値3)に設定すること(または、Oracle SNMPエージェント・インテグレータとパッケージ化されている
snmptestユーティリティを使用すること)により、管理ステーションから非アクティブ化できます。値を2(無効)に設定すると、
RULE_ACTIONエントリが構成ファイルから削除されます。次の図は、前述の規則
diskchkが
inactiveに設定されていることを示しています。セット権限には読取り/書込みコミュニティ文字列(この例では
iview)が必要です。
Oracle SNMPエージェント・インテグレータのポーリング・アクティビティの再開
管理ステーションからのSetリクエストによりポーリング規則が非アクティブ化されているとき、対応する
beaIntAgtStatusオブジェクトの値を有効(整数値1)に設定するSetリクエストを使用してその規則を再アクティブ化できます。