• nagios 简介

Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

  Nagios原名为NetSaint,由Ethan Galstad开发并维护至今。NAGIOS是一个缩写形式: "Nagios Ain't GonnaInsist On Sainthood" Sainthood 翻译为圣徒,而"Agios"是"saint"的希腊表示方法。Nagios被开发在Linux下使用,但在Unix下也工作得非常好。

 

二、服务器端安装 

1. 查看安装服务器环境(LAMP) 

2. #rpm -qa | grep httpd 

3. #rpm -qa | grep php 

4. 没有的话安装 

5. # yum -y install gcc glibc glibc-common gd gd-devel php openssl-devel httpd 

6. 创建用户: 

7. useradd -m -s /bin/bash nagios 

8.  

9. usermod -G nagios nagios 

10.# vi /etc/passwd 

11.nagios:x:500:500::/home/nagios:/sbin/nologin 

12.改成: 

13.nagios:x:500:500::/home/nagios:/bin/bash 

14.创建一个用户组名为nagcmd 用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中。 

15.因为要用到 CGI 的 Web 监控面板,所以这里我们还要添加一个 nagcmd 组,用于 CGI 执行相关指令。 

16./usr/sbin/groupadd nagcmd 

17.# /usr/sbin/usermod -G nagcmd nagios 

18.# /usr/sbin/usermod -a -G nagcmd daemon (因为是编译方式安装的apache,默认是以daemon用户运行) 

下载相关的软件包,服务器端需要安装以下三个包,客户端只需要安装后两个插件包:

1. [root@server ~]#cd /usr/local/src/ 

  1. [root@server src]#http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.4.3/nagios-3.4.3.tar.gz 

  2. [root@server tarbag]# wget    https://nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz

4. [root@server tarbag]#wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz 

解压并编译安装Nagios:

  1. # tar xvzf nagios-3.4.3.tar.gz

  2. # cd nagios     

运行Nagios配置脚本并使用先前开设的用户及用户组:

1. # ./configure --prefix=/usr/local/nagios --with-command-group=nagcmd 

编译Nagios程序包源码:

1. # make all 

安装二进制运行程序、初始化脚本、配置文件样本并设置运行目录权限:

1. make install 

2. # make install-init          //在/etc/rc.d/init.d安装启动脚本 

3. make install-config       //安装示例配置文件,安装的路径是/usr/local/nagios/etc 

4. make install-commandmode        //配置目录权限 

5. #ls /usr/local/nagios/ 

6. bin etc libexec sbin share var 

三、配置nagios网页访问

1. 配置httpd 

2. 生成Nagios的Apache配置文件 

3. # cd /uer/local/src/nagios 

4. make install-webconf 

5.   /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf 

6. # cd sample-config 

7. 参考sample-config/httpd.conf配置内容添加到Apache的httpd.conf配置文件中 

8. 创建一个nagiosadmin的用户用于Nagios的Apache接口登录。记下你所设置的登录口令,一会儿你会用到它。 

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

10.密码:nagiosadmin 

重启Apache服务以使设置生效,访问http://ip/nagios/看是否正常。

四、对nagios进行配置

样例配置文件默认安装在这个目录下/usr/local/nagios/etc,这些样例文件可以配置Nagios使之正常运行,只需要做一个简单的修改...
用你擅长的编辑器软件来编辑这个/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改email地址nagiosadmin的联系人定义信息中的EMail信息为你的EMail信息以接收报警内容。

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

1、安装nagios插件

11.#cd ../ 

12.#tar zxvf nagios-plugins-1.4.16.tar.gz   

  1. #cd nagios-plugins-2.1.4   

14.#./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/   //指定安装目录及用户和组 

15.#make;make install 

16. 

17.安装NRPE插件,想获取客户机上更为详细的信息,还必须在服务器及客户端上安装NRPE插件。 

18.#cd .. 

19.#tar zxvf nrpe-2.12.tar.gz 

20.#cd nrpe-2.12 

21.#./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/ 

22.make all 

23.# make install-plugin;make install-daemon;make install-daemon-config 

24.# ls /usr/local/nagios/libexec/  

25.check_apt check_ftp check_mailq check_overcr check_tcp ....... 

26.验证Nagios的样例配置文件 

27./usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 

28.如果没有报错,可以启动Nagios服务 

29.启动httpd及nagios服务并验证 

30.#chkconfig --add nagios   //设置nagios及http开机自启动 

31.#chkconfig nagios on 

32.#chkconfig httpd on 

33.#service nagios start 

34.#service httpd start 

2、客户端安装

1. #useradd -s /sbin/nologin nagios //添加nagios用户 

2. 安装nagios-plugins 

3. # tar -zxvf nagios-plugins-1.4.15.tar.gz 

4. # cd nagios-plugins-1.4.15 

5. # ./configure --prefix=/usr/local/nagios 

6. # make 

7. # make install 

8. # chown nagios.nagios /usr/local/nagios/ 

9. # chown -R nagios.nagios /usr/local/nagios/libexec/ 

10.安装nrpe插件 

11.tar -zxvf nrpe-2.12.tar.gz 

12.# cd nrpe-2.12 

13.# ./configure --prefix=/usr/local/nagios/  

14.#                

15.make install-plugin   安装check_nrpe这个插件 

16.# make install-daemon    安装daemon 

17.# make install-daemon-config   安装配置文件 

18.如果安装时报错:checking for SSL headers... configure: error: Cannot find ssl headers 

19.# rpm -qa|grep openssl 

20.openssl-devel-0.9.8e-12.el5_4.6 

21.openssl-0.9.8e-12.el5_4.6 

22.yum install openssl-devel 

23.或者下载:http://www.openssl.org/source/ 

24.tar zxvf openssl-1.0.0a.tar.gz 

25.cd openssl-1.0.0a 

26../config 

27.make 

28.make test 

29.make install 

30.修改客户端配置文件 

31.vi /usr/local/nagios/etc/nrpe.cfg 

32.server_port:5666 

33.allowed_hosts=127.0.0.1,192.168.1.95   //添加服务器端的IP地址 

34.指定nagios监控主机ip,多个ip用逗号分隔,后面的IP地址,是nagios服务端的ip地址,也就是说只允许指定的ip通过nrpe开的端口5666取得本机的信息。 

35.然后修改nrpe.cfg中的command部分。 

36.启动NRPE守护进程:(可以将此命令加入/etc/rc.local,以便开机自动启动) 

37.#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 

38.可以将此命令加入/etc/rc.local,以便开机自动启动 

39.echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >> /etc/rc.local 

40.#netstat -utpln |grep nrpe        //查看nrpe进程是否已正常启动 

41.#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 NRPE v2.14    //nrpe测试结果,此结果为nrpe已经正常工作了 

42.然后在nagios监控服务器上测试 

43.#/usr/local/nagios/libexec/check_nrpe -H 192.168.1.77//被监控主机ip 

44.返回信息被监控服务器上安装的NRPE版本:NRPE v2.12 

3、定义监控内容

1. # vi /usr/local/nagios/etc/nrpe.cfg   //定义监控服务器内容 

2. command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 #监控登陆的用户数量 

3. command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 #监控CPU的负载 

4. command[check_sda2]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2 #监控磁盘利用率,这里的sda2必须是实际的硬盘分区,可使用fdisk –l查 

5. command[check_swap]=/usr/local/nagios//libexec/check_swap -w 20 -c 10 #监控交换空间  command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z #监控进程中的僵尸进程 

6. command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 #监控所有进程 

7. 注意:command后面括号中的内容就是定义的变量,变量名可以任意指定,只需和服务器配置文件中的一致即可 

4、自动添加主机服务

 

 

 

 

五、安装中遇到错误

[root@localhost nagios]# make all
cd ./base && make
make[1]:Entering directory '/tmp/nagios/base'
make[1]:*** No rule to make target '/include/locations.h', needed by'broker.o'. Stop.
make[1]:Leaving directory '/tmp/nagios/base'
make:***[all]Error 2
[root@localhost nagios]#

 

解决办法:

安装perl

 yum –yinstall  perl

重新编译即可