CentOS7にNagios 4をインストールする
Pocket

自宅の検証環境の監視方法について検討するため、いくつかの監視ツールを試しているのだが、今回はZabbixに引き続き有名なNagiosを入れてみる事にする。
前回と同様、サーバ・エージェントともにCentOS 7を用いるものとする。

1.NagiosCore インストール

まず、前提となるhttpd、php、MariaDBをインストールしておく。
(ここでは実施していないが、mysql_secure_installationは実施しておくと良いだろう。)

yum -y install httpd php php-mbstring php-pear php-mysql mariadb-server mariadb
yum -y install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd unzip

 

前提パッケージのインストールができたら、Nagiosのインストール準備を行う。
まず、ユーザとグループを作成する。

useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -G nagcmd apache

 

次に、以下のコマンドでNagiosCoreをインストールする。

cd
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz
tar xzvf nagios-*.tar.gz
cd nagios-*
./configure --with-command-group=nagcmd
make all
make install
make install-commandmode
make install-init
make install-config
make install-webconf

 

これで、NagiosCoreのインストールが完了した。

 

2.NagiosPluginインストール

次に、NagiosPluginをインストールする。

cd
curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
tar xvf nagios-plugins-*.tar.gz
cd nagios-plugins-*
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make && make install

 

他サーバの監視で必要なNRPEについてもインストールする。

cd
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
tar xvf nrpe-*.tar.gz
cd nrpe-*
./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu
make all
make install
make install-xinetd
make install-daemon-config

 

これで、NagiosPluginのインストールが完了した。

Sponsored Links

3.初期設定

インストールが完了したら、Nagiosで監視を行うための初期設定を実施する。
まず、/etc/xinetd.d/nrpeのonly_fromにNagiosサーバのIPアドレスを追記する。

ip -o -4 addr show | awk -F '[ /]+' '/global/ {print $4}' | xargs -I{} -n 1 sed -i '/only_from/s/$/ {}/g' /etc/xinetd.d/nrpe
service xinetd restart

 

/usr/local/nagios/etc/nagios.cfgを編集、ディレクトリを作成する。

sed -i '/^#cfg_dir=\/usr\/local\/nagios\/etc\/servers/s/#//g' /usr/local/nagios/etc/nagios.cfg
mkdir /usr/local/nagios/etc/servers

 

/usr/local/nagios/etc/objects/commands.cfgに追記をする。

cat << EOF >> /usr/local/nagios/etc/objects/commands.cfg
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
EOF

 

以下のコマンドで、WEBコンソールアクセス時に必要となるパスワード設定を行う。

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

 

最後に、Nagiosのサービス起動、SELinux/Firewalldの停止を行う。

service nagios restart
service httpd restart
setenforce 0
sed -i.bak "/SELINUX/s/enforcing/disabled/g" /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld

 

後は、NagiosサーバのURL(http://IPアドレス/nagios)にアクセスするだけだ。
なお、ログイン時のユーザ名は「nagiosadmin」、パスワードはhtpasswdコマンドで指定したものだ。

Screenshot_from_2016-02-22 08:43:27

 

4.Nagiosエージェントインストール

サーバのインストールは無事出来たので、次は監視対象となるサーバにNagiosエージェントをインストールする。
Nagiosエージェントと言っているが、Nagiosでは他の統合監視システムのエージェントソフトに該当するものはNRPEというものになる(UNIX系の場合。厳密に言うと異なるようだが、便宜上は分かりやすくこれで統一)。

早速、監視対象サーバで以下のコマンドを実行する。

yum -y install epel-release
yum -y install nrpe nagios-plugins-all
sed -i '/^allowed_hosts/s/$/,NagiosサーバIPアドレス/g' /etc/nagios/nrpe.cfg
systemctl start nrpe.service
systemctl enable nrpe.service

 

次に、Nagiosサーバ側で監視対象ホストについての設定ファイル(/usr/local/nagios/etc/servers/監視対象ホスト名.cfg)を作成する。
以下、設定例。

●/usr/local/nagios/etc/servers/test_host.cfg

define host{
      use                               linux-server
      host_name                         test-node
      alias                             lan
      address                           IPアドレス
}
define service {
        use                             generic-service
        host_name                       test-node
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
}
define service {
        use                             generic-service
        host_name                       test-node
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
}

 

設定ファイル作成後、reloadする。

systemctl reload nagios

 

reload後、Webコンソールを見るとホストが追加されている事がわかる。

Screenshot_from_2016-02-23 00:08:40

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

This article has 1 comments

  1. Pingback: データセンターやラック、ネットワーク構成をマップで管理できるNagiosのアドオンツール『Nagvis』を使ってみた | 俺的備忘録 〜なんかいろいろ〜

Leave a Comment

メールアドレスが公開されることはありません。