上一章链接:【Zabbix4.0搭建使用】1. Zabbix4.0部署
本文部分内容引用自《Zabbix 企业级分布式监控系统》一书。
在上一章,我们已经完成了Zabbix4.0的搭建,本章我们利用Zabbix自带的监控项完成对系统性能的监控;
一、数据采集模式
Zabbix的数据采集方式很多,此处我们选择最常用的agent;
数据采集模式分为主动模式和被动模式。
主动模式:agent主动去连接server端的10051端口,将监测数据发送过去,需要server端iptables开启10051的tcp INPUT;
被动模式:server端主动去连接agent的10050端口,获取监测数据,需要agent端iptables开启10050的tcp INPUT、OUTPUT;
Zabbix-agent同时支持主动模式和被动模式采集,两者的优劣势主要体现在性能消耗上;
- 主动模式下,server端性能消耗很低,性能消耗分布在agent端,适合大规模监控环境;
- 被动模式下,server端性能消耗较高,agent端基本无性能消耗,适合小规模监控环境;
我们选择 Zabbix-agent + 主动模式 进行数据采集
二、本章工作
接下来我们完成对 Zabbix server 及 测试机的监控,需要进行的工作有:
- 分别在 Zabbix server 和 测试机 上部署Zabbix-agent,并开启主动模式
- Zabbix Web 端 创建主机组、主机
- 创建监控图表
三、Zabbix-agent部署
部署Zabbix-agent
[root@soft-pro-monitor /]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@soft-pro-monitor /]# yum clean all
[root@soft-pro-monitor /]# yum install -y zabbix zabbix-agent
修改iptables
[root@soft-pro-monitor /]# vim /etc/sysconfig/iptables
#zabbix
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
-A OUTPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
:wq保存退出
[root@soft-pro-monitor /]# systemctl restart iptables
开启主动模式
配置/etc/zabbix/zabbix-agentd.conf
[root@ruhr-master zabbix]# egrep -v "^#|^$" zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=xxx.xxx.xxx.xxx,xx1.xxx.xxx.xx2 /*被动模式,多个IP用逗号分隔*/
ServerActive=xxx.xxx.xxx.xxx,xx1.xxx.xxx.xx2 /*主动模式*/
Hostname=ruhr-pro-master /*主动模式下,该值必须与Zabbix-Web中的主机名一致,否则会报错*/
Include=/etc/zabbix/zabbix_agentd.d/*.conf /*子配置文件,自定义监控项时就是将自定义的配置文件放到这里*/
[root@ruhr-master zabbix]#
启动Zabbix-agent
/* CentOS 7 */
[root@soft-pro-monitor /]# systemctl enable zabbix-agent
[root@soft-pro-monitor /]# systemctl start zabbix-agent
/* CentOS 6 */
[root@soft-pro-monitor /]# chkconfig zabbix-agent on
[root@soft-pro-monitor /]# service zabbix-agent start
四、完成监控
-
创建主机组
-
修改模板为主动模式
-
创建主机
最后点击添加即可。
创建图表
按照上述步骤,依次配置我们需要的监测项进行监控即可,Zabbix自带的模板中已经预设好了很多监控项,涵盖CPU、内存、磁盘、网络、IO、进程数等,可以完成大部分需求了;如果仍然无法满足,也可以自定义监控项,后续我们会讲到自定义监控项的创建与应用
感谢阅读,有兴趣的小伙伴可以关注我的公众号DevOps探索之旅
,大家一起学习进步