Zabbix Server 系统版本:Centos7 3.10.0-514.21.2.el7.x86_64
Zabbix Server版本:Zabbix 3.4.2
准备被监控的主机的系统版本:Centos7
一、导入Zabbix源
Zabbix官方提供了源,目录:http://repo.zabbix.com/zabbix/。需要根据自己使用的Zabbix Server版本与系统版本选择匹配的源。
比如博主Zabbix Server是3.4.2,Agent 操作系统是Centos7,博主就选择了下面的源。
rpm -ihv http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
如果不小心装错了可以使用下面呢命令卸载源:
rpm -e zabbix-release-3.4-2.el7.noarch
并更新yum源:
yum clean all yum makecache
二、安装Agent客户端
yum install zabbix-agent -y
三、修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
需要修改该文件以下内容:
Server=192.168.1.132 # 用于被动模式,数据获取 ListenPort=10050 ServerActive=192.168.1.132 # 用于主动模式,数据提交 Hostname=rd_upsource # 此名称必须与服务器端的配置一致 EnableRemoteCommands = 1 #允许远程执行命令
四、启动Agent
systemctl start zabbix-agent
启动的时候可能会无法启动,提示:ob for zabbix-agent.service failed because a configured resource limit was exceeded. See "systemctl status zabbix-agent.service" and "journalctl -xe" for details.
经过本人研究需要关闭SELinux,才能启动Agent。
临时关闭:
setenforce 0
永久关闭:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
五、自动部署脚本
echo "Welcome to use the zabbix-agent automatic installation script." echo "by yaping.yang 2018/01/24" echo "Please input zabbix-server IP:" read zabbix_server_ip echo "Please input zabbix-agent hostname:" read zabbix_agent_hostname echo "You zabbix server ip is :$zabbix_server_ip" echo "You zabbix agent hostname is:$zabbix_agent_hostname" echo "Please confirm the above information(yes|no,y|n):" read confirm_input if [[ $confirm_input == "yes" || $confirm_input == "y" ]];then echo "Start..." else echo "exit" exit fi # install zabbix rpm -ihv http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm yum install zabbix-agent -y # configuation zabbix sed -i "s/Server=.*/Server=$zabbix_server_ip/" /etc/zabbix/zabbix_agentd.conf sed -i 's/# ListenPort=.*/ListenPort=10050/' /etc/zabbix/zabbix_agentd.conf sed -i "s/ServerActive=.*/ServerActive=$zabbix_server_ip/" /etc/zabbix/zabbix_agentd.conf sed -i "s/Hostname=.*/Hostname=$zabbix_agent_hostname/" /etc/zabbix/zabbix_agentd.conf sed -i 's/# EnableRemoteCommands=.*/EnableRemoteCommands=1/' /etc/zabbix/zabbix_agentd.conf # disable SELINUX sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config setenforce 0 # autoboot agent systemctl enable zabbix-agent systemctl restart zabbix-agent systemctl status zabbix-agent # allow to through firewalld sudo firewall-cmd --get-active-zones sudo firewall-cmd --zone=public --add-port 10050/tcp --permanent sudo firewall-cmd --reload