Apache Solr監視

Apache Solr――概要

SolrはApache Luceneで構築した、ポピュラーでオープン ソースの、大組織向け検索プラットフォームです。分散型の検索とインデックスのレプリケーションによって、Solrは拡張性と耐障害性を重視した設計になっています。クエリのオート バランシングや、自動フェールオーバーとリカバリにより、Solrは世界最大級のインターネットサイト多数で、検索とナビゲーションを駆動させています。

Apache Solr監視――当社が提供すること

ここででは、Applications ManagerでのSolr監視に必要な点や、収集できるパフォーマンス メトリック、Solrの正常稼働を確保する方法を紹介します。

  • リソース利用率詳細:Applications Managerは自動的にSolrサーバー ディスカバリして、メモリとCPUを監視、リソース消費に変化があれば通知します。
  • スレッドとJVMの利用率:ブロックや待機などのステータスを監視し、Solrの読み込み利用率を追跡します。実行中のスレッドがSolrサーバーのメモリに過負荷となるのを防げます。
  • コアとレプリケーションの統計:コアとそのレプリカに加え、インデックス サイズ全般などのステータスも監視します。コアがマスターかスレーブか、レプリケーションのステータスはどうかも確認可能です。
  • 統計、キャッシュ レベルの情報、検索時間を確認・更新:Solrのクエリ ハンドラーがリクエストをさばけているか、検索リクエスト、検索エラー、検索タイムアウト、Lukeリクエストなどのメトリックで確認できます(数/分)。参照、ヒット率、削除(eviction)、キャッシュ サイズなど、キャッシュ レベルの情報を把握可能です。コミット、ロールバック、ドキュメントの追加/削除/保留件数を注視し、更新が適正に行われているかもわかります。検索システムやキャッシュの読み込み速度も監視対象となります。
  • パフォーマンス低下を迅速に解決:Apache Solrのコンポーネントでパフォーマンスの問題が発生すると、ただちに通知します。パフォーマンスのボトルネックを把握し、エンド ユーザー体感に影響する予兆のうちに、手早く是正アクションを起こせます。

Apache Solr――新規監視を追加する

サポート対象のバージョン:Apache Solrバージョン6.0以下

新規監視の作成手順

Apache Solr監視を作成するには、次の手順に従ってください。

  • 新規監視のリンクをクリックします。Apache Solrを選択してください。
  • 監視の表示名を入力してください。
  • Solrインスタンスを実行しているホストのIPアドレスか名前を入力してください。
  • Solrインスタンスを実行しているポート番号を指定します。
  • Apache SolrサーバーでSSLを有効にする場合は、SSLオプションを選択ください。
  • ポーリング間隔を入力してください(分)。
  • Apache Solrサーバーへのアクセスを確認するには、認証情報のテスト ボタンをクリックしてください。
  • Apache Solr監視を関連付ける監視グループを、コンボボックスで選択します(任意項目)。監視は複数グループに関連付け可能です。
  • 監視の追加をクリックすると、ネットワークからApache Solrを検出し、監視が始まります。

AddMonitor APIでApache Solr監視を追加するには

構文

http://[Host]:[Port]http://[Host]:[Port]/AppManager/xml/AddMonitor?apikey=[API_KEY]&type=[TYPE]&displayname=[DISPLAY_NAME]&host=[HOST]&port=[PORT]&SSL=[true/false]
http://[Host]:[Port]/AppManager/xml/AddMonitor?apikey=[API_KEY]&type=[TYPE]&displayname=[DISPLAY_NAME]&host=[HOST]&port=[PORT]&SSL=[true/false]&username=[USER_NAME]&password=[PASS_WORD]

リクエスト パラメーター

APIリクエストにかかわるパラメーターを下に記します。Apache Solr監視の解説ページも参照ください。

フィールド 説明
type 追加するデータベースのタイプです。値はApacheSolrにしてください。
displayname Apache Solr監視の表示名です。
host Apache Solrサーバーを実行しているホストの名前です。
port Apache Solrサーバーが動作するポート番号です。
SSL SSLを有効にするか否かを示します。値はtrueかfalseにしてください。

リクエスト サンプル

http://prod-server8:9091/AppManager/xml/AddMonitor?apikey=90c166a4646e29315a57eca1d6b88858&type=ApacheSolr&displayname=SolrInstance&host=app-xp2&port=8993&ssl=false
http://localhost:9080/AppManager/xml/AddMonitor?apikey=a5f75b0fd164d85bb6730b0c78a5af86&type=ApacheSolr&displayname=SolrInstance&host=localhost&port=7574&ssl=false&username=[USER_NAME]olr&Password=SolrRocks

監視対象のパラメーター

監視タブをクリックし、監視カテゴリ ビューへ移動してください。Webサーバー/サービス テーブルで、Apache Solrをクリックしてください。Apache Solr一括設定ビューが3つのタブに分類・表示されます。

  • 可用性タブでは、過去24時間か30日の可用性履歴を表示します。
  • パフォーマンス タブでは、過去24時間か30日のステータスとイベントを表示します。
  • リスト ビューでは、一括管理設定が可能です。

監視名をクリックすると、全サーバーの詳細が、次のタブに表示されます。

コア詳細

パラメーター 説明

コア詳細

コア総数 単一SolrインスタンスにあるSolrコアの総数です。Solrコアは、それ自体がインデックスの機能を持ち、トランザクション ログや設定ファイルに関連付いています。1インストールに複数コアの設定も可能です。
アクティブ コア アクティブなSolrコアの総数です。すなわち、Solrインスタンスでクエリを行えるステータスにあるコアの数を指します。
リード コア アクティブなSolrリーダー コアの総数です。

コア

コア名 インスタンスに存在するSolrコアの名前です。
ホスト名 Solrを実行しているマシンのホスト名です。
ドキュメント数/分 コレクションへのドキュメント追加ペースを指します(数/分)。
最大ドキュメント/分(Max Docs/Min) コレクションへのドキュメント追加の最高速度を指します(数/分)。
ドキュメント削除/分(Deleted Docs/Min) コレクションからのドキュメントの削除ペースを指します(数/分)。
ステータス コアごとのステータスを、アクティブか非アクティブかで示します。クエリの際はステータスを参照します。
サーチャー ウォームアップ時間 サーチャーがクエリ処理の間にかけるウォームアップ時間です。
平均検索時間 クエリ処理と検索にかかる平均時間です。
レプリケーション
コア名 インスタンスに存在するSolrコアの名前です。
マスター ノード Solrのレプリケーション インスタンスがマスターであるか否かを指します。
スレーブ ノード Solrのレプリケーション インスタンスがスレーブであるか否かを指します。
インデックス サイズ 個別コアのインデックス サイズを指します。
レプリケーション有効 マスター・スレーブ間レプリケーションが有効になっているかどうかを示します。

JVM

パラメーター 説明

スレッド詳細

待期スレッド スレッド ステータス:スレッドは、他のスレッドが特定アクションを起こすのを、無制限に待機しています。
指定された待機期間、待機中のスレッド(TIMED_WAITING) スレッド ステータス:スレッドは他のスレッドがアクションを起こすのを、指定時間、待期しています。
実行可能スレッド スレッド ステータス:スレッドはJava仮想マシン内で実行中です。
ブロックされたスレッド スレッド ステータス:スレッドはブロックされ、モニター ロックを待期しています。
終了スレッド スレッド ステータス:スレッドの存在は終了しています。

メモリ利用率

コア名 インスタンスに存在するSolrコアの名前です。
利用済みメモリ(MB) 占有中のスペースを指します。
空きメモリ(MB) JVMで利用できる空きメモリ総量を指します。
コミット済み仮想メモリ サイズ(MB) Solrコアごとに占有している仮想メモリの総量です。
空き物理メモリ サイズ(MB) Solrコアで利用できる空き物理メモリの総量を指します。
空きスワップ スペース サイズ(MB) 仮想メモリが上限に達したときに、スワップに使える空きメモリの総量を指します。
CPU処理時間(秒) Solrコアごとに命令の実行にかかる総CPU時間を指します。
利用済みメモリ(%) 占有されているスペースの割合を表します(%)。
空きメモリ(%) JVMで利用できる空きメモリの割合を表します(%)。

メモリ利用率

総物理メモリ サイズ Solrが実行・データ記憶に利用できる物理メモリの総量を指します。
総スワップ スペース サイズ 仮想メモリが上限に達したときに利用できる、総スワップ スペース量を指します。
総ヒープ メモリ Solrインスタンスが利用できる総ヒープ メモリです。
最大ヒープ メモリ Solrインスタンスが利用できる最大ヒープ メモリを指します。

コア統計

パラメーター 説明

クエリ ハンドラー

コア名 インスタンスに存在するSolrコアの名前です。
検索リクエスト数/分 Solrコアごとの、検索リクエストへの対応ペースを指します(数/分)。
検索エラー数/分 Solrコアごとの、検索リクエスト中のエラーへの対応ペースを指します(数/分)。
検索タイムアウト数/分 Solrコアごとの、検索リクエスト中のタイムアウトへの対応ペースを指します(数/分)。
平均検索時間 Solrコアごとの、平均時間taken for handling each検索リクエストへの対応ペースを指します(数/分)。
レプリケーション リクエスト数/分 Solrコアごとの、レプリケーション リクエストへの対応ペースを指します(数/分)。
更新リクエスト数/分 Solrコアごとの、更新リクエストへの対応ペースを指します(数/分)。
Lukeリクエスト数/分 Solrコアごとの、Lukeリクエストへの対応ペースを指します(数/分)。
キャッシュ
コア名 インスタンスに存在するSolrコアの名前です。
キャッシュ名 アプリケーション キャッシュの名前です。
参照数/分 Solrクエリ キャッシュ参照の発生ペースを表します(数/分)。
ヒット数/分 クエリ ヒットの発生ペースを表します(数/分)。
ヒット率数/分 キャッシュに既存の情報で対応できたリクエストの比率を、1分ごとに示します。
削除/分(Eviction) キャッシュからのエントリ削除の発生ペースを表します(数/分)。
キャッシュ サイズ(バイト) フィールド値キャッシュのサイズです。
ハンドラーの更新
コア名 インスタンスに存在するSolrコアの名前です。
コミット数/分 コミットの発生ペースを指します(数/分)。1回のコミットで、すべてのロード済みセグメントを、ディスクの1つ以上のセグメント ファイルに書き込みます。
ロールバック数/分 ロールバックの発生ペースを指します(数/分)。ロールバックでは、最新コミット以来、インデックスに行われた追加・削除をすべて元に戻します。
ドキュメント追加数/分 ドキュメント追加の発生ペースを表します(数/分)。
クエリごとドキュメント削除数/分 クエリごとのドキュメント削除の発生ペースを表します(数/分)。
IDごとドキュメント削除数/分 IDごとのドキュメント削除の発生ペースを表します(数/分)。
ドキュメント保留 コミットを保留しているドキュメントEの数です。
エラー数/分 エラーの発生ペースを表します(数/分)。
最適化数/分 最適化の分ごと完了件数を表します。
トランザクション ログの数です。 トランザクション ログの総数です。
トランザクション ログサイズ(バイト) トランザクション ログの総サイズです。

設定

パラメーター 説明
OS名 稼働中のマシンが利用しているOSの名前です。
アーキテクチャ インスタンスを実行しているマシンのアーキテクチャです。
利用可能プロセッサー インスタンスを実行しているマシンで利用できるプロセッサーの総数です。
Javaインストール ディレクトリ Apache Solrが利用するJavaインスタンスのマシンへのインストール先ホームディレクトリを指します。
Javaバージョン Apache Solrがインストール先マシンで利用しているJavaインスタンスのバージョンです。
Javaベンダー Apache Solrがインストール先マシンで利用しているJavaインスタンスのベンダーです。
Jettyホーム Jettyサーバー インストール先マシンのホームディレクトリを指します。
コントローラー ポート Jettyサーバー実行中のマシンのポートを指します。
クライアント名 現在のマシン名
ユーザー ディレクトリ Solrインストール先のホームディレクトリを指します。
Solrバージョン インストールしたSolrのバージョンです。
Luceneバージョン インストールしたLuceneのバージョンです。
デプロイ モード Solrの現在のデプロイ モードを指します(クラウドかスタンドアロン)。
クラスター クライアント タイムアウト ZooKeeper接続確立までの最長タイムアウト設定を指します。