说明:在Linux系统环境下安装Zabbix客户端。
一、设置主机名
[root@agent01 ~]# hostname agent01.ewin.com [root@agent01 ~]# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=agent01.ewin.com
二、手动安装方式
1、依赖软件 [root@agent01 ~]# yum install -y gcc curl 2、下载 http://www.zabbix.com/download.php [root@agent01 ~]# mkdir /home/zabbix [root@agent01 ~]# cd /home/zabbix [root@agent01 zabbix]# wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.5/zabbix-2.2.5.tar.gz 3、安装 [root@agent01 zabbix]# useradd zabbix -s /sbin/nologin [root@agent01 zabbix]# tar zvxf zabbix-2.2.5.tar.gz [root@agent01 zabbix]# cd zabbix-2.2.5 [root@agent01 zabbix-2.2.5]# ./configure --prefix=/usr/local/zabbix_agent --enable-agent [root@agent01 zabbix-2.2.5]# make install 4、配置 [root@agent01 zabbix-2.2.5]# vi /usr/local/zabbix_agent/etc/zabbix_agentd.conf Server=10.188.1.103 #zabbix服务器IP Hostname=10.188.1.88 #客户端本机IP UnsafeUserParameters=1 #允许用户自定义参数 EnableRemoteCommands=1 #允许执行远程命令 UserParameter=tcpportlisten,/usr/local/zabbix_agent/sbin/discovertcpport.sh "$1" 说明:Zabbix Server的IP是10.188.1.103,也可以用主机名zabbix.ewin.com,需要设置本地域名解析: [root@agent01 zabbix-2.2.5]# echo "10.188.1.103 zabbix.ewin.com" >> /etc/hosts 最后一名是自定义的自动监控端口脚本,详见: http://ywzhou.blog.51cto.com/2785388/1580144 5、端口 [root@agent01 zabbix-2.2.5]# iptables -I INPUT -p tcp --dport 10050:10051 -j ACCEPT [root@agent01 zabbix-2.2.5]# iptables -I INPUT -p udp --dport 10050:10051 -j ACCEPT [root@agent01 zabbix-2.2.5]# service iptables save 6、启动 [root@agent01 zabbix-2.2.5]# cp /usr/local/zabbix_agent/sbin/zabbix_agentd /etc/init.d/ [root@agent01 zabbix-2.2.5]# chmod a+x /etc/init.d/zabbix_agentd [root@agent01 zabbix-2.2.5]# service zabbix_agentd start [root@agent01 zabbix-2.2.5]# echo "/etc/init.d/zabbix_agentd start" >> /etc/rc.local [root@agent01 zabbix-2.2.5]# ps ax|grep zabbix_agentd 43136 ? S 0:00 /etc/init.d/zabbix_agentd start 43137 ? S 3:49 /etc/init.d/zabbix_agentd: collector [idle 1 sec] 43138 ? S 1:16 /etc/init.d/zabbix_agentd: listener #1 [waiting for connection] 43139 ? S 1:19 /etc/init.d/zabbix_agentd: listener #2 [waiting for connection] 43140 ? S 1:18 /etc/init.d/zabbix_agentd: listener #3 [waiting for connection] 45111 pts/1 S+ 0:00 grep zabbix_agentd
三、自动安装方式
1、编写自动安装脚本
[root@agent01 ~]# cd /home
[root@agent01 home]# vi autozabbix.sh
#!/bin/bash
#下载编译安装zabbix客户端
yum install -y gcc curl
mkdir /home/zabbix
cd /home/zabbix
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.5/zabbix-2.2.5.tar.gz
useradd zabbix -s /sbin/nologin
tar zvxf zabbix-2.2.5.tar.gz
cd zabbix-2.2.5
./configure --prefix=/usr/local/zabbix_agent   --enable-agent
make install
#自动获取客户端的IP地址写入配置文件,这里指定了网络段为10.188.1开头的,根据自己的网段修改
IP="`ifconfig |grep 10.188.1|grep "inet addr:"|awk -F "  Bcast:" '{print $1}'|awk -F "inet addr:" '{print $2}'`"
echo "Server=10.188.1.103" > /usr/local/zabbix_agent/etc/zabbix_agentd.conf
echo "Hostname=${IP}" >> /usr/local/zabbix_agent/etc/zabbix_agentd.conf
echo "UnsafeUserParameters=1" >> /usr/local/zabbix_agent/etc/zabbix_agentd.conf
echo "EnableRemoteCommands=1" >> /usr/local/zabbix_agent/etc/zabbix_agentd.conf
echo "UserParameter=tcpportlisten,/usr/local/zabbix_agent/sbin/discovertcpport.sh "$1"" >> /usr/local/zabbix_agent/etc/zabbix_agentd.conf
#配置防火墙开放端口
iptables -I INPUT -p tcp --dport 10050:10051 -j ACCEPT
iptables -I INPUT -p udp --dport 10050:10051 -j ACCEPT
service iptables save
#启动服务
cp /usr/local/zabbix_agent/sbin/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
service zabbix_agentd start
echo "/etc/init.d/zabbix_agentd start" >> /etc/rc.local
#显示安装完成并显示进程启动状态和配置文件
echo "zabbix_agentd already install."
ps ax|grep zabbix_agentd
less /usr/local/zabbix_agent/etc/zabbix_agentd.conf
exit
fi
2、运行安装脚本
[root@agent01 ~]# cd /home
[root@agent01 home]# chmod +x autozabbix.sh
[root@agent01 home]# ./autozabbix.sh

上图是在VM虚拟机上测试时截的图,IP和路径都不是本章实例,大致相同,仅供参考。
四、测试
安装好后可以在zabbix服务端进行连接测试:
[root@zabbix ~]# /usr/local/zabbix/bin/zabbix_get -s 10.188.1.88 -p 10050 -k "system.uptime"
1060020
    上面的命令返回客户端在线时长,以秒为单位,有数据返回表示安装成功。
五、关于服务重启
 在客户端运行service zabbix_agentd restart|status|start|stop命令均无效,不明原因,重启服务可以用下面的方法:
1、查看进程
[root@agent01 ~]# ps ax|grep zabbix_agentd
43136 ?        S      0:00 /etc/init.d/zabbix_agentd start
43137 ?        S      3:55 /etc/init.d/zabbix_agentd: collector [idle 1 sec]
43138 ?        S      1:19 /etc/init.d/zabbix_agentd: listener #1 [waiting for connection]
43139 ?        S      1:21 /etc/init.d/zabbix_agentd: listener #2 [waiting for connection]
43140 ?        S      1:20 /etc/init.d/zabbix_agentd: listener #3 [waiting for connection]
48048 pts/1    S+     0:00 grep zabbix_agentd
2、关闭进程
[root@agent01 ~]# ps ax|grep zabbix_agentd|grep -v grep |awk '{print $1}'|xargs kill -9
说明:看不懂上面的命令,可以将进程一个个杀死:kill -9 43136  (43136-43140是进程ID,全kill掉),删除后再用ps命令查看下是否杀干净。
3、启动服务
[root@agent01 ~]# service zabbix_agentd start
说明:启动后再用ps命令查看下是否成功启动。
六、使用puppet自动部署zabbix agent(linux环境)
http://ywzhou.blog.51cto.com/2785388/1577573