Oracle NoSQL Databaseサーバー監視

Applications ManagerはOracle NoSQLのサーバー ファームを監視します。データベース管理者はWebクライアントで、ステータスやOracle NoSQLパフォーマンスを確認できます。製品はメトリックのパフォーマンス メトリックに標準対応しており、ステータスや可用性を視覚的に提示できます。

Oracle NoSQLサーバー監視を作成するには、次の手順に従ってください。

  1. 新規監視をクリックします。

  2. Oracle NoSQLを選択してください。

  3. 監視の表示名を入力してください。
  4. ホストのIPアドレスホスト名を入力してください。

  5. JMXポートを入力してください。

  6. 同じクラスターで別のマシンが稼働中の場合、そちらのJMXポートを追加で入力します。
  1. 認証情報の詳細を入力するか、認証情報リストから選択するかを選びます。
  2. 直接入力の場合、Oracle NoSQLのユーザー名パスワードを指定してください。

  3. JNDIパスを指定します(例:/jmxrmi)。
  4. ポーリング間隔を入力してください(分)。

  5. Oracle Databaseサーバー監視を関連付ける監視グループを、コンボボックスで選択します(任意項目)。監視は複数グループに関連付け可能です。

  6. 監視の追加をクリックすると、ネットワークからOracle Databaseサーバーを検出し、監視が始まります。

メモ:Oracle NoSQL監視向けにJMXを有効にしてください。新規Oracle NoSQL監視の作成には、管理者権限が必要です。

Oracle NoSQL監視用にJMX/SNMPを設定するには

Oracle NoSQL Databaseでは、管理CLIやコンソールで提供するネイティブ モードの監視のほか、JMXやSNMPのエージェントも利用できます。これらのエージェントはストレージ ノードごとにインターフェースとして機能し、管理クライアントによる情報収集を可能とします。クライアントはストレージ ノードや管理対象サービスから、ステータス、パフォーマンス メトリック、オペレーション上のパラメーターなどの情報を取得します。レプリケーション ノードや管理インスタンスからもデータ収集を実行します。双方の管理エージェントとも、サービス ステータスの変化やパフォーマンス限度設定の違反があればプッシュ通知するよう設定が可能です。JMXインターフェースでは、コミュニティ版でもEnterprise Editionでも利用できます。他方、SNMPを使う場合は、Java Enterprise Editionが必要です。JMXサービスでは、3タイプのMBeanコンポーネントを利用できます(StorageNodeMBean、RepNodeMBean、AdminMBeanが、oracle.kv.impl.mgmt.jmxパッケージにあります)。コンポーネントごとにレポートするステータスについては、Oracleページでインターフェース情報を確認ください。

同じ情報はSNMPでも取得できます。この場合、情報はOracleNosqlMIBに従って体系化されます。このMIBは、Enterprise Editionの/lib/nosql.mibファイルにあります。

SNMP(Simple Network Management)とJMX(Java Management Extensions)

SNMP・JMXとも、エージェントはNoSQLデータベースで読み込み専用インターフェースであり、ストレージ ノードにポーリングして、ストレージ ノードだけではなく、レプリケーション ノードやストレージ ノードにホストされている管理ノードの情報も取得します。把握できる情報には、サービスのステータス、オペレーション上のパラメーター、パフォーマンス メトリックなどがあります。SNMPとJMXのトラップや通知も、イベント発生時に配信されます。通知は、サービスのステータスが変化したり、パフォーマンス上限違反があったりするたびに、実行されます。

監視を有効にするには

ストレージ ノードごとの監視は、2とおりの方法で有効にできます。

ブート ファイルの利用

ブート設定ファイルで有効化の設定をする方法です。通常、これらのファイルは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引数で指定できます)。

 

ストレージ ノードのパラメーター変更

ストア デプロイ後にJMXやSNMPを有効にするには、ストレージ ノード パラメーターの「mgmtClass」、「mgmtPollPort」、「mgmtTrapHost」、「mgmtTrapPort」を変更してください。makebootconfigでの設定時と同様、これら4つはSNMPでのみ利用するものであり、「mgmtPollPort」はSNMPを有効にするうえで設定が必須となっています。

「mgmtClass」には、次のクラス名のうち1つを設定できます。

  • JMXを有効にする場合

    oracle.kv.impl.mgmt.jmx.JmxAgent

  • SNMPを有効にする場合

    oracle.kv.impl.mgmt.snmp.SnmpAgent

  • JMX・SNMPとも無効の場合

    oracle.kv.impl.mgmt.NoOpAgent

たとえば、次のコマンドを管理CLIで発行すると、ストレージ ノードでSNMPが有効になります。

plan change-parameters -service sn1 -wait -params \ mgmtClass=oracle.kv.impl.mgmt.snmp.SnmpAgent \ mgmtPollPort=5002 mgmtTrapHost=192.168.26.42 mgmtTrapPort=32767


メモ:管理エージェントは、同時に1種類しか設定できません。JMXを有効にしたストレージ ノードでSNMPを有効にすると、JMXエージェントはシャットダウンし、SNMPエージェントが交代で稼働を始めます。

NoSQL DB MBeansを表示するには

JConsoleなどの監視ツールで、NoSQLデータベースのJMX Mbeanを確認するには、ホスト名とレジストリ ポートで、それぞれのストレージ ノードに接続してください。ポートには、「java -jar kvstore.jar makebootconfig」コマンドへの「-port」引数で指定したものを使います。ポートはインストール時にdeploy-sn計画でも使います。

たとえば、レジストリ ポートに5000を使う場合は、「localhost:5000」を新規接続タブのJConsoleリモート プロセス接続に指定して下さい。

監視するパラメーター

メモ
  • 新規Oracle NoSQL監視を作成するには、管理者権限が必要です。
  • Mbeansの利用にはJConsoleも利用できます。

 

Oracle NoSQL監視のメトリック

spacer
管理属性
 
属性名 説明
管理ID 管理インスタンスの番号を表します。
HTTPポート 管理コンソールのWebアプリケーションで使うポート番号です。
ログ ファイル数 維持しておくログ ファイルの数を示します。
ログ ファイル上限 ログ ファイルの最大サイズを指します。
マスター
管理者が管理インスタンスのマスターであるかを示します。
ポーリング間隔(ミリ秒) メトリック収集のポーリング間隔を示します。
サービス ステータス 管理者のサービス ステータスを報告しています。
 
ストレージ属性
 
属性名 説明
容量 ストレージ ノードがホストできる、レプリケーション ノードの数を示します。
管理HTTPポート 管理コンソールのWebアプリケーションが使う、HTTPポートです。
ホスト名 レプリケーション ノード間の通信に使うネットワーク インターフェースの名前です。
HAポート範囲 ストレージ ノードでホストできるレプリケーション ノードへ、割り当て可能なポート番号のレンジを表します。
ホスティング管理者 ストレージ ノードが管理者インスタンスをホストしている場合、Trueとなります。
メモリMB ストレージ ノードで利用可能と判明しているメモリの量を指します(MB)。
マウント ポイント レプリケーション ノードをデプロイできる、ファイル システムのマウント ポイントをリストアップします。
CPU数 ストレージ ノードで利用可能とわかっているCPUの数を指します。
レジストリ ポート ストレージ ノードのRMIレジストリのポート番号です。
rootディレクトリ パス ストアのrootディレクトリのパス名です。
ストレージ ノードID ストレージ ノードのID番号です(snId)。
ストア名 ストレージ ノードの所属先ストアに設定した名前です。
 
レプリケーション ノードのテーブル属性
 
属性名 説明
キャッシュ サイズ Kerkeley DB JEキャッシュのサイズを表します(MB)。
環境統計の収集(CollectEnvStats) Kerkeley DB JEサブシステムがlocal.statファイルに統計をダンプしている場合、Trueとなります。
コミット ラグ 所定間隔で、レプリケーション ノードの更新操作の際に発生する、平均コミット ラグを表します(ミリ秒)。
複製ノードID(RepNodeId) レプリケーション ノードのIDを文字列で表します。
コミット ラグしきい値 平均コミット ラグが指定値を超え、通知を行うときのしきい値です(ミリ秒)。
累積終了(CumulativeEnd) 累計測定期間の終わりを示すタイム スタンプです。
累積平均遅延(CumulativeLatAvg) サービス起動以来、同一タイプの操作で測定された、平均遅延を表します。
累積最大遅延(CumulativeLatMax) サービス起動以来、同一タイプの操作で測定された、最長遅延を表します。
累積開始(CumulativeStart) 累計測定期間の始まりを示すタイム スタンプです。
累積スループット(CumulativeThroughput) サービス起動以来の、単一種別の操作のペースを指します(数/秒)。
累積操作数(CumulativeTotalOps) サービス起動以来、測定された同一タイプの操作の総数を示します。
ヒープ(MB) レプリケーション ノードのJavaヒープ サイズを示します(MB)。
間隔平均遅延(IntervalLatAvg) 指定間隔における操作の平均遅延です。