说明:在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