Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
一、Nagios的主要功能特点:
- 监视网络服务 (SMTP, POP3, HTTP, NNTP, PING等)
- 监视主机资源 (进程, 磁盘等)
- 简单的插件设计可以轻松扩展Nagios的监视功能
- 服务等监视的并发处理
准备软件包:
- Nagios Core nagios-3.2.2.tar.gz
- Nagios Plugins nagios-plugins-1.4.15.tar.gz
- Nagios Addons nrpe-2.12.tar.gz
二、服务器端安装
- 查看安装服务器环境(LAMP)
- #rpm -qa | grep httpd
- #rpm -qa | grep php
- 没有的话安装
- # yum -y install gcc glibc glibc-common gd gd-devel php openssl-devel httpd
- 创建用户:
- # useradd -m -s /bin/bash nagios
- # groupadd nagios
- # usermod -G nagios nagios
- # vi /etc/passwd
- nagios:x:500:500::/home/nagios:/sbin/nologin
- 改成:
- nagios:x:500:500::/home/nagios:/bin/bash
- 创建一个用户组名为nagcmd 用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中。
- 因为要用到 CGI 的 Web 监控面板,所以这里我们还要添加一个 nagcmd 组,用于 CGI 执行相关指令。
- # /usr/sbin/groupadd nagcmd
- # /usr/sbin/usermod -G nagcmd nagios
- # /usr/sbin/usermod -a -G nagcmd daemon (因为是编译方式安装的apache,默认是以daemon用户运行)
下载相关的软件包,服务器端需要安装以下三个包,客户端只需要安装后两个插件包:
- [root@server ~]#cd /usr/local/src/tarbag/
- [root@server tarbag]#wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.2.tar.gz
- [root@server tarbag]#wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
- [root@server tarbag]#wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
解压并编译安装Nagios:
- # tar xvzf nagios-3.2.2.tar.gz
- # cd nagios-3.2.2
运行Nagios配置脚本并使用先前开设的用户及用户组:
- # ./configure --prefix=/usr/local/nagios --with-command-group=nagcmd
编译Nagios程序包源码:
- # make all
安装二进制运行程序、初始化脚本、配置文件样本并设置运行目录权限:
- # make install
- # make install-init //在/etc/rc.d/init.d安装启动脚本
- # make install-config //安装示例配置文件,安装的路径是/usr/local/nagios/etc
- # make install-commandmode //配置目录权限
- #ls /usr/local/nagios/
- bin etc libexec sbin share var
三、对nagios进行配置
样例配置文件默认安装在这个目录下/usr/local/nagios/etc,这些样例文件可以配置Nagios使之正常运行,只需要做一个简单的修改...
用你擅长的编辑器软件来编辑这个/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改email地址nagiosadmin的联系人定义信息中的EMail信息为你的EMail信息以接收报警内容。
- vi /usr/local/nagios/etc/objects/contacts.cfg
1、安装nagios插件
- #cd ../
- #tar zxvf nagios-plugins-1.4.16.tar.gz
- #cd nagios-plugins-1.4.16
- #./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/ //指定安装目录及用户和组
- #make;make install
- 配置httpd
- 生成Nagios的Apache配置文件
- # cd nagios-3.2.2
- # make install-webconf
- /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf
- # cd sample-config
- 参考sample-config/httpd.conf配置内容添加到Apache的httpd.conf配置文件中
- 创建一个nagiosadmin的用户用于Nagios的Apache接口登录。记下你所设置的登录口令,一会儿你会用到它。
- # ./htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
- 密码:nagiosmonitor
- 重启Apache服务以使设置生效。
- 安装NRPE插件,想获取客户机上更为详细的信息,还必须在服务器及客户端上安装NRPE插件。
- #cd ..
- #tar zxvf nrpe-2.14.tar.gz
- #cd nrpe-2.14
- #./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/
- # make all
- # make install-plugin;make install-daemon;make install-daemon-config
- # ls /usr/local/nagios/libexec/
- check_apt check_ftp check_mailq check_overcr check_tcp .......
- 验证Nagios的样例配置文件
- # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
- 如果没有报错,可以启动Nagios服务
- 启动httpd及nagios服务并验证
- #chkconfig --add nagios //设置nagios及http开机自启动
- #chkconfig nagios on
- #chkconfig httpd on
- #service nagios start
- #service httpd start
2、客户端安装
- #useradd -s /sbin/nologin nagios //添加nagios用户
- 安装nagios-plugins
- # tar -zxvf nagios-plugins-1.4.15.tar.gz
- # cd nagios-plugins-1.4.15
- # ./configure --prefix=/usr/local/nagios
- # make
- # make install
- # chown nagios.nagios /usr/local/nagios/
- # chown -R nagios.nagios /usr/local/nagios/libexec/
- 安装nrpe插件
- # tar -zxvf nrpe-2.12.tar.gz
- # cd nrpe-2.12
- # ./configure --prefix=/usr/local/nagios/
- # make all
- # make install-plugin 安装check_nrpe这个插件
- # make install-daemon 安装daemon
- # make install-daemon-config 安装配置文件
- 如果安装时报错:checking for SSL headers... configure: error: Cannot find ssl headers
- # rpm -qa|grep openssl
- openssl-devel-0.9.8e-12.el5_4.6
- openssl-0.9.8e-12.el5_4.6
- yum install openssl-devel
- 或者下载:http://www.openssl.org/source/
- tar zxvf openssl-1.0.0a.tar.gz
- cd openssl-1.0.0a
- ./config
- make
- make test
- make install
- 修改客户端配置文件
- vi /usr/local/nagios/etc/nrpe.cfg
- server_port:5666
- allowed_hosts=127.0.0.1,192.168.1.95 //添加服务器端的IP地址
- 指定nagios监控主机ip,多个ip用逗号分隔,后面的IP地址,是nagios服务端的ip地址,也就是说只允许指定的ip通过nrpe开的端口5666取得本机的信息。
- 然后修改nrpe.cfg中的command部分。
- 启动NRPE守护进程:(可以将此命令加入/etc/rc.local,以便开机自动启动)
- #/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
- 可以将此命令加入/etc/rc.local,以便开机自动启动
- echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >> /etc/rc.local
- #netstat -utpln |grep nrpe //查看nrpe进程是否已正常启动
- #/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 NRPE v2.14 //nrpe测试结果,此结果为nrpe已经正常工作了
- 然后在nagios监控服务器上测试
- #/usr/local/nagios/libexec/check_nrpe -H 192.168.1.77 //被监控主机ip
- 返回信息被监控服务器上安装的NRPE版本:NRPE v2.12
3、定义监控内容
- # vi /usr/local/nagios/etc/nrpe.cfg //定义监控服务器内容
- command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 #监控登陆的用户数量
- command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 #监控CPU的负载
- command[check_sda2]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2 #监控磁盘利用率,这里的sda2必须是实际的硬盘分区,可使用fdisk –l查
- 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 #监控进程中的僵尸进程
- command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 #监控所有进程
- 注意:command后面括号中的内容就是定义的变量,变量名可以任意指定,只需和服务器配置文件中的一致即可