一、监控端安装nagios
1、Nagios简介
Nagios通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和四个可选的ADDON(NRPE、NSCA、NSClient++和NDOUtils)组成。Nagios的监控工作都是通过插件实现的,因此,Nagios和Nagios-plugins是服务器端工作所必须的组件。而四个ADDON中,NRPE用来在监控的远程Linux/Unix主机上执行脚本插件以实现对这些主机资源的监控;NSCA用来让被监控的远程Linux/Unix主机主动将监控信息发送给Nagios服务器(这在冗余监控模式中特别要用到);NSClient++是用来监控Windows主机时安装在Windows主机上的组件;而NDOUtils则用来将Nagios的配置信息和各event产生的数据存入数据库,以实现这些数据的快速检索和处理。这四个ADDON(附件)中,NRPE和NSClient++工作于客户端,NDOUtils工作于服务器端,而NSCA则需要同时安装在服务器端和客户端。
目前,Nagios只能安装在Linux系统主机上,其编译需要用到gcc。同时,如果打算使用web界面的管理工具的话,还需要有apache服务器和GD图形库的支持。
2、安装前的准备工作
(1)解决安装Nagios的依赖关系
Nagios基本组件的运行依赖于httpd、gcc和gd。可以通过以下命令来检查nagios所依赖的rpm包是否已经完全安装:
说明:如果通过编译源代码的方式安装,后面许多相关文件的路径需要按照源代码安装时的配置逐一修改。此外,得按需启动必要的服务,如httpd等。
(2)添加nagios运行所需要的用户和组
# groupadd nagcmd # useradd -G nagcmd nagios # passwd nagios把daemon加入到nagcmd组,以便于在通过web Interface操作nagios时能够具有足够的权限:
# usermod -a -G nagcmd daemon3、编译安装nagios
# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-3.5.1.tar.gz#_ga=1.194172141.1791413989.1469521324 # tar xvf nagios-3.5.1.tar.gz -C /usr/local/src/ # cd /usr/local/src/nagios/ # ./configure --prefix=/usr/local/nagios --sysconfdir=/etc/nagios --with-command-group=nagcmd --enable-event-broker # make all # make install # make install-init # make install-commandmode # make install-config在httpd的配置文件目录(conf.d)中创建Nagios的Web程序配置文件:
# make install-webconf创建一个登录nagios web程序的用户,在以后通过web登录nagios认证时所用:
# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin以上过程配置结束以后需要重新启动httpd:
# service httpd restart4、编译、安装nagios-plugins
nagios的所有监控工作都是通过插件完成的,因此,在启动nagios之前还需要为其安装官方提供的插件。
5、配置并启动Nagios
(1)把nagios添加为系统服务并将之加入到自动启动服务队列
(2)检查其主配置文件的语法是否正确
/usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg(3)如果上面的语法检查没有问题,接下来就可以正式启动nagios服务了:
# service nagios start(4)配置selinux
如果系统开启了selinux服务,则默认为拒绝nagios web cgi程序的运行。可以通过下面的命令来检查系统是否开启了selinux:
如果上面命令的结果显示开启了selinux服务,可通过下面的命令暂时性的将其关闭:
# setenforce 0通过编辑/etc/sysconfig/selinux文件完全关闭selinux,将其中的selinux后面的值“force”修改为“disable”即可。
当然,也可以通过以下方式将nagios的CGI程序运行于SELinux/targeted模式而不用关闭selinux:
(5)通过web界面查看nagios:
通过身份验证后即可查看当前默认监控本机的状况
二、基于NRPE监控远程Linux主机
1、NRPE简介
Nagios监控远程主机的方法有多种,其方式包括SNMP、NRPE、SSH和NCSA等。这里介绍其通过NRPE监控远程Linux主机的方式。