3.3 Zabbix-Agent客户端的安装
3.3.1 安装Zabbix-Agent
通过前面的介绍,我们知道Zabbix监控可以采用服务器端/客户端架构,其客户端的采集方式分为Agent、SNMP等。在这里,我们先学习使用Agent方式对服务器进行监控。在第8章中,将对其他监控方式(SNMP、JMX、IPMI)进行详细讲解。
在这里,我们对需要进行监控的服务器安装Zabbix-Agent,使用RPM包方式进行安装,命令如下:
shell# rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm #安装Zabbix官方的yum源 shell# yum install -y zabbix zabbix-agent #由于Zabbix-Server服务器本身也需要监控,所以在Zabbix-Server服务器中也同样需要安 #装Zabbix-Agent
注意:由于读者拿到本书时,Zabbix官方的RPM包会发布最新版本,如果安装软件包的版本与书中不一样,则以实际链接为准。
使用RPM包的安装方式相对简单,但如果有1000台服务器需要监控,那么这1000台服务器均需要安装Zabbix-Agent,这无疑是一项耗时、耗力的工作,这时可以考虑采用Ansible/SaltStack等自动化配置管理工具来进行安装。此外,读者可能还需要实现对Zabbix-Agent中配置文件的自动化修改、自定义脚本等功能需求,那么可以参考本书第14章的内容,对Zabbix-Agent的RPM包进行深度定制。
3.3.2 防火墙的设置
如果操作系统开启了防火墙,为了允许端口能够正常通信,则需要使用下列命令进行配置:
#CentOS 6 shell# vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050-j ACCEPT -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10051-j ACCEPT shell# service iptables restart #CentOS 7 shell# firewall-cmd --permanent --add-port=10050/tcp shell# firewall-cmd --reload
3.3.3 配置zabbix_agentd.conf
zabbix_agentd.conf是Zabbix-Agent的配置参数文件,需要对配置参数进行手动修改。修改的参数如下:
shell# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid #pid文件路径 LogFile=/var/log/zabbix/zabbix_agentd.log #日志文件路径 LogFileSize=0 #日志切割大小,0表示不切割 Server=127.0.0.1,10.0.2.50 #被动模式,Zabbix-Server的IP地址 ServerActive=127.0.0.1,10.0.2.50 #主动模式,Zabbix-Server的IP地址 Hostname=Zabbix server #本机的Hostname,使用主动模式则必须配置 Include=/etc/zabbix/zabbix_agentd.d/ #包含的子配置文件 UnsafeUserParameters=1 #启用特殊字符,用于自定义监控
参数含义如下。
· Server:被动模式,允许zabbix_server服务器连接客户端,此处允许本机和192.168.2.34访问10050端口,多个IP地址之间用逗号分隔。
· ServerActive:主动模式(详细内容参考本书8.3节),向目标zabbix_server服务器传送数据。这种模式的性能较好,建议使用,但需要确保zabbix_agentd.conf的参数Hostname值与Zabbix-Web页面中的主机名一致;否则,在zabbix-server.log中将会看到如下日志:
4558:20170805:100253.544 cannot send list of active checks to "10.0.2.30":host [web-1] not found
#日志的意思是,在Zabbix-Server上没有找到web-1主机名,数据无法匹配
配置完成后,使用如下命令启动Zabbix-Agent:
#CentOS 7 shell# systemctl enable zabbix-agent #添加到开机启动项中 shell# systemctl start zabbix-agent #启动服务 #CentOS 6 shell# chkconfig zabbix-agent on #添加到开机启动项中 shell# service zabbix-agent start #启动服务