Zabbix安装(四):Zabbix Agent For Linux
推荐 原创月晴星飞2014-11-18 14:59:39©著作权
文章标签agentdzabbix_agentd文章分类Zabbix阅读数1.4万
说明:在Linux系统环境下安装Zabbix客户端。
一、设置主机名
[root@agent01 ~]# hostname agent01.ewin.com
[root@agent01 ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=agent01.ewin.com
- 1.
- 2.
- 3.
- 4.
二、手动安装方式
1、依赖软件
[root@agent01 ~]# yum install -y gcc curl
- 1.
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
- 1.
- 2.
- 3.
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
- 1.
- 2.
- 3.
- 4.
- 5.
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"
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
说明: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
- 1.
最后一名是自定义的自动监控端口脚本,详见:
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
- 1.
- 2.
- 3.
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.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
三、自动安装方式
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
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
2、运行安装脚本
[root@agent01 ~]# cd /home
[root@agent01 home]# chmod +x autozabbix.sh
[root@agent01 home]# ./autozabbix.sh
- 1.
- 2.
- 3.
上图是在VM虚拟机上测试时截的图,IP和路径都不是本章实例,大致相同,仅供参考。
四、测试
安装好后可以在zabbix服务端进行连接测试:
[root@zabbix ~]# /usr/local/zabbix/bin/zabbix_get -s 10.188.1.88 -p 10050 -k "system.uptime"
1060020
- 1.
- 2.
上面的命令返回客户端在线时长,以秒为单位,有数据返回表示安装成功。
五、关于服务重启
在客户端运行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
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
2、关闭进程
[root@agent01 ~]# ps ax|grep zabbix_agentd|grep -v grep |awk '{print $1}'|xargs kill -9
- 1.
说明:看不懂上面的命令,可以将进程一个个杀死:kill -9 43136 (43136-43140是进程ID,全kill掉),删除后再用ps命令查看下是否杀干净。
3、启动服务
[root@agent01 ~]# service zabbix_agentd start
- 1.
说明:启动后再用ps命令查看下是否成功启动。
六、使用puppet自动部署zabbix agent(linux环境)
http://ywzhou.blog.51cto.com/2785388/1577573