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

wKiom1Rq4ivhwdZFAAOiqMorqf0506.jpg

    上图是在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