Pandora: Documentation ja: Share /var/spool directory between several Pandora servers

From Pandora FMS Wiki
Jump to: navigation, search

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

1 /var/spool ディレクトリの複数 Pandora サーバでの共有

Pandora FMS データサーバは、 /var/spool/pandora/data_in ディレクトリを利用し、ソフトウエアエージェントに送受信する情報を管理します。

このディレクトリはまた、Pandora コンソールからもアクセスできる必要があります。エージェントに送信する設定やコレクションにアクセスするためです。

複数のコンソールと複数のサーバがある場合、それぞれのコンソールは、サーバが対応しているエージェントを管理することができます。

ここで、複数の Pandora サーバが共通の環境で動作している場合を想定します。

Nfs schema.png

それぞれのサーバのエージェントは、data_in フォルダを使って割り当てられたデータサーバと通信します。単一コンソールで、複数のデータサーバがある構成では、共通の情報として spool を共有するために NFS を使ってエージェント管理を一元化します。

1.1 はじめに

nfs-utilsパッケージを NFS でディレクトリを共有するすべてのシステムにインストールします。

yum install -y nfs-utils

1.2 NFS サーバの設定

/etc/exportを編集し、次の行を加えます。

/var/spool/pandora/data_in [IP_CLIENTE](rw,sync,no_root_squash,no_all_squash)

ここで、[IP_CLIENTE] は、リソースを共有するシステムの IP アドレスです。

例:

/var/spool/pandora/data_in/conf [IP_CLIENTE](rw,sync,no_root_squash,no_all_squash)
/var/spool/pandora/data_in/collections [IP_CLIENTE](rw,sync,no_root_squash,no_all_squash)
/var/spool/pandora/data_in/md5 [IP_CLIENTE](rw,sync,no_root_squash,no_all_squash)
/var/spool/pandora/data_in/netflow [IP_CLIENTE](rw,sync,no_root_squash,no_all_squash)

システムのファイヤーウォールが有効になっている場合は、必要なポートを開けます。

# CentOS
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --reload


完了したら、サービスを起動します。

# CentOS
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap


システム起動時に NFS が開始するように設定します。

systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap


/etc/export の設定を変更したら、nfs-server を再起動します。

systemctl restart nfs-server

1.3 NFS クライアントの設定

注意: apache がインストールされていないシステムの場合(インストールは必須ではありません)は、競合が発生しないように /etc/passwd および /etc/group に apache を追加します。

echo "apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin" >> /etc/passwd
echo "apache:x:48:" >> /etc/group

フォルダーのパーミッションを確認します。

chown pandora:apache /var/spool/pandora/data_in
chmod 770 /var/spool/pandora/data_in


リモートのディスクをマウントできるか確認します。

mount -t nfs [IP_SERVIDOR_NFS]:/var/spool/pandora/data_in/conf /var/spool/pandora/data_in/conf
mount -t nfs [IP_SERVIDOR_NFS]:/var/spool/pandora/data_in/md5 /var/spool/pandora/data_in/md5
mount -t nfs [IP_SERVIDOR_NFS]:/var/spool/pandora/data_in/collections /var/spool/pandora/data_in/collections
mount -t nfs [IP_SERVIDOR_NFS]:/var/spool/pandora/data_in/netflow /var/spool/pandora/data_in/netflow

ここで、[IP_SERVIDOR_NFS] は、NFS サービスを提供するサーバの IP アドレスです。

例:

mount -t nfs 192.168.70.10:/var/spool/pandora/data_in/conf /var/spool/pandora/data_in/conf
mount -t nfs 192.168.70.10:/var/spool/pandora/data_in/md5 /var/spool/pandora/data_in/md5
mount -t nfs 192.168.70.10:/var/spool/pandora/data_in/collections /var/spool/pandora/data_in/collections
mount -t nfs 192.168.70.10:/var/spool/pandora/data_in/netflow /var/spool/pandora/data_in/netflow

上記のコマンドが失敗した場合は、以下を確認します。 - ファイヤーウォールの状態 - root で実行しているかどうか - マウントポイントのディレクトリが存在するかどうか

ここまでですべて問題がなければ、再起動した時に自動的にマウントされるように /etc/fstab を設定します。

/etc/fstab ファイルに次の行を追加します。

[IP_SERVIDOR_NFS]:/var/spool/pandora/data_in/conf    /var/spool/pandora/data_in/conf   nfs defaults 0 0
[IP_SERVIDOR_NFS]:/var/spool/pandora/data_in/md5    /var/spool/pandora/data_in/md5   nfs defaults 0 0
[IP_SERVIDOR_NFS]:/var/spool/pandora/data_in/collections    /var/spool/pandora/data_in/collections   nfs defaults 0 0
[IP_SERVIDOR_NFS]:/var/spool/pandora/data_in/netflow    /var/spool/pandora/data_in/netflow    nfs defaults 0 0

ここで、[IP_SERVIDOR_NFS] は、NFS サービスを提供しているサーバの IP アドレスです。

1.4 Tentacle サーバを NFS 同時アクセス用に設定する

環境の準備ができたら、両方のコンピュータの Tentacle サーバを設定して、XML ファイルが別々のフォルダーに分散されるようにし、データサーバーが両方の Pandora FMS サーバでファイルを処理するときの同時実行を回避します。

それには、/var/spool/pandora/data_in ディレクトリに 2つのフォルダを作成します。

mkdir /var/spool/pandora/data_in/xml_srv1
mkdir /var/spool/pandora/data_in/xml_srv2

両方のディレクトリのパーミッションを調整します。

chmod pandora:apache /var/spool/pandora/data_in/xml_srv1
chmod pandora:apache /var/spool/pandora/data_in/xml_srv2

/etc/init.d/tentacle_serverd ファイル内で XML ファイルフォルダの設定をするための TENTACLE_EXT_OPTS の値を編集します。

TENTACLE_EXT_OPTS="-i.*\.conf:conf;.*\.md5:md5;.*\.zip:collections"

サーバ 1 では、次のようになります。

TENTACLE_EXT_OPTS="-i.*\.conf:conf;.*\.md5:md5;.*\.zip:collections;.*\.data:xml_srv1"

サーバ 2 では、次のようになります。

TENTACLE_EXT_OPTS="-i.*\.conf:conf;.*\.md5:md5;.*\.zip:collections;.*\.data:xml_srv2"

最後に、両方の Pandora FMS サーバの設定ファイルを次のように編集します。

# Pandora FMS server number 1
# incomingdir:  It defines directory where incoming data packets are stored
# You could set directory relative to base path or absolute, starting with /
incomingdir /var/spool/pandora/data_in/xml_srv1


# Pandora FMS server number 2
# incomingdir:  It defines directory where incoming data packets are stored
# You could set directory relative to base path or absolute, starting with /
incomingdir /var/spool/pandora/data_in/xml_srv2

すべての変更が完了したら、両方のサーバで pandora_server サービスと tentacle_serverd サービスの両方を再起動します。