client端服务安装:

*监控方式随便,但是常见的有下面几种;

*1、使用nagios自带插件监控,也就是nrpe方式;不足之处每台client都需要安装,推荐将编译包进行rpmind,搭建yum源,执行yum即可;

*2、snmp方式,好处client端只需要开启snmp服务即可,不足之处每个厂商的oid不尽相同,给监控脚本开发带来不便,推荐开发一个高效率的万能agent;

*3、ssh方式,好处监控脚本易于编写,不足频繁执行会对客户端增加不必要的负担。

*我这边的Client和Server端系统一样,ip为192.168.100.186*

useradd -M -s /sbin/nologin nagios
tar zxvf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl --enable-perl-modules 
make && make install
cd ..
tar zxvf nrpe-2.12.tar.gz 
cd nrpe-2.12
./configure -enable-command-args
make all
make install-plugin
make install-daemon
make install-daemon-config

* 首先删除初始的监控服务,下面的截图是我测试过程中的配置

wKioL1Odkzjw3HfxAAOjlg9LbVA094.jpg

wKiom1Odk3jgk7DEAAHf39ccF5E559.jpg

Centreon-Server主机定义

配置-》主机-》Centreon-Server,主机继承了generic-host模板,不需要修改,默认即可。

查看模板配置配置-》主机-》模板-》generic-host,可根据情况修改。

wKioL1Odk3-S0omQAAG8P2FsUVA370.jpg

定义主机服务:首先创建一个check_ping检查主机存活命令

配置-》命令-》增加

wKiom1Odk8ujAuPvAAJ9lz4aCo8028.jpg

添加check_ping服务

配置-》服务-》增加-》服务配置

定义的服务继承了generic-service服务模板,配置-》服务-》模板-》generic-service

wKioL1Odk9azMJPNAAFtrG7ZXQ4287.jpg

配置-》服务-》增加-》关系  添加Centreon-Server


wKiom1OdlBrRR5HaAAFX_-E4H1c848.jpg

保存后生效


wKiom1OdlC3zWZtUAAIcGa9gQ00044.jpg

检查是否正确并生成配置:管理-》nagios 勾选所有动作-》导出


wKiom1OdlEKz7iRDAANE0gpgCoA842.jpg

等待几分钟后,查看服务是否正常:监控-》服务-》所有服务

*接下来演示通过nrpe插件来监控本机的状态,先测试一下配置是否正确。

*测试本机命令:/usr/local/nagios/libexec/check_nrpe -H127.0.0.1

wKioL1OdlE_Cdi2aAAD-shVq9rQ127.jpg

wKioL1OdlGGAxPghAAJopop3oqg644.jpg


定义check_nrpe命令:

命令名:check_nrpe

命令行:$USER1$/check_nrpe-H $HOSTADDRESS$ -c $ARG1$

wKiom1OdlKjzvtHuAADW-W7OUCY633.jpg

添加nrpe常用的服务模板,依次演示nrpe.cfg的监控项,修改nrpe配置后重启服务:

vim/usr/local/nagios/etc/nrpe.cfg 

wKiom1OdlLzAHoG8AAJOfvtepV0583.jpg

配置-》服务-》模板-》增加

添加check_load

上面作为参数传递的check_load;其实是客户端配置文件nrpe.conf指定的名字;流程就是,服务器端执行check_nrpe去使客户端执行check_load,并返回结果~

wKioL1OdlKKBXhHiAAHYYSR2m2M959.jpg

添加check_users

wKioL1OdlLeSbhrQAAHzamOrDDI294.jpg

添加check_ disk


wKiom1OdlPey5E79AAHWuFS-hso297.jpg

添加check_zombie_procs

wKioL1OdlQPjMyTkAAH3SzvOdgU231.jpg

添加check_total_procs


wKiom1OdlUXyOiw2AAIJv7sNHAY661.jpg

Ps:为什么在上面都没有填写时间之类的?

请看:

我们所继承的generic-service已经进行了设置,当然你也可以自己设置,那样的话你设置的时间会优先于继承的属性;

wKiom1OdlVnhFqSIAAJGuH9W0ZY112.jpg

关联模板:因为 Centreon-Server继承的是generic-host主机模板,所以我们在generic-host模板里将刚才的服务模板都关联上


wKioL1OdlT_ji8HUAAI9LYeAgY8349.jpg

接下来进入Centreon-Server主机配置,将“创建与模板相关的服务”选为yes后保存

wKiom1OdlX_QZjGWAAIxx7Dzxak028.jpg

再次查看Centreon-Serve服务,已经生成  (记得重启~见前面截图);

*客户端检查nrpe配置并启动*nrpe.cfg与上面服务器端一致

wKiom1OdlZ2gWQn-AACsdubCa5o113.jpg

*服务器端测试nrpe(测试两者之间是否可以正常通信)

wKioL1OdlYTwu_lAAABh_sXTdLE062.jpg

wKiom1Odlenwd9W9AAHiAlIN_y4913.jpg

  将上面所有的nrpe服务模板关联到客户机要继承的Servers-Linux主机模板里:

配置-》主机-》模板-》Servers-Linux

wKioL1OdldqQkSheAAHkr9jtuRw993.jpg

添加客户端:配置-》主机-》添加

完成后将自动创建关联的服务

wKioL1OdlfKRsE8JAAOoY9d7sZU249.jpg

wKiom1OdljKBU3-dAAJgiLlQRRc861.jpg

再次检查生成nagios配置:

并且重启


wKiom1OdllLhK0DsAAPygtcLqGY023.jpg

wKioL1OdljSQndsBAAGRiM-0zVU607.jpg

wKioL1OdllmQVawJAADdZMufNrI388.jpg

现在client相比Centreon-Server少了check_ping检测主机存活的监控,我们可以在check_ping服务里直接关联client主机。

wKiom1OdlprBZ0sVAAMMRSvVH1I316.jpg

重新加载配置:

系统的基本监控差不多完成了,如果要添加其他的监控,比如mysqlapachenginx等都有对应的监控插件,按照以上的步骤相信都能够完成。


wKioL1Odln6SzvPVAAG7OtVvRws500.jpg

如果都是基于模版创建的主机,最方便的方法是直接修改主机模版,这样就不需要一台一台修改了。上次试验是通过Servers-Linux模版建立client的,查看Servers-Linux模版:

配置-》主机-》模版-》Servers-Linux


wKioL1OdlpqgAXdyAAJHjjtF9Ds201.jpg

查看后发现这个模版本身还继承了generic-host模版,所以我们可以直接修改generic-host,这些配置都是安装完成Centreon后默认的模版,你也可以基于generic-host创建自己的模版。

配置-》主机-》模版-》generic-host


wKiom1OdluDzJf0ZAAH9yA_Y5kc525.jpg

这是通过修改模版来开启报警的,也可以单独修改自己创建的主机。


wKiom1OdlvKD63T4AAJVSJXuJ-A158.jpg

上次创建的nrpe服务模版都是继承generic-service父模版,

配置-》服务-》模板-》generic-servic


wKioL1OdltSyPzRjAAGaxFb3S3Y767.jpg

同上,也可以单独修改某个主机的一个或多个服务报警。


wKiom1OdlxXxWA4oAAIWbvTybgY070.jpg

上面配置的联系人我配置的cc_cc,这个用户是安装时候填写的,是admin的别名。

进入 配置-》用户-》admin 修改

邮箱:填写接收报警邮箱

页面:填写手机号,配置短信报警后将会用到.


wKioL1Odlvuiq6YbAAHFkNFmaDk892.jpg

主机和服务都默认选择了邮件报警