Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
Nagios可以监控的功能有:1、监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);2、监控主机资源(处理器负荷、磁盘利用率等);3、简单地插件设计使得用户可以方便地扩展自己服务的检测方法;4、并行服务检查机制;5、具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;6、当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);7、可以定义一些处理程序,使之能够在服务或者主机发生故障时起到预防作用;8、自动的日志滚动功能;9、可以支持并实现对主机的冗余监控;10、可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;11、可以通过手机查看系统监控信息;
12、可指定自定义的事件处理控制器;
Nagios工作原理:Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。
启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来。Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在nagios主目录下的/libexec里放有nagios自带的可以使用的所有插件,如,check_disk是检查磁盘空间的插件,check_load是检查CPU负载的,等等。每一个插件可以通过运行./check_xxx –h 来查看其使用方法和功能。Nagios可以识别4种状态返回信息,即 0(OK)表示状态正常/绿色、1(WARNING)表示出现警告/黄色、2(CRITICAL)表示出现非常严重的错误/红色、3(UNKNOWN)表示未知错误/深黄色。Nagios根据插件返回来的值,来判断监控对象的状态,并通过web显示出来,以供管理员及时发现故障。
实验环境
|Host-name |OS | IP Software
|-Nagios-server Centos7 192.168.1.111 Apache php Nagios nagios-plugins
Nagios-client| Centos7 192.168.1.112–| nagios-plugins nrpe
Server安装了nagios软件,对监控的数据做处理,并且提供web界面的查看和管理,也可以对本机自身的信息进行监控。Client安装了NRPE等客户端,根据监控机的请求执行监控,然后将结果回传给监控机。
实验前的环境配置:
防火墙已关闭:/iptables:Firewall is not running
SELINUX=disabled
配置 了本地yum 源,检查依赖环境
(1)关闭防火墙
systemctl stop firewalld
systemctl status firewalld
(2)vi /etc/selinux/config
SELINUX=disabled
(3)本地yum源配置
右键虚拟机-----进入“虚拟机设置”----点击“CD/DVD(IDE)”----选中安装时的镜像-----勾选上“启动时连接”—再勾选“已连接”—点击确定
然后进入虚拟机终端执行以下命令进行本地yum源的配置
#mkdir /media/cdrom #新建一个挂载点
#mount /dev/cdrom /media/cdrom / #挂载镜像到挂载点
#cd /etc/yum.repos.d / #进入yum 源配置目录
#mkdir bak #新建一个文件夹
#mv .*repo bak / #改变网络源文件目录即停止使用网络源
cp -p bak/CentOS-Media.repo . #拷贝一份源配置文件到yum.repos.d目录
vi CeontOS-Media.repo将enabled=0改为1 #开启本地源
完成之后执行命令#yum clean all #清空yum缓存
yum makecache #制作新的缓存
完成本地yum源的配置之后我们就可以安装依赖环境了
执行命令yum -y install gcc glibc glibc-common php php-gd perl httpd gd gd-devel openssl openssl-devel(注意:上述操作在server端和client端都要进行)
上述所有操作完成之后我们开始在Nagios-server端进行nagi