Pandora FMS 用の OpenSearch クラスタの設定
概要
これは、複数の OpenSearch ワーカーノード(オプションで自己署名証明書と SSL 接続を使用)をインストールするための設定ガイドです。データが存在する既存のノードから開始することも、完全に新しいクラスタから開始することもできます。
以下の環境でテスト済みです:
- CentOS® 8.4 および 8.5.
- Rocky Linux® 8.4, 8.5, 8.6, 8.7 および 9.5.
- RedHat® 8.5 および 9.5 .
Pandora FMS サーバと OpenSearch を独立したサーバに分散することをお勧めします。
スクリプトインストール
Pandora FMS で動作する各ノードに必要な インストール 処理は、次のファイルをダウンロードして実行することにより行えます (カスタマイズ可能)。
bash pandorafms-opensearch-el
デフォルト環境変数
[ “$CLUSTER_NAME” ], デフォルト値:CLUSTER_NAME='pandora_opensearch'.[ “$OPENSEARCH_PASS” ], デフォルト値:OPENSEARCH_PASS=“P4nd0r4!FMS”.
env CLUSTER_NAME="pandora_opensearch" \ OPENSEARCH_PASS="P4nd0r4!FMS" \ bash -c "$(curl -SsL https://pfms.me/pandorafms-opensearch-el)"
全ノードでの設定
これらの手順は各ノードに対して実行する必要がありますが、各コンピュータのメモリや、データを持つ既存のノードであるかどうかなど、いくつかの側面は各ノードごとにカスタマイズする必要があります。
- 各ノードのネットワークファイアウォールを無効にします。
systemctl stop firewalld
- お気に入りのテキストエディターを使用して、
/etc/opensearch/opensearch.ymlファイルを開き、いくつか変更を加えます。
以下の行をコメントアウト(または削除)します。
discovery.type: single-node │
セキュリティを一時的に無効にするために、最後に次の行を追加します。
plugins.security.disabled: true
discovery hosts をIPアドレスまたは DNS 名で設定します。行は以下の構造を持つ必要があります。すべてのネットワーク要素が含まれるように、置き換え、追加、または削除します。
discovery.seed_hosts: ["172.42.42.101", "172.42.42.102", "172.42.42.103"]
各ネットワークの必要に応じて、manager host を設定します。行は以下の構造を持つ必要があります。各行を置き換え、削除、または追加します(ノード識別子としてデフォルトで使用されるマシンのホスト名、または YAML から取得したカスタムノード識別子を必要に応じて含める必要があります)。
cluster.initial_cluster_manager_nodes: ["rocky8-node1", "rocky8-node2", "rocky8-node3"]
変更を保存してテキストエディタを終了します。
- 各ノードのメモリ設定
メモリ設定は、使用可能なメモリからシステムに必要なメモリを差し引いた値よりも小さくする必要があります。したがって、OpenSearch 用に 4GB を設定する必要がある場合、システムに少なくとも 6GB(OpenSearch 用に 4GB、システム用に 2GB)の空き容量が必要です。
計算が完了したら、その数値を使ってメモリサイズを /etc/opensearch/jvm.options ファイルで指定します。
-Xms4g -Xmx4g
変更を保存してテキストエディタを終了します。
- クリーンノード上のデータディレクトリを削除します。
クラスタをデータが含まれる単一のノードから拡張している場合は、データを含むノードではなく、新しいノードのデータディレクトリをクリーンアップするだけです。
ノードが新規の場合、OpenSearch サービスを停止し、データをクリアします。
systemctl stop opensearch rm -rf /var/lib/opensearch/*
OpenSearch サービスを再起動します。
systemctl restart opensearch
- ローカルでノードを確認します
curl "http://127.0.0.1:9200/_cat/nodes?v"
次のような出力が得られます。
SSL 接続によるセキュリティ設定
- ファイアウォールを有効にしてルールを追加します。
systemctl start firewalld firewall-cmd --zone=public --add-port=9300/tcp --permanent firewall-cmd --zone=public --add-port=9200/tcp --permanent firewall-cmd --reload
- OpenSearch でセキュリティを有効にします。
お気に入りのテキストエディタを使用して、ファイル /etc/opensearch/opensearch.yml を開き、次の行の値を false に設定します。
plugins.security.disabled: false
自己署名証明書の場合は、ファイルの末尾に次の行を追加します。
plugins.security.ssl.transport.enforce_hostname_verification: false
変更を保存してテキストエディタを終了します。
- 証明書をコピーします。
インストール手順で生成した自己署名証明書が使用されます。マスターノードから他のノードに証明書をコピーします。
ノード 1 (node_n を他の各ノードに置き換えます):
tar cvzf certs.tar.gz /etc/opensearch/*.pem scp certs.tar.gz root@node_n:
次に、他の各ノードで以下を実行します。
tar xvzf certs.tar.gz cp etc/opensearch/* /etc/opensearch/
他の各ノードで、OpenSearch サービスを再起動します。
systemctl restart opensearch
ノードを確認します。
curl -XGET -ku admin:'P4nd0r4!FMS' "https://127.0.0.1:9200/_cat/nodes?v"
上記と同様のクラスタへの呼び出し検証は、HTTPS とユーザ名およびパスワード認証の両方を使用して実行する必要があります。
この時点で、クラスタの OpenSearch は完全に機能する SSL 接続を備えているはずです。Pandora FMS で OpenSearch を設定するには、「ログ収集と監視」をご覧ください。
OpenSearch クラスタの負荷分散と高可用性
After successfully installing an OpenSearch cluster, it can be configured so that a primary server distributes the workload evenly (or as needed) among the nodes registered in the cluster. This is known as load balancing, and secondary servers can also be added that will start working if the primary one fails. This feature is referred to as high availability.
OpenSearch クラスタのインストールに成功したら、プライマリサーバがクラスタに登録されたノード間でワークロードを均等に(または必要に応じて)分散するように設定できます。これは「ロードバランシング」と呼ばれます。また、プライマリサーバに障害が発生した場合に稼働を開始するセカンダリサーバを追加することもできます。この機能は「高可用性」と呼ばれます。
上記のすべてについては、「HAProxy を使用した OpenSearch クラスタ負荷分散」の章で説明しています。

