控对于对于系统管理人员的日常运维工作来说是非常重要的,而比较知名的开源监控软件有Ganglia、Cacti、Nagios、Zabbix等等,而本次就简单的说下Nagios的安装部署,因为Nagios是基于web页面查看管理的,那可以选用lamp或者是lnmp这些比较容易实现的web系统框架来实现即可,Nagios的官网是:https://www.nagios.org/downloads/,当然下载版本建议用最新的稳定版。Nagios的监控实现是由各个插件来完成的它本身是没有监控功能的,所以Nagios使用非常灵活,而在需要监控不同的平台主机、硬件时用不同的插件,下面从网页上找的一张图能很好的说明:
从图中得知Nagios监控中的插件SNMP在不同平台的主机、硬件上都有用到,而Linux中有send-nsca和NRPE一般我们常用的是NRPE,监听的是tcp的5666端口;而在Windows主机上使用的是NSClient++,监听的是12489和5666端口,这一点很重要做为被监控的主机上一定要开放这些端口。
在安装Nagios之前需要先安装Nagios的监控主机(server端),然后再到被监控主机(clinet端)上安装相应的插件。
1、server端:
在安装之前先要检查依赖包
[root@localhost ~]# yum -y groupinstall "Development Tools" "Development Libraries"#在配置好yum源的主机上,先检查下开发包组是否安装
[root@localhost ~]# yum -y install httpd php php-mysql gd gd-devel sendmail openssl-devel#这里是测试就没有用编译包的php和apache,一般来说建议使用编译包
在依赖关系解决后就开始正常的Nagios安装,先安装Nagios的核心引擎和web页面
[root@linuxidc ~]# groupadd -r nagcmd#添加nagcmd组
[root@linuxidc ~]# useradd -M -G nagcmd -r -s /sbin/nologin nagios
[root@linuxidc ~]# passwd nagios
[root@linuxidc ~]# usermod -a -G nagcmd apache#把nagcmd组附属在apache组
[root@linuxidc ~]# cd /usr/local/src/nagios-4.3.1
[root@linuxidc nagios-4.3.1]# ./configure --sysconfdir=/etc/nagios --prefix=/usr/local/nagios --with-command-group=nagcmd --enable-event-broker
[root@linuxidc nagios-4.3.1]# make all && make install
[root@linuxidc nagios-4.3.1]# make install-init && make install-commandmode && make install-config#添加相应的插件
[root@linuxidc nagios-4.3.1]# vim /etc/nagios/objects/contacts.cfg#修改邮件接收人的配置文件,在此就不做过多的说明,配置文件的注释里都有,主要改的就是邮箱地址
[root@linuxidc nagios-4.3.1]# make install-webconf#配置web配置文件
[root@linuxidc nagios-4.3.1]# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin#配置Nagios的页面密码
New password:
Re-type new password:
Adding password for user nagiosadmin
到此nagios的核心引擎和基本web页面就已经安装完毕,在此直接启动httpd后使用浏览器测试下
此时的Nagios是不具备任何监控功能,因为这台Nagios主机是Linux服务器,所以监控插件在这里选比较常用的nrpe,在安装nrpe之前要先安装好Nagios的插件plugins
[root@localhost nagios-4.3.1]# cd ../nagios-plugins-2.1.4
[root@localhost nagios-plugins-2.1.4]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[root@localhost nagios-plugins-2.1.4]# make && make install
[root@localhost nagios-plugins-2.1.4]# chkconfig --add nagios#添加Nagios的服务
[root@localhost nagios-plugins-2.1.4]# chkconfig nagios on#Nagios开机自启动
[root@localhost nagios-plugins-2.1.4]# /etc/init.d/nagios start
[root@localhost nagios-plugins-2.1.4]# getenforce#此处要注意的是要检查是否服务器上有开启selinux,如果有开启要选择关闭吧或者在selinux中添加nagios的相应文件到可以执行的标签中
Enforcing
[root@localhost nagios-plugins-2.1.4]# chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
[root@localhost nagios-plugins-2.1.4]# chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
此时在server端上的Nagios的插件就已经安装完毕,此时便可以安装Nagios的nrpe插件
[root@localhost nagios-plugins-2.1.4]# cd ../nrpe-3.0.1/
[root@localhost nrpe-3.0.1]# ./configure --with-nrpe-user=nagios --with-nrpe-group=nagios --with-nagios-user=nagios --with-nagios-group=nagios --enable-command-args --enable-ssl --sysconfdir=/etc/nagios
[root@localhost nrpe-3.0.1]# make all && make install-plugin
这样在server端上的Nagios就已经安装部署完毕,此时Nagios已经可以自行监控本机。
2、clinet端:
此处的客户端为了快速简单的部署实现,在这里就用另外一台Linux服务器来搭建。同理,在Nagios的client端下也要添加相应的用户。当然,也要先安装好Nagios的插件