ストアのパフォーマンスと可用性に関する情報は、サーバー側とクライアント側の両方の観点から取得できます。
Oracle NoSQL Databaseアプリケーションでは、oracle.kv.KVStore.getStats()
クラスを使用してパフォーマンス統計を取得できます。これは、Oracle NoSQL Database操作の完全なラウンド・トリップのクライアント側のビューを提供します。
Oracle NoSQL Database管理サービスでは、ストアで生成されたステータス情報、アラートおよびパフォーマンス統計コンポーネントを収集し、集計します。これは、Oracle NoSQL Databaseサーバーの動作とパフォーマンスのサーバー側の詳細なビューを提供します。
各Oracle NoSQL Databaseのストレージ・ノードには、そのノードに存在するサービスからのトレース情報の詳細なログが保持されます。管理サービスは、これらのコンポーネント・ログの集計された、ストア全体のビューを示しますが、管理サービスが何らかの理由で使用不能な場合、または各ログを調べた方がよい場合は、ログは各ストレージ・ノードで使用できます。
Oracle NoSQL Databaseでは、Java Management Extensions (JMX)またはSimple Network Management Protocol (SNMP)の各エージェントをオプションで監視に使用できます。SNMPおよびJMXの各インタフェースでは、ストレージ・ノードおよびストレージ・ノードでホストされるすべてのレプリケーション・ノードに関する情報のため、ストレージ・ノードをポーリングできます。詳細は、「標準化されたインタフェース監視」を参照してください。
前述のロギング・メカニズム以外に、管理コンソールを使用してストアの現在の状態を確認することもできます。この情報は、「Topology」ペインに表示されます。現在使用不能なサービスが表示されます。問題のあるサービスは、赤色で強調表示されます。ペインの上部の2行に、使用可能なサービスと使用不能なサービスの数が集計されます。
最後に、CLI内からの検証でストアのステータスを監視できます。詳細は、「ストアの検証」を参照してください。CLIを使用してイベントを調べることもできます。
イベントは、システムの状態を知らせる特別なメッセージです。イベントが生成されると、監視システムを介して転送され、表示されます。ストアによってレポートされるイベントは4種類あります。
状態変化イベントは、サービスの起動または停止時に発行されます。
パフォーマンス・イベントは、様々なサービスのパフォーマンスの統計をレポートします。
ログ・イベントは、様々なシステム・コンポーネントによって生成される、デバッグのトレース情報を示すレコードです。これらのレコードは、標準java.util.logging
パッケージによって生成されます。
プランの変遷イベントは、プランの実行、中断、失敗または取消しの進捗を記録します。
一部のイベントはクリティカルとみなされることに注意してください。これらのイベントは、管理サービスのデータベースに記録され、CLIまたは管理コンソールを使用して取得または表示できます。
プランの変遷イベントは、Oracle NoSQL Databaseの管理インタフェースを使用して直接表示することはできません。ただし、状態変化イベント、パフォーマンス・イベントおよびログ・イベントは、管理内部のEventRecorder機能を使用して記録されます。クリティカルとみなされるイベントのみが記録され、そのようにみなされる基準は、イベントの種類によって異なります。状態変化イベントはすべてクリティカルとみなされますが、ログ・イベントはSEVEREのみがクリティカルとみなされます。パフォーマンス・イベントは、レポートされるパフォーマンスが特定のしきい値を下回る場合にクリティカルとみなされます。
そのようなイベントはすべて、show events
およびshow event
コマンドを使用してCLIで表示できます。
引数を指定せずにCLIのshow events
コマンドを使用すると、データベース内のすべての有効期限内のイベントが表示されます。-from
および-to
引数を使用して表示されるイベントの範囲を設定できます。また、-type
引数を使用してタイプでイベントをフィルタすることもできます。
たとえば、これは、show events
コマンドからの出力です。
gt0hgvkiS STAT 09-25-11 16:30:54:162 EDT rg2-rn3 RUNNING sev1 gt0hgvkjS STAT 09-25-11 16:30:41:703 EDT rg1-rn1 RUNNING sev1 gt0hgvkkS STAT 09-25-11 16:30:51:540 EDT rg2-rn2 RUNNING sev1 gt0hicphL LOG 09-25-11 16:32:03:29 EDT SEVERE[admin1] Task StopAdmin failed: StopAdmin [INTERRUPTED] start=09-25-11 16:32:03 end=09-25-11 16:32:03 Plan has been interrupted.: null: java.lang.InterruptedException
これは、3つの状態変化イベントと1つの重大なログ・イベントを示します。各行の先頭のタグは、各イベント・レコードの識別子です。特定のイベントの詳細な情報を表示する場合、イベント・レコード識別子を引数として"show event"コマンドを使用します。
kv-> show event gt0hicphL gt0hicphL LOG 09-25-11 16:32:03:29 EDT SEVERE[admin1] Task StopAdmin failed: StopAdmin [INTERRUPTED] start=09-25-11 16:32:03 end=09-25-11 16:32:03 Plan has been interrupted.: null: java.lang.InterruptedException at java.util.concurrent.locks.AbstractQueuedSynchronizer. doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1024) at java.util.concurrent.locks.AbstractQueuedSynchronizer. tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1303) ....
完全なスタック・トレースは、このようになります。
イベントは、設定された期間(デフォルトは30日)を過ぎると、システムから失効されます。