Fedora 26: ウェブベースシステムモニタツールのNagiosをインストールする

ウェブベースのシステムモニタツールのNagiosをインストールする手順を記載します。

2017/7現在、いくつかのプラグインがうまく動作しないようです (nagios-plugins-loadやnagios-plugins-ping等)。

1 Nagiosのインストール

以下のスクリプトでNagiosをインストールします。

  • NAGIOS_PASSWDはBasic認証のnagiosadminユーザのパスワードです。
#!/bin/sh

[ -z "${NAGIOS_PASSWD}" ] && NAGIOS_PASSWD=nagios

nagios_install()
{
  sudo dnf install -y nagios nagios-plugins-all

  # https://bugzilla.redhat.com/show_bug.cgi?id=1291718
  sudo mkdir /var/log/nagios/rw
  sudo chown nagios:nagios /var/log/nagios/rw
  sudo chmod 700 /var/log/nagios/rw

  # Apache2
  sudo htpasswd -db /etc/nagios/passwd "nagiosadmin" ${NAGIOS_PASSWD}
  sudo systemctl enable httpd
  sudo systemctl restart httpd
  sudo firewall-cmd --add-service=http --permanent
  sudo firewall-cmd --reload

  # https://bugzilla.redhat.com/show_bug.cgi?id=1291734
  cat <<EOF > my-nagios-socket.te
module my-nagios-socket 1.0;
require {
  type nagios_t;
  type nagios_log_t;
  class sock_file { write create unlink };
  class unix_stream_socket connectto;
}
allow nagios_t nagios_log_t:sock_file { write create unlink };
allow nagios_t self:unix_stream_socket connectto;
EOF
  checkmodule -M -m -o my-nagios-socket.mod my-nagios-socket.te
  semodule_package -m my-nagios-socket.mod -o my-nagios-socket.pp
  sudo semodule -i my-nagios-socket.pp
  rm -f my-nagios-socket.te my-nagios-socket.mod my-nagios-socket.pp

  # Fedora 26 needs other SELinux configuration.
  cat <<EOF > my-nagios.te
module my-nagios 1.0;
require {
  type nagios_t;
  type nagios_exec_t;
  class file execute_no_trans;
}
allow nagios_t nagios_exec_t:file execute_no_trans;
EOF
  checkmodule -M -m -o my-nagios.mod my-nagios.te
  semodule_package -m my-nagios.mod -o my-nagios.pp
  sudo semodule -i my-nagios.pp
  rm -f my-nagios.te my-nagios.mod my-nagios.pp

  cat <<EOF > my-nagios-script.te
module my-nagios-script 1.0;
require {
  type nagios_spool_t;
  type nagios_script_t;
  class file { open read getattr };
}
allow nagios_script_t nagios_spool_t:file { open read getattr };
EOF
  checkmodule -M -m -o my-nagios-script.mod my-nagios-script.te
  semodule_package -m my-nagios-script.mod -o my-nagios-script.pp
  sudo semodule -i my-nagios-script.pp
  rm -f my-nagios-script.te my-nagios-script.mod my-nagios-script.pp

  sudo systemctl enable nagios
  sudo systemctl restart nagios
}

nagios_install

NagiosのApache2の設定は以下のファイルに記載されています。Digest認証にしたりURLを変更するにはこのファイルを編集します。

/etc/httpd/conf.d/nagios.conf

2 Nagiosへアクセスする

デフォルトでは以下のURLへアクセスします。

http://<server>/nagios

nagiosadminユーザとNAGIOS_PASSWDの値を入力します。

0001_BasicAuth.png

Nagiosの画面が表示されます。

0002_Nagios.png