标签归档:Nagios

CentOS 7部署Nagios监控

部署说明

  • 系统:CentOS 7.2
  • 环境需求:Apache(httpd), PHP
  • 权限:root/sudoer
  • master服务器(192.168.50.101)
  • slave服务器(192.168.50.102)

安装Nagios 4

首先,我们在master服务器上安装Nagios相关服务。

安装依赖环境

由于安装采用源码编译的方式,所以需要安装一些基本的库

sudo yum install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd unzip

创建Nagios用户组

我们创建一个nagios用户和nagcmd组以用来运行nagios服务

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

下面我们安装Nagios。

编译安装Nagios

首先从官方Nagios下载地址下载Nagios源码(点击页面表单框下面的Skip to download)。然后选择最新的下载地址。下载完后解压。作文时最新的稳定版本为4.2.2。

cd ~
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.2.tar.gz
tar xvf nagios-4.2.2.tar.gz
cd nagios-4.2.2

使用以下命令编译安装

./configure --with-command-group=nagcmd

make all

sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
sudo make install-webconf

最后,我们将apache用户添加到nagcmd组,这样就可以在web端运行命令了。

sudo usermod -G nagcmd apache

编译安装Nagios Plugins

同样采用编译安装的方式安装Nagios插件。源码可以在这里下载:下载地址。作文时最新的版本为2.1.4。

cd ~
wget http://nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz

tar xvf nagios-plugins-2.1.4.tar.gz

cd nagios-plugins-2.1.4

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl

make

sudo make install

编译安装NRPE

同样采用编译安装的方式安装NRPE扩展。源码可以在这里下载:下载地址。作文时最新的版本为2.15。

cd ~
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

tar xvf nrpe-2.15.tar.gz

cd nrpe-2.15

./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
sudo make install
sudo make install-xinetd
sudo make install-daemon-config

这里还需要对nrpe进行一些配置。编辑nrpe的执行脚本:

sudo vi /etc/xinetd.d/nrpe

修改only_from字段的值,在其后加上本机的IP地址

only_from = 127.0.0.0 192.168.50.101

重启NRPE服务

sudo service xinetd restart

至此,Nagios安装就完成了,下面需要对Nagios进行配置。

配置Nagios 4

下面,我们在master服务器上修改一些配置。当然,刚才的所有操作也是在master服务器上完成的。

修改Nagios主配置文件

首先,修改配置文件

sudo vim /usr/local/nagios/etc/nagios.cfg

找到以下行,取消行前的#注释符

#cfg_dir=/usr/local/nagios/etc/servers

保存并退出。接下来,创建servers目录用来存放以后的slave服务器配置信息

sudo mkdir /usr/local/nagios/etc/servers

修改Nagios联系人信息

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

将email字段的邮箱地址改为自己的邮箱,保存并退出。

增加check_nrpe指令

这里,我们向Nagios中增加一条我们自定义的指令

sudo vi /usr/local/nagios/etc/objects/commands.cfg

在最后加上以下行

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

保存并推出。此时,我们就多了一条check_nrpe指令可以使用。

配置Apache

这一步是用httpd在Nagios web服务前增加一道认证。添加nagiosadmin用户,并输入密码。

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

下面重启nagios和httpd以使配置生效

sudo systemctl start nagios.service
sudo systemctl restart httpd.service

使用chkconfig命令使nagios开机运行

sudo chkconfig nagios on

访问Nagios页面

通过以上的配置,我们就可以在Nagios的web页面看到一些信息。由于我们在master服务器上也配置了NRPE,所以Nagios会对本机也进行监测,所以可以看到的实际上是master服务器自身的参数信息。

http://192.168.50.101/nagios

hosts_link

监控slave服务器

下面我们在slave服务器上配置NRPE以用于监测。以下操作在slave服务器上进行。

安装EPEL环境

sudo yum install epel-release

安装NRPE和Nagios Plugins

sudo yum install nrpe nagios-plugins-all

下面修改NRPE的配置文件,将master服务器的ip加入白名单

sudo vi /etc/nagios/nrpe.cfg

在allowed_hosts字段中添加master服务器IP(注意,这里是逗号分隔,之前的only_from字段是空格分隔)。

allowed_hosts=127.0.0.1,192.168.50.101

将slave服务器加入配置列表

下面,回到master服务器,我们需要将刚才新建的slave服务器的信息添加到servers列表中。在servers目录下创建slave机器的配置文件

sudo vi /usr/local/nagios/etc/servers/slave_01.cfg

添加以下配置,替换掉host_name、alias、address三个字段为你自己的配置。

define host {
        use                             linux-server
        host_name                       slave_01
        alias                           slave_01
        address                         192.168.50.102
        max_check_attempts              5
        check_period                    24x7
        notification_interval           30
        notification_period             24x7
}

保存并退出。重启nagios服务以使配置生效。

sudo systemctl reload nagios.service

此时,再次登录到nagios的web页面,就能看到我们的这台slave服务器的信息了。

http://192.168.50.101/nagios