1、nagios特点:监控服务器状态; 报警功能强大; 绘图功能较弱需要借助其他插件实现或集成其他监控软件。


2、nagios的五种状态:OK WARNNING CRITICAL UNKNOWN PENDING

OK : 正常

WARNNING: 警告 (一般超过阈值)

CRITICAL:严重警告(主机或服务宕掉或超过规定阈值)

UNKNOWN:未知

PENDING: 待定(一般添加新服务初始状态)


3、监控页面:wKiom1cYHwmz6uugAAIOr_qWT5Q259.png


nagios不仅监控和显示服务或主机的状态,还会显示相关信息,但不能绘图来显示趋势等


4、架构:

wKiom1cYHHijA-1sAAOqd2eSQN8661.png


nagios服务器端主要的组件:nagios 和nagios plugins(需要apache或nginx以及php的支持,如果需要监控mysql则需要安装mysql等)


5、监控方式:

主动监控:被监控服务器提供对外服务,例如:WEB服务等,监控端可通过相应插件直接探测,根据返回信息进行状态判断,此种方式不需要被监控端安装任何插件或做任何特殊配置。

(半)被动监控方式:例如 被监控的硬件资源、温度等信息,监控端不能直接探测,只能通过在被监控端安装相关获取信息的插件来实现,例如:NRPE、snmp等,但由于探测动作是由监控端发起,所以属于半被动监控(以监控端审视),被动监控方式有NSCA等,监控端处于监控状态,监控信息完全由被监控端放主动发送。


NRPE:可监控linux/unix和windows,linux/unix需要安装nrpe和nagios plugins(nrpe依赖plugins)

windows需要安装nsclient+,此软件提供NRPE功能(还有其他,例如check_nt等)

使用方式:被监控端的nrpe默认监控tcp 5666端口,监控端使用插件check_nrpe指令直接远程调用被监控端已有的插件获取相关信息,因此,被监控端需要提前配置好检测信息的相关插件(指令)

snmp:主要用来监控交换机路由器等互连设备


6、安装(mysql相关组件选择性安装)

[root@localhost ~]# yum install -y httpd php php-devel php-mysql mysql-devel mysql-server

如果要使用check_snmp等基于snmp的插件,需要在编译安装plugins之前安装snmp相关组件

[root@localhost  ~]#  yum  install  -y net-snmp net-snmp-devel

如果编译之前没有安装,可以重新编译,但不要安装(执行make install) ,make 之后,在源码根目录下会有plugins目录,此目录下会有check_snmp等相关插件,直接拷贝到/usr/local/nagios/libexec即可(注意权限等)


创建相关用户和组:

[root@localhost ~]# groupadd nagcmd
[root@localhost ~]# useradd -G nagcmd nagios
[root@localhost ~]# passwd nagios
[root@localhost ~]# usermod -a -G nagcmd apache  #将运行apache的用户添加到nagcmd组中

编译安装nagios(nagios-4.0.8   nagios-plugins-2.1.1 )

[root@localhost  ~]#  ./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --enable-event-broker
[root@localhost  ~]# 
[root@localhost  ~]# make all
[root@localhost  ~]# make install
[root@localhost  ~]# make install-init
[root@localhost  ~]# make install-commandmode
[root@localhost  ~]# make install-config
[root@localhost  ~]# 
[root@localhost  ~]# make install-webconf  #生成nagios网页相关配置文件 /etc/httpd/conf.d/nagios.conf 
[root@localhost  ~]#

创建访问nagios的用户名和密码:

[root@localhost  ~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
[root@localhost  ~]#

注:验证文件和用户名最好使用此默认,如果修改了验证文件请在 /etc/httpd/conf.d/nagios.conf中修改相关项,如果想使用其他账户请修改 /usr/local/nagios/cgi.cfg相关选项, 如下:

[root@localhost etc]# cat cgi.cfg  | grep nagiosadmin
authorized_for_system_information=nagiosadmin
authorized_for_configuration_information=nagiosadmin
authorized_for_system_commands=nagiosadmin
authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin
authorized_for_all_service_commands=nagiosadmin
authorized_for_all_host_commands=nagiosadmin
[root@localhost etc]#


编译安装nagios-plugins

[root@localhost  ~]#  ./configure  --with-nagios-user=nagios --with-nagios-group=nagios
[root@localhost ~]# make
[root@localhost  ~]#  make install

编译完成之后,/usr/local/nagios/libexec下会有各种插件


7、启动apache和nagios:

service httpd start

service nagios start


8、访问:

http://IP/nagios



源码安装包下载