2.总结zabbix主动模式和被动模式简介及实现?
答:zabbix主动模式和被动模式都是以zabbix agent的角度来看待监控问题的;
被动模式:是zabbix server向zabbix agent请求获取监控项的数据,zabbix agent返回监控项的数据,此模式是默认监控模式,如果有100个监控项,则zabbix server要和zabbix agent交互100次;
被动模式监控通信过程如下:
(1)zabbix server打开一个TCP连接,发送请求agent.ping;
(2)zabbix agent接收到请求,处理请求,并发送响应数据;
(3)zabbix server处理接收到的响应数据,关闭TCP连接;
被动模式每获取一个监控项都需要打开一个TCP连接,这样当监控项越来越多的时候,zabbix server会打开很多端口,就会出现server端的性能瓶颈问题;
在被动模式下,zabbix server会根据主机关联的模板中的监控项和数据采集的间隔时间,周期性地打开随机端口并向zabbix agent服务器的10050端口发起TCP连接,然后发送获取监控项数据的指令,即zabbix server发送什么指令,则zabbix agent就收集什么数据,zabbix server什么时候发送指令,zabbix agent就什么时候采集数据,zabbix server如果不发送指令,则zabbix agent就一直不响应,所以zabbix agent也不用关心其监控项和数据采集周期的间隔时间;
主动模式:zabbix agent主动请求zabbix server获取监控项列表,并主动将监控项内需要检测的数据提交给zabbix server,如果有100个监控项,则只需要1次交互即可;
主动模式监控通信过程分为两个部分,如下所示:
获取监控项列表:
(1)zabbix agent主动打开一个TCP连接,并向zabbix server发送获取监控项的请求;
(2)zabbix server返回监控项列表;
(3)zabbix agent处理响应,关闭TCP连接;
(4)zabbix agent开始收集监控项的数据值;
主动提交监控数据过程:
(1)zabbix agent建立TCP连接;
(2)zabbix agent批量提交监控项列表收集的所有监控项数据值;
(3)zabbix server处理zabbix agent返回的监控项数据值,并返回响应状态;
(4)zabbix agent关闭TCP连接;
一键安装zabbix agent2脚本(主动模式),可以用于ubuntu系统:
此脚本运行结果:
4.总结自定义监控,监控mysql主从同步的案例?
答:zabbix自定义监控项实现流程:
(1)在被监控主机端添加监控项,在目录/etc/zabbix_agent2.d/下创建一个XXX.conf的文件,在这个新创建的后缀名为.conf的文件中添加UserPatameter=key[*], command命令或者是shell脚本,编辑完成后,重启zabbix-agent2服务;
(2)在zabbix server服务器端用命令测试==》zabbix_get -s 被监控主机的IP地址 -k 在步骤(1)中定义的监控项key,看看能否通过这个命令取到监控项的值;
(3)在zabbix server web端创建自定义模板;
(4)在自定义模板中添加被监控端设置的监控项;
(5)将这个自定义的模板关联到被监控的主机;
(6)观察被监控主机的最新监控数据。
mysql主从同步监控的实现:
监控主机zabbix server配置为主mysql服务器,被监控主机web1配置为从mysql服务器;
在被监控主机web1的目录/etc/zabbix/zabbix_agent2.d/下,创建文件all.conf,并编辑其内容如下:
监控脚本的编辑内容如下: