12.2 Elasticsearchのインストールと設定

イベントのインデックス作成をスケーラブルかつ分散型で行うには、Elasticsearchをクラスタモードでインストールする必要があります。Sentinel用にインストールするElasticsearchクラスタは、Sentinelデータのインデックス作成にのみ使用しなければなりません。

12.2.1 前提条件

Elasticsearchをインストールする前に、次の前提条件を満たします。

  • /etc/sysctl.confファイルに次のプロパティを追加して、仮想メモリを設定します。

    vm.max_map_count=262144

  • /etc/security/limits.confファイルに次のプロパティを追加して、ファイル記述子を設定します。

    elasticsearch hard nofile 65536

    elasticsearch soft nofile 65536

12.2.2 Elasticsearchのインストールと設定

Elasticsearchと必要なプラグインをElasticsearchクラスタの各ノードにインストールする必要があります。

Elasticsearchをインストールし、設定するには次のようにします。

  1. ElasticsearchでサポートされているJDKバージョンをインストールします。

  2. Elasticsearch RPMの認定バージョンをダウンロードします。Elasticsearchの認定バージョンの詳細とダウンロードURLについては、『Technical Information for Sentinel』ページを参照してください。

  3. Elasticsearchをインストールします。

    rpm -i elasticsearch-<version>.rpm

  4. RPMのインストール後の手順で説明されているタスクを実行します。

  5. 次のコマンドを実行して、ElasticsearchユーザがJavaにアクセスできることを確認します。

    sudo –u elasticsearch java –version

  6. 次の情報を更新または追加して、/etc/elasticsearch/elasticsearch.ymlファイルを設定します。

    プロパティと値

    備考

    cluster.name: <Elasticsearch _cluster_name>

    指定するクラスタ名は、すべてのノードで同じである必要があります。

    node.name: <node_name>

    ノード名は、各ノードで固有である必要があります。

    network.host: _<networkInterface>:ipv4_

     

    discovery.zen.ping.unicast.hosts: ["<FQDN of elasticsearch node1>", "<FQDN of elasticsearch node2>", "以下同様"]

     

    bootstrap.mlockall: true

     

    threadpool.bulk.queue_size: 300

     

    threadpool.search.queue_size: 10000

    検索キューのサイズがその制限に達すると、Elasticsearchではキュー内で保留中の検索要求が破棄されます。

    次の計算に基づき、検索キューのサイズを増やすことができます。threadpool.search.queue_size = 1ダッシュボードのユーザごとのウィジェットクエリの平均数x1日のインデックスごとのシャード数x日数(検索期間)

    index.codec: best_compression 

     

    path.data: ["/<es1>", "/<es2>"]

    データを複数の独立したディスクまたは場所に分散させ、ディスクI/Oを縮小します。

    Elasticsearchデータを格納するための複数のパスを設定します。たとえば、/es1、/es2などです。

    最高のパフォーマンスと管理性を得るため、それぞれのパスを個別の物理ディスク(JBOD)にマウントします。

    index.merge.scheduler.max_thread_count: 3

    マージを別々のスレッドで並列して実行すると、Elasticsearchの書き込み速度が最適化されます。

  7. /etc/sysconfig/elasticsearchファイルでES_HEAP_SIZEプロパティを変更し、デフォルトのElasticsearchヒープサイズを更新します。

    ヒープサイズは、サーバメモリの50%である必要があります。たとえば、24GBのElasticsearchノードの場合、12GBをES_HEAP_SIZEプロパティに割り当てると、最適なパフォーマンスを得られます。

  8. Elasticsearchを再起動します。

    /etc/init.d/elasticsearch restart

  9. 保持ポリシーが適用されている場合に、インデックスが作成されているデータをデータ保持ポリシーで効率的に削除するには、Delete-By-Queryプラグインをダウンロードしてインストールします。

    サーバにファイルを直接ダウンロードできない高度にセキュリティ保護された環境では、インターネットへのアクセスが可能なコンピュータに手動でプラグインをダウンロードし、そのファイルをElasticsearchノードにコピーしてから、プラグインをインストールする必要があります。

    Delete-By-Queryプラグインのインストールの詳細は、Elasticsearchのマニュアルを参照してください。

  10. (オプション) Elasticsearch Headプラグインをインストールして、Elasticsearchクラスタの基本的な監視を実行します。

    Elasticsearch Headプラグインのインストールの詳細は、Elasticsearch Headプラグインのマニュアルを参照してください。

  11. Elasticsearchクラスタの各ノードで上記の手順をすべて繰り返します。