第 5 章 SNMPを使用したOracle VM Serverの監視
Oracle VM Serverは、Simple Network Management Protocol (SNMP)の監視をサポートします。 どのSNMPアプリケーションがデフォルトでインストールされているかを確認し、SNMPの使用を開始する方法を学習します。
5.1 インストールされたSNMPパッケージ
Oracle VM Serverのデフォルト・インストールには、アプリケーションのNET-SNMPスイートが含まれます。 これらのアプリケーションによって、SNMPプロトコルを使用してOracle VM Serverを監視できるようになります。
次に示すSNMPパッケージがデフォルトでインストールされます。
パッケージ |
説明 |
---|---|
|
SNMPエージェント・デーモンおよびドキュメント。 |
|
ランタイム・ライブラリおよび管理情報ベース(MIB)。 |
|
snmpgetおよびsnmpwalkなどのネットワーク管理ユーティリティ。 |
|
Oracle VM Serverを監視できるようにするSNMP共有オブジェクト・モジュール。
Oracle VM Server管理情報ベース(MIB)では、サーバーおよびサーバー上で実行される仮想マシンに関する情報を提供するいくつかのオブジェクトが定義されます。 このMIBのベースOIDは、
ノート
|
インストール済パッケージを次に示すようにチェックします。
# rpm -qa | grep snmp net-snmp-5.5-xx.x.x.xxx_x.x
.x86_64 net-snmp-libs-5.5-xx.x.x.xxx_x.x
.x86_64 net-snmp-utils-5.5-xx.x.x.xxx_x.x
.x86_64 ovs-snmp-x.x-x
.el6.x86_64
詳細は、NET-SNMPのドキュメントを参照してください。
5.2 Oracle VM Serverオブジェクト・モジュールの追加
ovs-snmp
共有オブジェクト・モジュールを使用してOracle VM Server構成を監視するには、/etc/snmp/snmpd.conf
に次の行を追加する必要があります。
dlmod ovs /usr/lib64/ovs-snmp/ovs.so
Oracle VM Serverのデフォルトsnmpd.conf
では構成例を示しており、これをビジネス・ニーズに合うように変更してください。 snmpd.conf
の構成は、このドキュメントの範囲では完全には説明していません。 詳細は、snmpd.conf
のマニュアル・ページを参照してください。
snmpd.conf
にovs-snmp
共有オブジェクト・モジュールを追加するステップの概要は次のようになります。
-
Oracle VM Serverの該当するインスタンスに接続します。
-
編集するために
/etc/snmp/snmpd.conf
を開きます。 -
次の行を追加します。
dlmod ovs /usr/lib64/ovs-snmp/ovs.so
-
snmpd.conf
に読取りアクセス権限があることを確認してください。ヒントsnmpd.conf
の先頭に一時的にrocommunity public
を追加して、ネットワーク上のすべてのコンピュータからの読取りアクセスを許可することが可能です。 -
/etc/snmp/snmpd.conf
を保存して閉じます。 -
SNMPサービスが実行中の場合には、再起動します。
# service snmpd restart
5.3 SNMPサービスの有効化
Oracle VM Serverを監視するためにSNMPを使用する場合は、デフォルトで無効となっているSNMPデーモンを有効にする必要があります。 構成を確認して、サービスが次のように有効になっているかどうかを確認できます。
# chkconfig --list |grep snmp snmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off snmptrapd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
SNMPサービスを有効にするには、次のコマンドを発行して手動で開始します。
# service snmpd start
SNMPサービスを永続的に有効にするには、次のコマンドを発行します。
# chkconfig --level 2345 snmpd on
Oracle VM Server MIBでは、SNMPトラップは定義されていません。 snmptrapd
サービスは、他の目的で必要な場合のみ起動してください。
5.4 MIBオブジェクトを取得する方法
SNMPサービスが実行されている場合、NET-SNMPアプリケーションを使用してOracle VM Serverのコマンドラインから直接MIBオブジェクトを取得できます。 Oracle Enterprise Managerなどの別のアプリケーションを使用してMIBオブジェクトを取得することもできます。
この項では、デモ目的のみの使用例を示します。 ビジネス・ニーズにあわせてMIBオブジェクトを取得する方法を決定するには、NET-SNMPアプリケーションのマニュアル・ページまたは該当するNMSのドキュメントを参照してください。
この項の例では、次の点に注意してください。
-
public
コミュニティを読取りアクセス用に構成済であると想定しています。 -
アクセス用に低いセキュリティ・レベル(SNMP v2c)を使用します。 アクセス制御を許可されたユーザーに制限するために、SNMP v3を構成する必要があります。 アクセス制御およびセキュリティ・レベルの詳細およびSNMP v3の構成手順の詳細は、該当するドキュメントを参照してください。
出力の最後の行に、No more variables left in this MIB View (It is past the end of the MIB tree)
と表示される場合、snmpd.conf
に読取りアクセス権限がない可能性があります。 この問題を解決するには、/etc/snmp/snmpd.conf
の先頭に一時的にrocommunity public
を追加して、ネットワーク上のすべてのコンピュータからの読取りアクセスを許可することができます。
次の例は、snmpwalkアプリケーションを使用して、MIBツリーのすべてのオブジェクトに値を返します。
# snmpwalk -v2c -c public localhost SNMPv2-MIB::sysDescr.0 = STRING: LinuxFQDN
3.8.13-68.2.2.el6uek.x86_64 #2 SMPtime_stamp
x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2654) 0:00:26.54 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING:FQDN
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf) SNMPv2-MIB::sysORLastChange.0 = Timeticks: (18) 0:00:00.18 SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMPv2-MIB::sysORDescr.1 = STRING: The MIB for Message Processing and Dispatching. SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching. SNMPv2-MIB::sysORDescr.3 = STRING: The SNMP Management Architecture MIB. SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP. SNMPv2-MIB::sysORUpTime.1 = Timeticks: (17) 0:00:00.17 SNMPv2-MIB::sysORUpTime.2 = Timeticks: (17) 0:00:00.17 SNMPv2-MIB::sysORUpTime.3 = Timeticks: (17) 0:00:00.17 SNMPv2-MIB::sysORUpTime.4 = Timeticks: (17) 0:00:00.17 SNMPv2-MIB::sysORUpTime.5 = Timeticks: (18) 0:00:00.18 SNMPv2-MIB::sysORUpTime.6 = Timeticks: (18) 0:00:00.18 SNMPv2-MIB::sysORUpTime.7 = Timeticks: (18) 0:00:00.18 SNMPv2-MIB::sysORUpTime.8 = Timeticks: (18) 0:00:00.18 ....
次の例は、snmpwalkアプリケーションを使用して、ORACLE-OVS-MIB
をロードし、Oracle VM Server MIBツリーのオブジェクトに値を返します。
# snmpwalk -v2c -c public localhost -OQ -m +ORACLE-OVS-MIB .1.3.6.1.4.1.111.57.1 ORACLE-OVS-MIB::ovsType.0 = Oracle VM Server ORACLE-OVS-MIB::ovsVersion.0 =version
ORACLE-OVS-MIB::ovsClusterState.0 = DLM_Ready ORACLE-OVS-MIB::ovsClusterType.0 = nfs ORACLE-OVS-MIB::ovsClusterStorage.0 =hostname
:/nfs/clusterfs/path
ORACLE-OVS-MIB::ovsManagerUUID.0 = 0004fb0000010000af78ad71a2719608 ORACLE-OVS-MIB::ovsServerpoolName.0 =my-pool
ORACLE-OVS-MIB::ovsAgentState.0 = Running ORACLE-OVS-MIB::ovsFreeMemory.0 = 12766 ORACLE-OVS-MIB::vmIndex.0 = 0 ORACLE-OVS-MIB::vmIndex.1 = 1 ORACLE-OVS-MIB::vmIndex.2 = 2 ORACLE-OVS-MIB::vmType.0 = 0004fb00000600002eb4165c672efe28 ORACLE-OVS-MIB::vmType.1 = 0004fb0000060000959d078c46ec4268 ORACLE-OVS-MIB::vmType.2 = Domain-0
次の例は、snmptableアプリケーションを使用して、ORACLE-OVS-MIB::vmTable
SNMP表からOracle VM Serverの実行中の仮想マシンを取得します。
ORACLE-OVS-MIB::vmTable
SNMP表には、60秒を経過すると失効するキャッシュされた値が含まれています。
# snmptable -v 2c -c public localhost ORACLE-OVS-MIB::vmTable SNMP table: ORACLE-OVS-MIB::vmTable vmIndex vmType 0 0004fb00000600002eb4165c672efe28 1 0004fb0000060000959d078c46ec4268 2 Domain-0