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|grephttpd #rpm-qa|grepphp 没有的话安装 #yum-yinstallgccglibcglibc-commongdgd-develphpopenssl-develhttpd 创建用户: #useradd-m-s/bin/bashnagios #groupaddnagios #usermod-Gnagiosnagios #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/groupaddnagcmd #/usr/sbin/usermod-Gnagcmdnagios #/usr/sbin/usermod-a-Gnagcmddaemon(因为是编译方式安装的apache,默认是以daemon用户运行)
下载相关的软件包,服务器端需要安装以下三个包,客户端只需要安装后两个插件包:
[root@server~]#cd/usr/local/src/tarbag/ [root@servertarbag]#wgethttp://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.2.tar.gz [root@servertarbag]#wgethttp://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz [root@servertarbag]#wgethttp://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
解压并编译安装Nagios:
#tarxvzfnagios-3.2.2.tar.gz #cdnagios-3.2.2
运行Nagios配置脚本并使用先前开设的用户及用户组:
#./configure--prefix=/usr/local/nagios--with-command-group=nagcmd
编译Nagios程序包源码:
#makeall
安装二进制运行程序、初始化脚本、配置文件样本并设置运行目录权限:
#makeinstall #makeinstall-init//在/etc/rc.d/init.d安装启动脚本 #makeinstall-config//安装示例配置文件,安装的路径是/usr/local/nagios/etc #makeinstall-commandmode//配置目录权限 #ls/usr/local/nagios/ binetclibexecsbinsharevar
三、对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../ #tarzxvfnagios-plugins-1.4.16.tar.gz #cdnagios-plugins-1.4.16 #./configure--with-nagios-user=nagios--with-nagios-group=nagios--prefix=/usr/local/nagios///指定安装目录及用户和组 #make;makeinstall 配置httpd 生成Nagios的Apache配置文件 #cdnagios-3.2.2 #makeinstall-webconf /usr/bin/install-c-m644sample-config/httpd.conf/etc/httpd/conf.d/nagios.conf #cdsample-config 参考sample-config/httpd.conf配置内容添加到Apache的httpd.conf配置文件中 创建一个nagiosadmin的用户用于Nagios的Apache接口登录。记下你所设置的登录口令,一会儿你会用到它。 #./htpasswd-c/usr/local/nagios/etc/htpasswd.usersnagiosadmin 密码:nagiosmonitor 重启Apache服务以使设置生效。 安装NRPE插件,想获取客户机上更为详细的信息,还必须在服务器及客户端上安装NRPE插件。 #cd.. #tarzxvfnrpe-2.14.tar.gz #cdnrpe-2.14 #./configure--with-nagios-user=nagios--with-nagios-group=nagios--prefix=/usr/local/nagios/ #makeall #makeinstall-plugin;makeinstall-daemon;makeinstall-daemon-config #ls/usr/local/nagios/libexec/ check_aptcheck_ftpcheck_mailqcheck_overcrcheck_tcp ....... 验证Nagios的样例配置文件 #/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg 如果没有报错,可以启动Nagios服务 启动httpd及nagios服务并验证 #chkconfig--addnagios//设置nagios及http开机自启动 #chkconfignagioson #chkconfighttpdon #servicenagiosstart #servicehttpdstart
2、客户端安装
#useradd-s/sbin/nologinnagios//添加nagios用户 安装nagios-plugins #tar-zxvfnagios-plugins-1.4.15.tar.gz #cdnagios-plugins-1.4.15 #./configure--prefix=/usr/local/nagios #make #makeinstall #chownnagios.nagios/usr/local/nagios/ #chown-Rnagios.nagios/usr/local/nagios/libexec/ 安装nrpe插件 #tar-zxvfnrpe-2.12.tar.gz #cdnrpe-2.12 #./configure--prefix=/usr/local/nagios/ #makeall #makeinstall-plugin安装check_nrpe这个插件 #makeinstall-daemon安装daemon #makeinstall-daemon-config安装配置文件 如果安装时报错:checkingforSSLheaders...configure:error:Cannotfindsslheaders #rpm-qa|grepopenssl openssl-devel-0.9.8e-12.el5_4.6 openssl-0.9.8e-12.el5_4.6 yuminstallopenssl-devel 或者下载:http://www.openssl.org/source/ tarzxvfopenssl-1.0.0a.tar.gz cdopenssl-1.0.0a ./config make maketest makeinstall 修改客户端配置文件 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|grepnrpe//查看nrpe进程是否已正常启动 #/usr/local/nagios/libexec/check_nrpe-H127.0.0.1NRPEv2.14//nrpe测试结果,此结果为nrpe已经正常工作了 然后在nagios监控服务器上测试 #/usr/local/nagios/libexec/check_nrpe-H192.168.1.77 //被监控主机ip 返回信息被监控服务器上安装的NRPE版本:NRPEv2.12
3、定义监控内容
#vi/usr/local/nagios/etc/nrpe.cfg//定义监控服务器内容 command[check_users]=/usr/local/nagios/libexec/check_users-w5-c10#监控登陆的用户数量 command[check_load]=/usr/local/nagios/libexec/check_load-w15,10,5-c30,25,20#监控CPU的负载 command[check_sda2]=/usr/local/nagios/libexec/check_disk-w20%-c10%-p/dev/sda2#监控磁盘利用率,这里的sda2必须是实际的硬盘分区,可使用fdisk–l查 command[check_swap]=/usr/local/nagios//libexec/check_swap-w20-c10#监控交换空间command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs-w5-c10-sZ#监控进程中的僵尸进程 command[check_total_procs]=/usr/local/nagios/libexec/check_procs-w150-c200#监控所有进程 注意:command后面括号中的内容就是定义的变量,变量名可以任意指定,只需和服务器配置文件中的一致即可
相关文章
标签:系统运维