zabbix_agent安装脚本

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Linux_newbie_rookie/article/details/80885817

再一次安装zabbix,如下是zabbix客户端的安装以及调试的一个脚本,针对centos6,或者centos7。若执行有错,可适当调试自己的脚本

#!/bin/bash

cat /etc/redhat-release |awk -F " " '{print $3}'
read -p "Please select your Linux system(6|7):" systemid
case $systemid in
6)
read -p "Please input zabbix_Server IP:" SERVERIP
read -p "Please input zabbix version(2.4.7|3.4.10):" version
BENDIIP=`ifconfig eth0|awk -F '[addr: ]+' 'NR==2{print $3}'`
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
yum clean all
yum repolist
[ -d "/root/ruanjian" ]&& echo "cunzai" || mkdir /root/ruanjian;cd /root/ruanjian
groupadd -g 1001 zabbix 
useradd -u 1001 -g 1001 -s /sbin/nologin -M zabbix
sleep 10
yum install -y net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel gcc gcc-c++ mysql-devel libevent-devel
sleep 10
wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$version/zabbix-"$version".tar.gz
tar zxf zabbix-"$version".tar.gz
cd  /root/ruanjian/zabbix-$version
sleep 10
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
sleep 10
make && make install
sleep 10
if [ `cat /etc/services |grep zabbix |wc -l` -ne 0 ];then
   echo "file ok"
  else
cat >> /etc/services <<eof
  zabbix-agent    10050/tcp               # Zabbix Agent
  zabbix-agent    10050/udp               # Zabbix Agent
  zabbix-trapper  10051/tcp               # Zabbix Trapper
  zabbix-trapper  10051/udp               # Zabbix Trapper
eof
fi
dire=/root/ruanjian/zabbix-$version
/bin/cp $dire/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd
mkdir /var/log/zabbix/
chown -R zabbix:zabbix /var/log/zabbix/
/bin/cp /usr/local/zabbix/etc/zabbix_agentd.conf /usr/local/zabbix/etc/zabbix_agentd.conf.bak
###修改配置文件
sed -i 's/LogFile=\/tmp\/zabbix_agentd.log/LogFile=\/var\/log\/zabbix\/zabbix_agentd.log/g' /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i 's/# PidFile=\/tmp\/zabbix_agentd.pid/PidFile=\/var\/log\/zabbix\/zabbix_agentd.pid/g' /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i 's/Server=127.0.0.1/#Server=127.0.0.1/g' /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i 's/ServerActive=127.0.0.1/#ServerActive=127.0.0.1/g' /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i 's/Hostname=Zabbix server/#Hostname=Zabbix server/g' /usr/local/zabbix/etc/zabbix_agentd.conf

cat >>/usr/local/zabbix/etc/zabbix_agentd.conf <<eof
LogFileSize=0
EnableRemoteCommands=0
Server=$SERVERIP
ListenPort=10050
ListenIP=0.0.0.0
ServerActive=$SERVERIP
Hostname=127.0.0.1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
eof
##启动zabbix_agent
/etc/init.d/zabbix_agentd start    #centos6 start
[ `ps -ef|grep zabbix|grep -v "grep"|wc -l` -ne 0 ]&& echo "zabbix_agent is runing"||echo "zabbix_agent is flase"
echo "在zabbix_server上执行 zabbix_get  -s 101.201.35.208 -p10050 -k"net.if.in[eth0,bytes]" 看是否有结果 "
;;
7)
read -p "Please input zabbix_Server IP:" SERVERIP
read -p "Please input zabbix version(2.4.7|3.4.10):" version
BENDIIP=`ifconfig eth0|awk -F '[addr: ]+' 'NR==2{print $3}'`
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
yum clean all
yum repolist
[ -d "/root/ruanjian" ]&& echo "cunzai" || mkdir /root/ruanjian;cd /root/ruanjian
groupadd -g 1001 zabbix 
useradd -u 1001 -g 1001 -s /sbin/nologin -M zabbix
sleep 10
yum install -y net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel gcc gcc-c++ mysql-devel libevent-devel
sleep 10
wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$version/zabbix-"$version".tar.gz
tar zxf zabbix-"$version".tar.gz
cd  /root/ruanjian/zabbix-$version
sleep 10
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
sleep 10
make && make install
sleep 10
if [ `cat /etc/services |grep zabbix |wc -l` -ne 0 ];then
   echo "file ok"
  else
cat >> /etc/services <<eof
  zabbix-agent    10050/tcp               # Zabbix Agent
  zabbix-agent    10050/udp               # Zabbix Agent
  zabbix-trapper  10051/tcp               # Zabbix Trapper
  zabbix-trapper  10051/udp               # Zabbix Trapper
eof
fi
dire=/root/ruanjian/zabbix-$version
/bin/cp $dire/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd
mkdir /var/log/zabbix/
chown -R zabbix:zabbix /var/log/zabbix/
/bin/cp /usr/local/zabbix/etc/zabbix_agentd.conf /usr/local/zabbix/etc/zabbix_agentd.conf.bak
###修改配置文件
sed -i 's/LogFile=\/tmp\/zabbix_agentd.log/LogFile=\/var\/log\/zabbix\/zabbix_agentd.log/g' /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i 's/# PidFile=\/tmp\/zabbix_agentd.pid/PidFile=\/var\/log\/zabbix\/zabbix_agentd.pid/g' /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i 's/Server=127.0.0.1/#Server=127.0.0.1/g' /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i 's/ServerActive=127.0.0.1/#ServerActive=127.0.0.1/g' /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i 's/Hostname=Zabbix server/#Hostname=Zabbix server/g' /usr/local/zabbix/etc/zabbix_agentd.conf

cat >>/usr/local/zabbix/etc/zabbix_agentd.conf <<eof
LogFileSize=0
EnableRemoteCommands=0
Server=$SERVERIP
ListenPort=10050
ListenIP=0.0.0.0
ServerActive=$SERVERIP
Hostname=127.0.0.1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
eof
##启动zabbix_agent
/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf  #centos7
[ `ps -ef|grep zabbix|grep -v "grep"|wc -l` -ne 0 ]&& echo "zabbix_agent is runing"||echo "zabbix_agent is flase"
echo "在zabbix_server上执行 zabbix_get  -s $SERVERIP -p10050 -k"net.if.in[eth0,bytes]" 看是否有结果 "
;;
esac

猜你喜欢

转载自blog.csdn.net/Linux_newbie_rookie/article/details/80885817