一、Nagios介绍
1、Nagios简介
- Nagion是一块开源的网路io及服务的监控工具,其功能强大,灵活性强。能有效监控故障级别发出告警信息(邮件、微信、飞信等),在状态恢复后发出正常的邮件或短信通知。
- Nagios服务端可以在Linux系统和类UNIX系统上运行,但目前无法在Windows上运行。Windows可以作为被监控的主机运行Nagios客户端软件。
- Nagios本身仅仅是一个监控平台,我们想监控的具体内容,理论上只要能通过Linux命令获取到,就可以纳入Nagios监控体系,所以可以说Nagios强大到无所不能的地步,我们可以通过官网来查看它的资料。
2、Nagios支持的主要功能
- 网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
- 主机资源监控(CPU load、disk usage、system logs),也包括Windows主机(使用NSClient++ plugin)
- 简单的插件设计模式,可以自己编写的Plugin通过网络收集数据来监控
- 并型服务检查及值
- 包含很多图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
- 自动的日志回滚
- 支持冗余监控
- 服务或主机出现问题时发出通告,可通过mail, im, sms 或任意用户自定义的plugin进行通知
- 包括Web界面可以查看当前网络状态,通知,问题历史,日志文件等
3、Nagios NRPE工作原理
通常由Nagios服务端发起获取数据请求,由check_nrpe插件携带要获取的命令,传给被监控端的nrpe守护进程(默认5666端口),nrpe进程读取nrpe.cfg里对应服务器端发送命令信息,调用本地插件获取数据,然后返回给Nagios服务器端check_nrpe,进而传给Nagios展示到Web界面中,严格将可以称之为半被动工作模式。
二、LAMP建构
实验环境:redhat6.5 selinux iptables off
yum install -y httpd php* ###这里就不下载数据库,有需求自行下载
三、Nagios安装
1、安装依赖
yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
2、创建nagios用户和用户组
useradd nagios ###并给用户设置密码
mkdir /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios
3、编译安装
cd nagios-4.3.4
./configure --prefix=/usr/local/nagios --with-command-group=nagios
make all
make install
make install-init ###安装初始化文件到/etc/rc.d/init.d/
make install-config ###生成Nagios模板配置到/usr/local/nagios/etc
make install-commandmode ###安装配置目录许可外部命令文件
四、安装Nagios Web配置文件及创建登陆用户
[root@server1 nagios-4.3.4]# make install-webconf ###生成/etc/httpd/conf.d/nagios.conf
[root@server1 nagios-4.3.4]# htpasswd -bc /usr/local/nagios/etc/htpasswd.users dream 1 ###默认用户密码的目录,用户为dream,密码为1
Adding password for user dream
五、安装Nagios插件
1、编译安装插件
tar xf nagios-plugins-2.2.1.tar-1.gz
cd nagios-plugins-2.2.1
./configure --prefix=/usr/local/nagios/
make && make install
2、设置用户
usermod -G nagios apache
/etc/init.d/httpd restart
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg ###检测配置文件是否正确或/etc/init.d/nagios configtest
/etc/init.d/nagios restart
3、报错
(1)报错显示
[root@server1 etc]# service nagios start
Starting nagios:This account is currently not available.
ERROR: Could not create or update '/usr/local/nagios/var/nagios.configtest'
(2)解决反案
usermod -s /bin/bash nagios
passwd nagios
4、测试
http:10.10.10.1/nagios
六、监控NFS服务
1、配置cgi.cfg
vim /usr/local/nagios/etc/cgi.cfg
use_authentication=0
2、查看服务注册端口
vim /etc/services
3、配置localhost.cfg
vim /usr/local/nagios/etc/objects/localhost.cfg
define service{
use local-service
host_name localhost
service_description NFS
check_command check_tcp!2049
notifications_enabled 0
}
/etc/init.d/nagios reload
4、测试
发现报错,因为我们并没有nfs服务
七、NFS服务安装
1、安装ngfs及rpcbind
yum install -y nfs*
/etc/init.d/rpcbind restart
/etc/init.d/nfs restart
[root@server1 nagios]# showmount -e 10.10.10.1
Export list for 10.10.10.1:
2、测试:
http://10.10.10.1/nagios/ ###点击services