Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
为企业提供成都网站建设、成都做网站、网站优化、网络营销推广、竞价托管、品牌运营等营销获客服务。创新互联建站拥有网络营销运营团队,以丰富的互联网营销经验助力企业精准获客,真正落地解决中小企业营销获客难题,做到“让获客更简单”。自创立至今,成功用技术实力解决了企业“网站建设、网络品牌塑造、网络营销”三大难题,同时降低了营销成本,提高了有效客户转化率,获得了众多企业客户的高度认可!(1) 在ip为172.25.0.3主机中安装nagios
# tar jxf nagios-cn-3.2.3.tar.bz2
# yum install -y gd-devel // ./configure时需要gd
#cd nagios-cn-3.2.3
# ./configure
# useradd -M -d /usr/local/nagios -G nagcmd nagios //创建nagios用户,指定家目录/usrlocal/nagios,指定用户组nagcmd。
# usermod -G nagcmd apache // 将apache加到和nagios同一个组(nagcmd) 中
# make all
这时编译完毕提示make install-init、make install-commandmode、make installconfig\make install-webconf等四项make命令,依次执行毕。
# htpasswd /usr/local/nagios/etc/htpasswd.users nagiosadmin //修改nagios登录密码
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg //检查nagios配置是否正确
# /etc/init.d/nagios start
在浏览器中输入172.25.0.3/nagios,出现nagios的web界面。
nagios这时还不能使用,还要安装nagios-plungin。
# /etc/init.d/httpd start
# tar zxf nagios-plugins-2.1.1.tar.gz
#cd nagios-plugins-2.1.1
#yum install openssl-devel
#./configure --with-nagios-user=nagios --with-nagios-group=nagios //以nagios组和nagios用户安装
#make && make install
#chown nagios.nagios /usr/local/nagios/libexec/* -R
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
#/etc/init.d/nagios reload
在/usr/local/nagios/etc/中,编辑nagios.cfg:
在cfg_file=/usr/local/nagios/etc/objects/temlates.cfg下>面加入两行:
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
并将下两行的localhost.cfg注释
在/usr/local/nagios/etc/objects/中,
#cp localhost.cfg hosts.cfg
#cp localhost.cfg services.cfg // 创建主机和服务配置文件
在hosts.cfg中,仅保留一个host和hostgroup,并适当修改。在services.cfg中,保留一个servicegroup,并适当修改。
监控指令是调用/usr/local/nagios/libexec里面的check文件实现>的。比如,在该目录下
#./check_disk -w 20 -c 10 // 检测存储空间,低于20%时警告,低于10%时告警通知。
在/usr/local/nagios/etc/objects/中,有几个cfg文件:
command.cfg用来配置services.cfg的check命令;
templates.cfg是模板配置,包含最基本的配置如监控间隔,报警阈值等;
timeperiod.cfg是监控时间配置;
contacts.cfg是联系人配置,设置邮件发送。
重启nagios。
(2) 监控远程主机
我们接下来在172.25.0.3(server3)中监控172.25.0.2(server2)主机。
nagios监控采集依赖数据库,因此在server2的mysql中,创建nagios用户。
在server3中
#/usr/local/nagios/libexec/check_mysql -H 172.25.0.2 -u nagios -p nagios
会显示一些信息,说明能够调用server2的mysql。
或者
#mysql -h 172.25.0.2 -u nagios -p nagios
能进入nagios用户的数据库。
在command.cfg中,加入check_mysql模块:
define command{
command name check_mysql
command_line $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$
}
在services.cfg中加入check_mysql模块:
在hosts.cfg 中加入添加server2的host模块。
define host{
use linux-server
host-name server2.example.com
alias Slave
parents 172.25.0.3
address 172.25.0.2
icon_p_w_picpath server.gif
statusmap_p_w_picpath server.gd2
2d_coords 400.100
3d_coords 400.100.100
}
重启nagios。
(3) nrpe被动监控
至此nagios监控还是主动式监控。要提高效率需要被监控主机向监控机提供信息,即被动式监控。可以通过nrpe实现。
在server2上,解压nagioss-plugins-2.1.1.tar.gz和nrpe-2.15.tar.gz
安装openssl-devel
编译安装nagios-plugins。
nrpe依赖xinetd,因此安装xinetd。
编译安装nrpe
修改/etc/xinetd/nrpe,将only from后面的ip改为172.25.0.3.
修改/etc/services,在tcpmux上一行加入
nrpe 5666/tcp
依次运行下列make指令
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd
启动xinetd服务
#scp /usr/local/nagios/libexec/check_nrpe 172.25.0.3:/usr/local/nagios/libexec
在server3中,
#chown nagios.nagios check_nrpe
#./check_nrpe -H 172.25.0.3 //显示nrpe版本号
#./check_nrpe -H 172.25.0.3 -c check_disk //通过nrpe调用172.25.0.2主机的check_disk
依次在command.cfg,services.cfg中加入check_nrpe模块。重启nagios服务
这样nrpe被动监控搭建成功!
(4)告警通知
nagios监控发现异常后会通过邮件方式通知。
在server3中的command.cfg中修改为自己的邮箱地址即可。
重启nagios。
设置自己邮箱白名单,将root@172.25.0.3添加到白名单,这样nagios有告警就会向邮箱发送邮件。
另一种通用多元化的通知方式:110云告警
登陆www.onealert.com 注册帐号,扫描二维码绑定微信。按照网页>文档说明安装配置110云告警插件。告警方式有邮件,微信,电话,
短信等。
至此,nagios监控搭建完毕 !
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。