#!/bin/bash
# Descr:在centos7服务器自动化安装部署zabbix agent
# author: zwj Date:2018/09/06
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}'`
zabbix_agent_dir=/usr/local/zabbix_agent
soft_dir=/opt/soft
[ -d ${zabbix_agent_dir} ] || mkdir ${zabbix_agent_dir}
[ -d ${soft_dir=/opt/soft} ] || mkdir ${soft_dir}
echo "你的当前服务器ip为:${ip}"
echo "你的zabbix_agent安装目录为${zabbix_agent_dir}"
echo "zabbix软件包路径为${soft_dir}"
# 切换到软件包路径并下载软件包
if [ `pwd` != ${soft_dir} ]; then
cd ${soft_dir}
fi
# 获取zabbix 3.2.6安装包
if [ ! -d ${soft_dir}/zabbix3.2.6 ]; then
git clone https://github.com/zhangwa5/zabbix3.2.6.git
sleep 2
cd ${soft_dir}/zabbix3.2.6
fi
# 解压
if [ -f README.md -a -f zabbix-3.2.6.tar.gz ]; then
tar -zxvf zabbix-3.2.6.tar.gz
cd zabbix-3.2.6
fi
# 如果正确进入编译目录,就开始进行编译
if [ `pwd` == "/opt/soft/zabbix3.2.6/zabbix-3.2.6" ]; then
echo "已进入编译目录,即将开始编译."
# 安装编译依赖包 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
echo "编译完成!"
fi
# 修改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
echo "1"
sed -i "s/ServerActive=127.0.0.1/ServerActive=${zabbix_server_ip}/g" ${zabbix_agent_dir}/etc/zabbix_agentd.conf
echo "2"
sed -i "s/# LogRemoteCommands=0/LogRemoteCommands=1/g" ${zabbix_agent_dir}/etc/zabbix_agentd.conf
echo "3"
sed -i "s/# EnableRemoteCommands=0/EnableRemoteCommands=1/g" ${zabbix_agent_dir}/etc/zabbix_agentd.conf
echo "4"
sed -i "s/Hostname=Zabbix server/Hostname=${ip}/g" ${zabbix_agent_dir}/etc/zabbix_agentd.conf
echo "5"
echo "配置文件修改完成!"
sleep 3
# 开始配置启动脚本
sleep 3
cp /opt/soft/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 on
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
#检查服务是否启动,即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 安装完毕!"
一键安装zabbbix agent脚本
最新推荐文章于 2024-04-13 10:53:16 发布