強制する

強制する

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

私も同じ問題に遭遇しました。解決するには、以下の手順をご覧ください。

  1. コマンドまたはコマンドを使用して、ファイルの権限/etc/nagios/nrpe.cfgと SELinux ステータスを確認します。「無効」と表示されている場合、問題はありません。「許可」と表示されている場合、問題はありませんが、「強制」と表示されている場合、次の手順を実行します。sestatusgetenforce
  2. SELinuxを強制モードにする必要がある場合は、次のコマンドを使用してSELinuxポリシーファイルのコンテキストを確認します。

    # pwd
    /etc/nagios
    # ls -Z
    -rw-r--r--. root root system_u:object_r:nrpe_etc_t:s0  nrpe.cfg
    
  3. ファイルのコンテキストが異なる場合は、次のように変更します。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) し、権限が壊れている場所を特定することもできます。

関連情報