Nagios是什么?
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
Nagios 是电脑系统和网络监控程序,用于检测主机和服务,当异常发生和解除时能提醒用户;是基于 GPLv2 开发的开源软件,可免费获得及使用。
Nagios 原名 NetSaint,由 Ethan Galstad 开发并维护至今。NAGIOS 是简称,全写“Nagios Ain’t Gonna Insist On Sainthood”,Sainthood 意思是“圣者”,而“Agios”是“saint”的希腊文。Nagios 在 Linux 运作,但也能用于 Unix。
Nagios主要功能
网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
主机资源监控(CPU load、disk usage、system logs),也包括 Windows 主机(使用 NSClient++ plugin)
可以指定自己编写的 Plugin 通过网络收集数据来监控任何情况(温度、警告……)
可以通过配置 Nagios 远程执行插件远程执行脚本
远程监控支持 SSH 或 SSL 加通道方式进行监控
简单的 plugin 设计允许用户很容易的开发自己需要的检查服务,支持很多开发语言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)
包含很多图形化数据 Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios 等)
可并行服务检查
能够定义网络主机的层次, 允许逐级检查, 就是从父主机开始向下检查
当服务或主机出现问题时发出通告,可通过 email, pager, sms 或任意用户自定义的 plugin 进行通知
能够自定义事件处理机制重新激活出问题的服务或主机
自动日志循环
支持冗余监控
包括 Web 界面可以查看当前网络状态,通知,问题历史,日志文件等
系统需求
Nagios所需要的运行条件是机器必须可以运行Linux(或是Unix变种)并且有C语言编译器。你必须正确地配置TCP/IP协议栈以使大多数的服务检测可以通过网络得以进行。你需要但并非必须正确地配置Nagios里的CGIs程序,而一旦你要使用CGI程序时,你必须要安装以下这些软件…一个WEB服务(最好是Apache)
获取Nagios插件包地址
https://www.nagios.org/downloads/nagios-plugins/
获取Nagios包地址
https://www.nagios.org/downloads/nagios-core/thanks/?skip=1&product_download=nagioscore-source
环境准备
我的操作系统 Centos 7.3
安装相关依赖库环境
# 关闭防火墙
systemctl stop firewalld
# 关闭selinux安全策略机制
setenforce 0
# 安装Nagios的依赖库和环境
yum -y install php-mysql mysql mysql-server
yum -y install httpd php php-gd gd gd-devel openssl openssl-devel
# 编辑修改阿帕奇配置文件
vim /etc/httpd/conf/httpd.conf
编写PHP测试页面
vi /var/www/html/index.php
cat /var/www/html/index.php
<?php
phpinfo();
?>
# 杀死nginx进程
pkill -9 nginx
# 再次启动阿帕奇服务
systemctl start httpd
获取上传Nagios服务安装包和Nagios插件安装包到服务器
# 拷贝nagios源码包和插件包至指定路径
cp nagios-* /usr/local/src/
# 切换至此目录
cd /usr/local/src/
# 创建nagios用户
useradd nagios
# 解压nagios服务安装包
tar zxf nagios-4.0.3.tar.gz
#进入nagios安装包
cd nagios-4.0.3/
编译并安装Nagios服务的源码包
安装时间比较漫长,耐心等待即可
./configure --prefix=/usr/local/nagios --with-command-group=nagios && make all && make install && make install-config && make install-init && make install-webconf && make install-commandmode
生成认证文件,并创建认证用户nagiosadmin
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
密码随意创建
# 返回上一级目录
cd ..
# 解压Nagios插件安装包
tar zxf nagios-plugins-1.5.tar.gz
# 并进入Nagios插件包目录下
cd nagios-plugins-1.5/
编译并安装Nagios服务的插件包
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios && make all && make install
安装时间比较漫长,耐心等待即可
启动Nagios
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
# 重启阿帕奇服务
systemctl restart httpd
访问Nagios监控页面
至此,Nagios监控服务部署完毕。