目次
Oracle NoSQL Databaseでは、管理CLIおよび管理コンソールに備わるネイティブ監視に加えて、Java Management Extensions (JMX)またはSimple Network Management Protocol (SNMP)の各エージェントをオプションで監視に使用できます。これらのエージェントは、ステータス、パフォーマンス・メトリックや、ストレージ・ノードおよびその管理対象サービス(レプリケーション・ノードおよび管理インスタンスを含む)の操作パラメータに関する情報について、管理クライアントでポーリングできるインタフェースを各ストレージ・ノード上で提供します。
これらの管理エージェントは両方とも、いずれかのサービスのステータスの変更や、事前に設定されたパフォーマンス制限の違反について、通知をプッシュするようにも構成できます。
JMXインタフェースはCommunity EditionまたはEnterprise Editionのいずれかで有効にできます。SNMPを使用するには、Enterprise Editionを保持する必要があります。
JMXサービスは3種類のコンポーネントに対するMBeansを公開します。これらのMBeansはパッケージoracle.kv.impl.mgmt.jmx内のJavaインタフェースのStorageNodeMBean、RepNodeMBeanおよびAdminMBeanです。各コンポーネントに対してレポートされるステータスの詳細は、これらのインタフェースのjavadocを参照してください。
JMXを介してレポートされる情報と同じ情報は、SNMPからもレポートできます。この場合、情報はOracleNosqlMIBという名前のManagement Information Base (MIB)に従って編成されます。これはEnterprise Editionのファイルlib/nosql.mibに含まれています。
NoSQL Database内のSNMPおよびJMXの各エージェントは読取り専用インタフェースで、ストレージ・ノードと、ストレージ・ノードでホストされるすべてのレプリケーション・ノードまたは管理に関する情報について、ストレージ・ノードをポーリングできます。使用可能な情報としてはサービス・ステータス(RUNNING、STOPPEDなど)、操作パラメータおよびパフォーマンス・メトリックなどがあります。
SNMPおよびJMXのトラップ/通知も特定のイベントに対して提供されます。通知は、すべてのサービス・ステータスの状態の変更と、パフォーマンス制限の違反に対して送信されます。
監視は各ストレージ・ノード・ベースで、次の2つの方法で有効にできます。
ストレージ・ノードの起動構成ファイルで、JMXまたはSNMPを有効にすることを指定できます。通常、これらのファイルはmakebootconfigユーティリティを使用して作成され、このユーティリティにはファイルの機能を制御するために次のオプションがあります。
[-mgmt {snmp|jmx|none} -pollport <snmp poll port>]
-traphost <snmp trap/notification hostname>]
-trapport <snmp trap/notification port>]
-mgmt snmpを指定する際は、-pollportも指定する必要があります。SNMPエージェントはこのポートでSNMP管理クライアントからの接続をリスニングします。通知の宛先アドレスを示すために-traphostおよび-trapportもオプションで指定する場合があります。これは、そのアドレスで通知を受信するように構成されているSNMP管理サービスのホスト名とポート番号になります。
-mgmt jmxを指定する際は、-pollportを指定する必要はありません。ストレージ・ノードのJMXエージェントは、ストレージ・ノードで管理されているすべてのその他のRMIサービスに使用されているのと同じポート番号で、RMIレジストリを使用します。(このポート番号はmakebootconfigに対する-port引数として指定されます。)
ストアがデプロイされた後でも、ストレージ・ノード・パラメータの"mgmtClass"、"mgmtPollPort"、"mgmtTrapHost"および"mgmtTrapPort"を変更することで、JMXまたはSNMPを有効にできます。makebootconfigによる構成と同様に、"mgmtPollPort"、"mgmtClass"、"mgmtTrapHost"および"mgmtTrapPort"はSNMPに対してのみ使用され、SNMPの有効化の際はパラメータ"mgmtPollPort"を設定する必要があります。
"mgmtClass"パラメータの値は次のクラス名のいずれかになる可能性があります。
JMXを有効化する場合:
oracle.kv.impl.mgmt.jmx.JmxAgent
SNMPを有効化する場合:
oracle.kv.impl.mgmt.snmp.SnmpAgent
JMXまたはSNMPのどちらも有効化しない場合:
oracle.kv.impl.mgmt.NoOpAgent
たとえば、ストレージ・ノードでSNMPを有効化するために管理CLIで次のコマンドを発行します。
plan change-parameters -service sn1 -wait -params \ mgmtClass=oracle.kv.impl.mgmt.snmp.SnmpAgent \ mgmtPollPort=5002 mgmtTrapHost=192.168.26.42 mgmtTrapPort=32767
管理エージェントの実装は対象の1回につき、1つだけ有効化できます。JMXがすでに有効化されているストレージ・ノードでSNMPを有効にすると、JMXエージェントはシャットダウンして、SNMPエージェントがその後を引き継ぎます。
NoSQL Database JMX MbeansをJConsoleなどの監視ツールに表示するには、表示するストレージ・ノードごとにホスト名およびレジストリ・ポートを使用して接続します。これは、次のコマンドへの"-port"引数によって指定されるポートです。
java -Xmx256m -Xms256m -jar kvstore.jar makebootconfig
これは構成時にdeploy-snプランでも使用されます。ドキュメントの例では5000をレジストリ・ポートとして使用します。
たとえば、「New Connection」タブの「JConsole Remote Process connection」ボックスにlocalhost:5000を指定します。