Chef 経由で CentOS 7 に NRPE をインストールしました。これは、すべての CentOS 6 サーバーで使用しているのと同じレシピで、そこでも動作します。NRPE は起動しますが、ここでエラーが発生します。
Jun 13 15:12:21 myserver nrpe[3667]: Could not open config directory '/etc/nagios/nrpe.d' for reading.
Jun 13 15:12:21 myserver nrpe[3667]: Continuing with errors...
すべてのサーバー設定は /etc/nagios/nrpe.d にあります。これが私の cfg です:
pid_file=/var/run/nrpe.pid
server_port=5666
nrpe_user=nagios
nrpe_group=nagios
dont_blame_nrpe=0
debug=0
command_timeout=60
allowed_hosts=127.0.0.1,192.168.1.14
include_dir=/etc/nagios/nrpe.d
/etc/nagios/nrpe.d の権限は次のとおりです。
# ls -atlr /etc/nagios/
-rwxrwxrwx. 1 nagios nagios 248 Jun 13 14:45 nrpe.cfg
drwxrwxrwx. 2 nagios nagios 89 Jun 13 14:51 nrpe.d
NRPE で config ディレクトリ内の構成を読み取るにはどうすればよいですか?
答え1
私も同じ問題に遭遇しました。解決するには、以下の手順をご覧ください。
- コマンドまたはコマンドを使用して、ファイルの権限
/etc/nagios/nrpe.cfg
と SELinux ステータスを確認します。「無効」と表示されている場合、問題はありません。「許可」と表示されている場合、問題はありませんが、「強制」と表示されている場合、次の手順を実行します。sestatus
getenforce
SELinuxを強制モードにする必要がある場合は、次のコマンドを使用してSELinuxポリシーファイルのコンテキストを確認します。
# pwd /etc/nagios # ls -Z -rw-r--r--. root root system_u:object_r:nrpe_etc_t:s0 nrpe.cfg
ファイルのコンテキストが異なる場合は、次のように変更します。nrpe_etc_t次のコマンドを使用します。
# semanage fcontext -a -t nrpe_etc_t "/etc/nagios/nrpe.cfg" # restorecon -R -v /etc/nagios/nrpe.cfg
CentOS 7でも同じことをテストしました。
答え2
「nrpe は configure dir /etc/nagios/nrpe.d を読み取れません」のようなエラー メッセージが表示される場合は、nrpe.cfg でデバッグをオンにしてサービスを再起動します。これは、selinux が問題の原因であることを意味します。
selinux をチェックしてオフにすることができます (セキュリティ バーンがない場合)。
強制する
施行
強制0を設定する
強制する
寛容な
次に、「service nrpe restart」で nrpe を再起動します。これで動作するはずです。
答え3
/etc/nagios ディレクトリの権限と所有権も確認することをお勧めします。
また、nagios ユーザーに su してディレクトリ ツリーを上へ移動 (cd) し、権限が壊れている場所を特定することもできます。