一般工作中要部署新服务器,部署完成还要添加zabbix监控,所以安装zabbix客户端是很频繁的,我这里写了一个简单的自动安装脚本,不是很完善,但也可以平时拿来用。

    脚本运行的时候可能会出来一些错误,可以看终止时的错误信息,很可能是缺少相关的包,根据信息安装包再重新运行即可。

    注意修改配置的内容,要根据实际情况做相应的修改,比如server和hostname,server是服务端的ip,根据实际情况配置,hostname我这里设置的是客户端自己的ip,也可以根据自身情况修改。在获取本地ip时,这种写法不是最严密的,因为有的机器上有好几个网卡,而且网卡的网段也可能是同一个网段,这样的情况用本脚本的语法是不能正常获取的,所以还是在运行之前看一下自己网卡的情况。



#/bin/bash
#源码自动安装zabbix客户端脚本。
 
 
#检查zabbix用户是否存在
grep "^zabbix" /etc/passwd
if [ $? -ne 0 ]
then
   useradd zabbix -s /sbin/nologin
fi
 
#检测函数
check()
{
  if[ $? -ne 0 ]
 then
     echo "Error,Please check again."
     exit 1
  fi
}
 
#下载源码包
cd /home/zabbix
[ -f zabbix-2.2.10.tar.gz ] || wgethttps://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.10/zabbix-2.2.10.tar.gz
check
[ -d zabbix-2.2.10 ] || tar zxfzabbix-2.2.10.tar.gz
check
 
#检查原有zabbix服务,如果有则停掉
ps -elf |grep zabbix|grep -v grep
if [ $? -eq 0 ]
then
   /etc/init.d/zabbix-agent stop || /etc/init.d/zabbix-agentd stop
fi
 
#编译安装
cd zabbix-2.2.10
 ./configure --prefix=/usr/local/zabbix--sysconfdir=/usr/local/zabbix/conf --enable-agent
 check
 make
 check
 make install
  check
chown -R zabbix:zabbix /usr/local/zabbix
 
#添加到init进程
/bin/cpmisc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix-agentd
chmod 755 /etc/init.d/zabbix-agentd
grep "BASEDIR=/usr/local/zabbix"/etc/init.d/zabbix-agentd
if [ $? -ne 0 ]
then
   sed -r -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g'/etc/init.d/zabbix-agentd
fi
check
 
#修改配置文件
sed -r -i's#Server=127.0.0.1#Server=x.x.x.x#g'/usr/local/zabbix/conf/zabbix_agentd.conf
check
sed -r -i's/ServerActive=127.0.0.1/#ServerActive=127.0.0.1/g'/usr/local/zabbix/conf/zabbix_agentd.conf
check
ip=`/sbin/ifconfig |grep"addr"|grep "192.168."|awk '{print $2}'|awk -F':' '{print$2}'`
sed -r -i "s#Hostname=Zabbixserver#Hostname=$ip#g" /usr/local/zabbix/conf/zabbix_agentd.conf
check
 
chkconfig --add zabbix-agentd
chkconfig zabbix-agentd on
service zabbix-agentd start
 
netstat -lnp |grep zabbix
if [ $? -eq 0 ]
then
   echo "Zabbix agent install have completed."
fi