Pandora FMS 用の OpenSearch クラスタの設定

概要

これは、複数の OpenSearch ワーカーノード(オプションで自己署名証明書と SSL 接続を使用)をインストールするための設定ガイドです。データが存在する既存のノードから開始することも、完全に新しいクラスタから開始することもできます。

以下の環境でテスト済みです:

  1. CentOS® 8.4 および 8.5.
  2. Rocky Linux® 8.4, 8.5, 8.6, 8.7 および 9.5.
  3. 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"

次のような出力が得られます。

  • この時点で、クラスタの OpenSearch が完全に機能するはずです。
  • 接続にセキュリティを追加するには、「SSL 認証の追加」を参照してください。
  • Pandora FMS で OpenSearch を設定するには、「ログ収集と監視」を参照してください。

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 を設定するには、「ログ収集と監視」をご覧ください。

Pandora FMS ドキュメント一覧に戻る