Elasticsearch監視
Elasticsearch――概要
Elasticsearchは拡張性に優れた分散型オープン ソース システムで、RESTfulな検索と分析のエンジンとなっています。Webインターフェースでマルチテナントの管理ができるほか、スキームレスのJSONデータを扱えます。Apache Luceneを利用した大組織向け検索エンジンとして人気があり、ログ解析、アプリケーションのリアルタイム監視、ページ移動分析などで、増え続ける課題を解決する能力があります。
Elasticsearchの監視ーー当社が提供すること
ここでは、Elasticsearch監視に必要なことや、収集するパフォーマンス メトリック、Applications Managerで検索サーバーの正常稼働を確認する方法を紹介します。
- リソース利用率詳細:Applications ManagerはElasticsearchサーバーの自動ディスカバリを実行、メモリとCPUを監視して、スレッド プール キューのリソース消費の変動は通知します。
- リアルタイム データ:クラスター実行メトリック、それぞれのクラスター ノード、タイムスレッド、設定で、最新情報がわかります。
- クラスターとノード監視:JavaのディスクI/Oからメモリ利用率にいたるまで、クラスターとノードのパフォーマンス統計を、いつでも精密に把握できます。
- 検索・インデックスのパフォーマンス:インデックス化とマッピングを完全に制御できます。クエリ遅延、ファイル システム キャッシュ利用率、リクエスト レートを監視します。しきい値超過の際はアクションを起こします。
- パフォーマンス低下を迅速に解決:パフォーマンスの問題があれば、直ちに通知が行われます。エンド ユーザー体感に問題が生じる前からボトルネックを把握し、すばやい是正措置が可能です。
新規Elasticsearch監視を作成するには
REST APIで新規Elasticsearch監視を追加する:こちらをクリックしてください。
Elasticsearch監視を作成するには、次の手順に従ってください。
- 新規の監視をクリックし、Elasticsearchクラスターを選びます。
- Elasticsearch監視の表示名を指定します。
- Elasticsearchクラスターを実行しているホストの名前かIPアドレスを入力してください。
- Elasticsearchクラスターのポートを入力してください。デフォルトでは9200番です。
- ポーリング間隔を入力してください(分)。
- Elasticsearchサーバーにアクセス可能か確認するには、認証情報のテスト ボタンをクリックしてください。
- コンボボックスから、監視グループに関連付けるElasticsearchを選択します(任意項目)。監視は複数グループに関連付け可能です。
- 監視の追加をクリックすると、ネットワークからElasticsearchをディスカバリして監視を始めます。
デモ
監視対象のパラメーター
監視タブをクリックし、監視カテゴリ ビューへ移動してください。Webサーバー/サービス テーブルで、ElasticsearchかElasticsearchClusterの監視をクリックします。ElasticsearchやElasticsearchクラスターの一括設定ビューが、3つのタブに分類・表示されます。
- 可用性タブでは、過去24時間か30日の可用性履歴を表示します。
- パフォーマンス タブでは、過去24時間か30日のステータスとイベントを表示します。
- リスト ビューでは、一括管理設定が可能です。
監視名をクリックすると、全サーバーの詳細が、次のタブに表示されます。
Elasticsearchクラスター
概要
| パラメーター | 説明 |
|---|---|
| ノード詳細 | |
| クラスター名 | ノードが置かれているクラスターの名前です。 |
| ノード名 | ノードの名前です。 |
| ノード タイプ | ノードのタイプを表します(クライアント、データ、マスター候補[master eligible]、マスター データ)。 |
| 平均クエリ時間 | 検索操作の最初のフェーズはクエリです。この値は、全シャードでのクエリ処理の時間から計算します。 |
| 平均取得時間 | 検索操作の第2フェーズは取得です。この値は、リクエスト データが存在したシャードでの、クエリ結果取得時間のみを計上します。 |
| クラスター概要 | |
| クラスター ステータス | クラスターのステータスで。クラスターのレプリカに依存して決まります。 |
| 総ノード | クラスター内のノードの総数です。 |
| 総インデックス | クラスター内のインデックスの総数です。 |
| 総シャード | クラスター内のシャードの総数です。 |
| 総ドキュメント | クラスターに存在するドキュメントの総数です。 |
| 総保留タスク | クラスター内の保留中のタスクの総数です。 |
クラスター詳細
| パラメーター | 説明 |
|---|---|
| ノードの内訳 | |
| クライアント ノード | クラスター内のクライアント ノードの総数です。 |
| データ ノード | クラスター内のデータ ノードの総数です。 |
| マスター ノード | クラスター内のマスター候補ノードの総数です。 |
| データ マスター ノード | データ ノードのうち、クラスターのマスター候補でもあるものの数を表します。 |
| シャード数 | |
| アクティブ シャード | クラスターに存在するアクティブ シャードの数です。 |
| アクティブ プライマリ シャード | クラスターに存在するアクティブなプライマリ シャードの数です。 |
| 再配置中のシャード | クラスターに存在する再配置中のシャードの数です。 |
| 初期化中のシャード | クラスターに存在する初期化中のシャードの数です。 |
| 未割り当てのシャード | クラスターに存在する未割り当てのシャードの数です。 |
| 遅延未割り当てのシャード | クラスターに存在する遅延未割り当てのシャードの数です。 |
| 総シャード | クラスターにあるシャードの総数です。 |
| アクティブ シャード率(%) | アクティブ シャードの割合を表します(%)。 |
| アクティブ プライマリ シャード率(%) | アクティブ プライマリ シャードの割合を表します(%)。 |
| 再配置中のシャード率(%) | 再配置中のシャードの割合を表します(%)。 |
| 初期化中のシャード率(%) | 初期化中のシャードの割合を表します(%)。 |
| 未割り当てのシャード率(%) | 未割り当てのシャードの割合を表します(%)。 |
| 遅延未割り当てのシャード率(%) | 遅延未割り当てのシャードの割合を表します(%)。 |
| 保留中のタスク | |
| 挿入順序 | キューへのタスク挿入の順序を表します。 |
| 優先度 | タスクごとに割り当てられた優先度を表します。 |
| ソース | 保留中タスクのソースを指します。 |
| キュー内時間 | キュー内でタスクが待期している合計時間を表します。 |
インデックス
| パラメーター | 説明 |
|---|---|
| インデックス概要 | |
| インデックス名 | ドキュメントのコレクション1つを表すインデックスの名前です。 |
| ドキュメント | あるインデックスに存在するドキュメントの数を表します。 |
| インデックス化遅延 | ドキュメント1つを特定インデックスに追加する際にかかる時間を表します(ミリ秒)。 |
| インデックス化レート | 1秒にインデックス化されるドキュメントの数を表します。 |
| クエリ遅延 | あるインデックスへのクエリ処理にかかる時間を表します(ミリ秒)。 |
| クエリ レート | クエリ処理速度を表します(数/秒)。 |
| 取得遅延 | あるインデックスで、クエリ実行とデータ取得にかかる時間を示します(ミリ秒)。 |
| 取得レート | あるインデックスでの、クエリ実行とデータ取得の速度を表します(数/秒)。 |
| 現在のマージ | あるインデックスで発生した、マージの数を指します。 |
| マージ時間 | あるインデックスで複数セグメントのマージにかかる時間を表します(ミリ秒)。 |
| フラッシュ時間 | ディスクに1つ以上のインデックスをフラッシュするのにかかる時間を指します(ミリ秒)。 |
| リフレッシュ時間 | インデックス1つのリフレッシュにかかる時間です(ミリ秒)。 |
設定
| パラメーター | 説明 |
|---|---|
| 設定詳細 | |
| クラスター名 | クラスターの名前です。 |
| クラスター ステータス | クラスターのステータスです。 |
| 総ノード | クラスター内のノードの総数です。 |
| マスター ノード名 | クラスターでのマスター ノード名前です。 |
| マスター ノード ポート | Elasticsearchを実行しているマスター ノードのポートを示します。 |
| マスター ノードIP | マスター ノードの実行IPアドレスです。 |
| 出版ポート | クラスターの出版ポートです。 |
Elasticsearch
概要
| パラメーター | 説明 |
|---|---|
| 平均システム負荷 | |
| 平均システム負荷 | システムが処理する負荷の平均値を指します(最新1分、5分、15分)。 |
| CPU利用率 | |
| CPU利用率 | ノードが利用しているCPUの量を指します(%)。 |
| 検索時間 | |
| 平均クエリ時間 | 検索操作の最初のフェーズはクエリです。この値は、全シャードでのクエリ処理の時間から計算します。 |
| 平均取得時間 | 検索操作の第2フェーズは取得です。この値は、リクエスト データが存在したシャードでの、クエリ結果取得時間のみを計上します。 |
| セグメント時間 | |
| 平均マージ時間 | ノードでのセグメント マージにかかる時間を示します。ElasticsearchのノードはLuceceインデックスであり、セグメントへと分割されます。セグメントは定期的にンデックスへの大きな単位にマージしなおし、インデックスの肥大を防ぐとともに、削除へのマークと物理削除の双方を行います(expunge detele)。 |
| 平均リフレッシュ時間 | インデックスのリフレッシュにかかる平均時間を示します。Luceneインデックスのファイル操作が多いと、リフレッシュ時間も長くなります。 |
| インデックス化時間 | |
| 平均インデックス時間 | ドキュメントのインデックス化にかかる平均時間です。ドキュメントはインデックス化されており、検索可能状態で保存されています。 |
| 平均削除時間 | 既存インデックスの削除にかかる平均時間です。 |
| インデックス化数 | インデックス化されたドキュメントの数です。 |
| 削除数 | 削除されたドキュメントの数です。 |
| インデックス化レート | 1秒にインデックス化されるドキュメントの数を表します。 |
| GET時間 | |
| 平均GET時間 | 1つ以上のインデックス情報の取得にかかる平均時間を示します。 |
| 実在GET数(Existing Count) | 存在するGETリクエストの数を表します。 |
| 欠損GET数(Missing Count) | 欠けているGETリクエストの数を表します。 |
| フラッシュ時間 | |
| 平均フラッシュ時間 | 1つ以上のインデックスをディスクにフラッシュするのにかかる平均時間を示します。インデックスのフラッシュによって、データのディスクへの置き換えだけでなく、内部トランザクションのログクリアも実行され、メモリが開放されます。 |
| ウォーマー時間 | |
| 平均ウォーマー時間 | インデックスでウォームアップ検索の実行にかかる平均時間を指します。インデックスのウォームアップによって、インデックスを検索可能とする前に、検索リクエストの登録ができます。 |
| パーコレート時間 | |
| 平均パーコレート時間 | パーコレーター クエリの実行にかかる平均時間です(パーコレーターとは、コーヒーの抽出器具を意味します)。Elasticsearchの特徴で、パーコレーターによる逆方向検索の能力があります。パーコレーター クエリはクエリ タームを自動的にインデックス化しており、これによってパーコレートの高速実行が可能となっています。 |
メモリ詳細
ダイレクト バッファー プールで利用中の総スペースです。
| パラメーター | 説明 |
|---|---|
| ヒープ メモリ | |
| 利用済みヒープ率(%) | 利用中のJVMヒープの割合を表します(%)。 |
| 空きヒープ率(%) | 現在空いているJVMヒープの割合を表します(%)。 |
| 非ヒープ メモリ | |
| 利用済み非ヒープ率(%) | 利用中の非ヒープ メモリの割合を表します(%)。 |
| 空き非ヒープ率(%) | 空きヒープ メモリの割合を表します(%)。 |
| ガベージ コレクション | |
| GC時間:若い世代 | 若い世代のガベージ コレクションにかかった総時間を示します。 |
| GC時間:古い世代 | 古い世代のガベージ コレクションにかかった総時間を示します。 |
| GC数:若い世代 | 若い世代のガベージ コレクションの総数です。 |
| GC数:古い世代 | 古い世代のガベージ コレクションの総数です。 |
| バッファー プール | |
| ダイレクト バッファー利用スペース | ダイレクト バッファー プールで利用中の総スペースを指します。 |
| マップされたバッファー利用スペース | マップされたバッファー プールで利用中の総スペースを指します。 |
| ダイレクト バッファー接続数 | 総接続ダイレクト バッファー プールへ |
| マップされたバッファー接続数 | 総接続マップされたバッファー プールへ |
I/O詳細
| パラメーター | 説明 |
|---|---|
| ディスクI/O数 | |
| ディスク読み込み数 | Elasticsearchによるディスクからの読み込みリクエストの数を表します。 |
| ディスク書き込み数 | Elasticsearchによるディスクへの書き込みリクエストの数を表します。 |
| ディスクI/Oサイズ | |
| ディスク読み込みサイズ | Elasticsearchによるディスクからの書き込みリクエストの総サイズです。 |
| ディスク書き込みサイズ | Elasticsearchによるディスクへの書き込みリクエストの総サイズです。 |
| キャッシュ詳細 | |
| キャッシュ名 | キャッシュの名前です。 |
| 総サイズ(MB) | キャッシュのサイズです。 |
| 削除(Eviction) | フィルター キャッシュからの削除の数を表します。 |
| ブレーカー詳細 | |
| ブレーカー名 | サーキット ブレーカーの名前です。サーキット ブレーカーは、リクエスト処理で利用可能メモリが不足した場合にそなえるしくみです。OutOfMemoryの例外が発生するとJVMが応答しなくなるため、サーキット ブレーカーでそれを回避し、クエリを落とすほうが得策なことがあります。 |
| 上限サイズ(MB) | ブレーカーの上限サイズです。 |
| 利用済みサイズ(MB) | ブレーカーの利用サイズです。 |
| トリップ | サーキット ブレーカーがトリップした回数の合計を表します。 |
スレッド プール
| パラメーター | 説明 |
|---|---|
| スレッド詳細 | |
| スレッド名 | スレッドの名前です。 |
| 設定済みスレッド | 現在の設定済みタイプのスレッド数です。 |
| キュー | キューにある現タイプのスレッドの数を表します。 |
| アクティブ | 現タイプのアクティブ スレッドの数を表します。 |
| 拒否済み | 現タイプの拒否済みスレッドの数を表します。 |
| 最大 | 現タイプの最大スレッドの数を表します。 |
ネットワーク
| パラメーター | 説明 |
|---|---|
| トランスポート | |
| 送信バイト | ネットワークでの送信データ量を示します(バイト)。クラスター通信のトランスポート メトリックです。 |
| 受信バイト | ネットワークでの受信データ量を示します(バイト)。クラスター通信のトランスポート メトリックです。 |
| 送信パケット | ネットワークでの送信パケット数を表します。クラスター通信のトランスポート メトリックです。 |
| 受信パケット | ネットワークでの受信パケット数を表します。クラスター通信のトランスポート メトリックです。 |
| TCPコネクター | |
| アクティブ接続 | アクティブTCP接続の数です。 |
| パッシブ接続 | パッシブTCP接続の数です。 |
| HTTPコネクター | |
| 現在の接続 | 現在アクティブなHTTP接続の数です。 |
| 接続総数 | HTTP接続の総数です。 |
設定
| パラメーター | 説明 |
|---|---|
| 設定詳細 | |
| クラスター名 | クラスターの名前です。 |
| ノード名 | クラスター内のノードの名前です。 |
| ノード タイプ | ノードのタイプです(クライアント、データ、マスター候補[master eligible]、データ マスター)。 |
| ホスト | ホストのIPアドレスです。 |
| Elasticsearchバージョン | インストールされているElasticsearchのバージョンです。 |
| ポート | Elasticsearchを実行しているポートを指します。 |
| Elasticsearchホーム | Elasticsearchのホームディレクトリです。 |
| プロセッサー総数 | 現在のノードにあるプロセッサーの総数です。 |
| Javaバージョン | ノードで実行しているJavaのバージョンです。 |
| Javaベンダー | Javaベンダーを表します。 |
