zabbix-agent安装脚本-Shuttle.L-运维学习笔记

本文介绍了一个用于安装Zabbix-Agent的自动化脚本`agent-install.sh`。脚本首先检查配置环境,如果权限不足则进行授权,然后进行预编译、编译和安装过程。在每个步骤中,它都会将输出和错误信息记录到日志文件,并在遇到问题时提供相应的错误提示。安装完成后,脚本还会更新配置文件,获取并设置主机IP,并启动Zabbix-Agent。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

zabbix-agent安装脚本

#vim agent-install.sh
#!/bin/bash
#当前路径为安装路径
Installpath=$PWD
export Installpath
#环境检查
if [[ -x $Installpath/zabbix/configure ]];then
#if [[ -x ]]用户可执行为真,检查目录权限
printf “\n”
else
chmod u+x $Installpath/zabbix/configure >> $Installpath/install.log 2>&1
#授权并将错误输出重定向到日志文件
if [[ `echo $?` -gt 0 ]];then
#授权不成功,则提示需手动授权,退出程序返回echo $? 为10
echo “Authorization failed, please authorize manually”
exit 10
fi
fi
cd $Installpath/zabbix >> $Installpath/install.log 2>&1
#切换目录,错误输出重定向到日志文件
echo “start to check Start checking environment…” >> $Installpath/install.log 2>&1
#输出开始检查环境,错误输出重定向到日志文件
./configure --prefix= $Installpath --enable-agent >> $Installpath/install.log 2>&1
#预编译,输出重定向
#re=`tail -5 $Installpath/install.log | grep “error” `
if [[ `echo $?` -eq 0 ]];then
#预编译成功则输出成功,输出重定向
echo “environment check successfull !” >> $Installpath/install.log 2>&1
else
#否则输出日志文件最后三行,并输出预编译错误,请检查日志,退出程序返回echo $? 为11
tail -3 $Installpath/install.log
echo “Check error,Details view $Installpath/install.log!”
exit 11
fi

#agent安装
echo “start to install the agent…” >> $Installpath/install.log 2>&1 #输出开始安装,输出重定向
make >> $Installpath/install.log 2>&1
#make编译,输出重定向
make install >> $Installpath/install.log 2>&1
#make install,安装,输出重定向
if [[ `echo $?` -eq 0 ]];then #检查安装是否成功,成功则输出成功,输出重定向
echo “install agent successfull !” >> $Installpath/install.log 2>&1
#cp -f $Installpath/zabbix_agentd.conf $Installpath/zabbix_agentd.conf #强制覆盖conf文件(conf文件需要修改serverip hostname)
tail -1 $Installpath/install.log
#查看输出日志看agent是否安装成功
else
echo “Install agent error,Details view $Installpath/install.log!”
#输出安装错误,检查日志,退出程序返回echo $? 为11
exit 11
fi

#定义ip变量,截取当前主机ip,grep -v 取反,awk截取,tr -d去除指定字符(tr也常用替换大小写)
ip=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v 192.168|grep -v inet6|awk ‘{print $2}’|tr -d “addr:”`
echo ‘------- current IP: --------’
echo $ip
#输出当前主机ip
sed -i “s/Hostname=127.0.0.1/Hostname=$ip/” $Installpath/zabbix_agentd.conf
#替换conf文件中给的ip
echo “edit Hostname successfull!”
#启动agent
AgentInfo=`ps aux | grep zabbix_agent|grep -v grep|awk ‘{print $2}’ `
#截取agent进程号
if [[ -z $AgentInfo ]];then #if [[ -z ]]判断字符串长度为0为真,此处即为没有agent进程号为真
cd $Installpath/sbin
./zabbix_agentd -c $Installpath/zabbix_agentd.conf
#根据指定conf文件启动agent
zbx=`ps aux | grep zabbix_agent|grep -v grep`
#截取agent进程号
if [[ -z $zbx ]];then
#if [[ -z ]]判断字符串长度为0为真,此处即为没有agent进程号为真
echo “agent Startup failure !”
else
echo “agent Startup successful !”
fi
else
echo “agent is running !”
fi

#chmod +x agent-install.sh
#sh agent-install.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值