一键安装zabbbix agent脚本

#!/bin/bash
# Descr:在centos7服务器自动化安装部署zabbix agent
# author: 张文军 Date:2018/09/06 qq:522232813
echo "开始进行zabbix_agent(v.3.2.6)的安装,基于cnetos7!"
echo "请确保当前服务器能够访问互联网!"
# 先提前定义几个变量
zabbix_server_ip=192.168.1.242
ip=`ip addr | grep 'inet' | egrep -v "inet6|127.0.0.1|virbr0" | awk '{print $2}' | awk -F "/" '{print $1}'`
mkdir -p /usr/local/zabbix_agent
zabbix_agent_dir=/usr/local/zabbix_agent
echo "你的当前服务器ip为:${ip}"
echo "你的zabbix_agent安装目录为${zabbix_agent_dir}"
while [ "$(pwd)" != "/opt" ]
    do
        cd /opt/
    done
echo "当前目录$(pwd)"
# 获取zabbix 3.2.6安装包
while [ ! -d /opt/zabbix3.2.6 ]
    do
        git clone https://github.com/zhangwa5/zabbix3.2.6.git
    done
cd zabbix3.2.6
while [ -f zabbix-3.2.6.tar.gz -a ! -d zabbix-3.2.6 ]
    do
        tar -zxf zabbix-3.2.6.tar.gz
    done
cd zabbix-3.2.6
if [ `pwd` == "/opt/zabbix3.2.6/zabbix-3.2.6" ];then
    echo "已经入zabbix解压安装目录:$(pwd)"
fi
# 安装编译依赖包 gcc gcc-c++ make
echo "3 秒后开始安装编译依赖包 gcc gcc-c++ make"
sleep 3
yum -y install gcc gcc-c++ make lsof vim lrzsz
echo "依赖包安装完成!"
# 建立zabbix用户
groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix
echo "zabbix用户及用户组建立完成!"
# 开始编译安装zabbix agent
./configure --prefix=${zabbix_agent_dir} --enable-agent
sleep 3
make install
sleep 3
# 修改zabbix agent 配置文件
echo "开始修改zabbix agent 配置文件"
sleep 3
sed -i "s/Server=127.0.0.1/Server=${zabbix_server_ip}/g" ${zabbix_agent_dir}/etc/zabbix_agentd.conf
sed -i "s/ServerActive=127.0.0.1/ServerActive=${zabbix_server_ip}/g" ${zabbix_agent_dir}/etc/zabbix_agentd.conf
sed -i "s/# LogRemoteCommands=0/LogRemoteCommands=1/g" ${zabbix_agent_dir}/etc/zabbix_agentd.conf
sed -i "s/# EnableRemoteCommands=0/EnableRemoteCommands=1/g" ${zabbix_agent_dir}/etc/zabbix_agentd.conf
sed -i "s/Hostname=Zabbix server/Hostname=${ip}/g" ${zabbix_agent_dir}/etc/zabbix_agentd.conf
echo "配置文件修改完成!"
sleep 3
# 开始配置启动脚本
sleep 3
cp /opt/zabbix3.2.6/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
chmod 755 /etc/init.d/zabbix_agentd
chkconfig zabbix_agentd
sed -i "s%BASEDIR=/usr/local%BASEDIR="${zabbix_agent_dir}"%g" /etc/init.d/zabbix_agentd
# 防火墙添加 10050端口
firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --reload
echo "10050端口添加完成!"
# 启动zabbix agent 服务器
/etc/init.d/zabbix_agentd start
sleep 3
systemctl daemon-reload
/etc/init.d/zabbix_agentd start
systemctl start zabbix_agentd.service
#检查服务是否启动,即10050端口是否在监听
port_num=`netstat -an | grep ':10050' | awk '$1=="tcp" && $NF=="LISTEN" {print $0}' | wc -l`
if [ ${port_num} -ge 1 ];then
   echo "zabbix agent 启动成功!"
else
   echo "zabbix agent 启动失败,请手动检查!"
fi
sleep 3
echo "zabbix agent 安装完毕!"

猜你喜欢

转载自blog.csdn.net/qq_35928426/article/details/82499301