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]
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
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接続確立までの最長タイムアウト設定を指します。 |