Nagios安装手记

由于工作需要,需要安装一个nagios监控常用服务器,故有此安装手记。

环境说明

centos 6.4

安装依赖包及php、http

1
yum -y install httpd php gcc glibc glibc-common gd gd-devel make net-snmp

新建用户及相应用户组

1
2
3
4
5
useradd -m nagios
passwd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache

下载nagios及其插件、nrpe

1
2
3
4
5
mkdir ~/downloads
cd ~/downloads
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
wget http://iweb.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

解压安装nagios

1
2
3
4
5
6
7
8
9
10
11
12
13
14
tar zxvf nagios-4.0.8.tar.gz
tar zxvf nagios-plugins-2.0.3.tar.gz
cd nagios-4.0.8
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf
cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios start #启动服务

创建web用户

1
htpasswd –c /usr/local/nagios/etc/htpasswd.users nagiosadmin

安装nagios插件

1
2
3
4
cd ~/downloads/nagios-plugins-2.0.3
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

安装nrpe

由于NRPE是通过SSL方式在监控和被监控主机上进行数据传输的,所以必须先安装ssl相关的软件包。

1
yum install openssl openssl-devel

然后编译安装nrpe

1
2
3
4
5
6
7
tar zxf nrpe-2.15.tar.gz
cd nrpe-2.15
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config

修改/usr/local/nagios/etc/objects/commands.cfg,在文件最后追加如下内容,使之支持nrpe命令

1
2
3
4
define command{
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

让nagios和httpd开机自启

1
2
3
4
chkconfig --add nagios
chkconfig --level 35 nagios on
chkconfig --add httpd
chkconfig --level 35 httpd on

关闭selinux模式

1
setenforce 0

访问nagios的web界面

http://192.168.11.151/nagios

Ubuntu下安装nrpe

受控机为一台ubuntu 14.04的机器,ip为192.168.11.170
1.首先,通过apt-get安装nrpe和nagios插件

1
sudo apt-get install nagios-nrpe-server nagios-plugins

2.编辑/etc/nagios/nrpe.cfg,使之允许nagios监控主机可以访问。

1
allowed_hosts=127.0.0.1,192.168.11.151

3.重启nagios-nrpe-server服务

1
sudo service nagios-nrpe-server restart

4.从nagios监控主机上检查nrpe是否安装成功。
进入监控主机上的/usr/local/nagios/libexec目录下,执行:

1
check_nrpe -H 192.168.11.170

若返回NRPE v2.12的字样(nrpe版本号),即表示nrpe服务正常。

centos安装nrpe

1.指定源

1
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2.从指定源中安装nrpe和nagios-plugins

1
yum --enablerepo=epel -y install nrpe nagios-plugins

3.按需要选择安装插件
我安装了check_disk、check_load、check_procs和check_users四个插件

1
yum --enablerepo=epel -y install nagios-plugins-disk nagios-plugins-load nagios-plugins-procs nagios-plugins-users

4.修改nrpe配置文件

1
vi /etc/nagios/nrpe.cfg

将监控机的ip加入到允许主机中

1
allowed_hosts=127.0.0.1,192.168.11.151

修改命令

1
2
command[check_root_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20

5.启动nrpe服务,并将之加入到开机启动项中

1
2
service nrpe start
chkconfig nrpe on

Nagios服务器配置

1.进入到nagios配置文件夹/usr/local/nagios/etc,编辑nagios.cfg文件,将cfg_dir=/usr/local/nagios/etc/servers这一行前面的注释去掉。
2.在/usr/local/nagios/etc上新建servers文件夹,并在该文件夹里新建要监控的服务配置文件。在本次示例中,我新建了一个监控tomcat服务器的配置文件以作说明。

1
2
mkdir servers
vi tomcat.cfg

下面是tomcat.cfg的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#define tomcats servers
define host {
use linux-server
host_name web-1
alias 185
address 172.16.0.70
}

define host {
use linux-server
host_name web-2
alias 186
address 172.16.0.27
}

define host {
use linux-server
host_name web-3
alias 187
address 172.16.0.103
}

define host {
use linux-server
host_name web-4
alias 188
address 172.16.0.82
}

define hostgroup {
hostgroup_name tomcats
alias tomcat-clusters
members web-1,web-2,web-3,web-4
}

define service {
use local-service
host_name web-1,web-2,web-3,web-4
service_description check tomcat status
check_command check_http!-p8080
}

# provided by nrpe
define service {
use local-service
host_name web-1,web-2,web-3,web-4
service_description check local disk
check_command check_nrpe!check_disk
}

define service {
use local-service
host_name web-1,web-2,web-3,web-4
service_description check local users
check_command check_nrpe!check_users
}

define service {
use local-service
host_name web-1,web-2,web-3,web-4
service_description check local load
check_command check_nrpe!check_load
}

define service {
use local-service
host_name web-1,web-2,web-3,web-4
service_description check local zombie procs
check_command check_nrpe!check_zombie_procs
}

define service {
use local-service
host_name web-1,web-2,web-3,web-4
service_description check local procs
check_command check_nrpe!check_total_procs
}

3.重启nagios服务,使配置生效。

1
service nagios restart