Zabbix_Server 迁移之 Agent 地址批量修改_如果linnux上的zabbix agent服务器进行了迁移,需要做哪些变动(1)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

这里有几种方式实现,一是通过一键卸载脚本,结合自动化运维工具,将之前安装的agent批量删除,然后批量安装新的Agent部署包;二是直接修改zabbix _agentd.conf 配置文件,将原来的Server地址替换为生产环境上的地址,然后添加进行自定义监控指标的添加,最后重启Agent。本文使用是第二种。

需求实现:

Linux操作系统

(1) 制作替换的脚本;操作步骤:一、把对应的新增指标相关脚本放置在对应的脚本目录,这里需要注意zabbix _agent 配置文件是否开启Include参数并且指定对应的目录,二是修改zabbix _agentd.conf 的配置文件,将Server参数和Active Server 修改为生产环境的地址,三是重启zabbix_agentd。
在这里插入图片描述
在这里插入图片描述
(2) 脚本执行结果
在这里插入图片描述
附l wrp.sh 脚本内容:(因部署环境不同,脚本的细节可能需要修改)

!/bin/bash

desc: used for replace zabbix client ip address

set -e

################################参数区#############################

baseshell=$(cd dirname $0; pwd)

Script="$(cd $baseshell; pwd)/script"

config="$(cd $baseshell; pwd)/etc"

BASEDIR="/usr/local/zabbix"

CONF_FILE="${BASEDIR}/etc/zabbix\_agentd.conf"

IncludeDir="${BASEDIR}/etc/zabbix\_agentd.conf.d"

LinuxVersion=$(cat /proc/version | awk '{print $3}' | awk -F '[.]' '{print $(NF-1)}')

Include="${BASEDIR}/etc/zabbix\_agentd.conf.d/\*.conf"

Agent_User="zabbix"

Agent_Server="192.168.1.105"

#############################命令执行#############################

function run() {

_cmd="${1}"

_debug="0"

_red="33[0;31m"

_green="33[0;32m"

_reset="33[0m"

_user="$(whoami)"

如果设置了第二个参数,可以开启调试模式

if [ "${#}" = "2" ];then

if [ "${2}" = "1" ];then

_debug="1"

fi

fi

if [ "${DEBUG\_COMMANDS}" = "1" ] || [ "${\_debug}" = "1" ];then

printf "${\_red}%s $ ${\_green}${\_cmd}${\_reset}n" "${\_user}"

fi

sh -c "LANG=C LC\_ALL=C ${\_cmd}"

}

####################################区域分割线###################################

function parting(){

local string

if [ "$#" = 0 ];then

echo -e "33[34;1m" && printf "%40s" '='|tr ' ' '=' && echo -e "33[31m[null]c" && echo -e "33[34mc" && printf "%40sn" '='|tr ' ' '=' && echo -e "33[0m"

sleep 3

fi

if [ "$#" -ge 1 ];then

string=$\*

echo -e "33[34;1m" && printf "%40s" '='|tr ' ' '=' && echo -e "33[31m[$string]c" && echo -e "33[34mc" && printf "%40sn" '='|tr ' ' '=' && echo -e "33[0m"

sleep 3

fi

}

###############################判断是否有监控脚本###################################

function scripts\_check(){

parting "脚本检查"

iostat脚本检测

scripts_iostat="${BASEDIR}/scripts/iostat1.py"

if [ -f "${scripts\_iostat}" ];then

echo "iostat脚本已存在"

else

run "cp ${Script}/iostat1.py ${BASEDIR}/scripts/"

echo "iostat脚本放置成功"

fi

swap脚本检查

scripts_swap="${BASEDIR}/scripts/swap.py"

if [ -f "${scripts\_swap}" ];then

echo "交换分区脚本已存在"

else

run "cp ${Script}/swap.py ${BASEDIR}/scripts/"

echo "交换分区脚本放置成功"

fi

io_information脚本检查

scripts_io_inform="${BASEDIR}/scripts/io\_information.sh"

if [ -f "${scripts\_io\_inform}" ];then

echo "IO信息脚本已存在"

else

run "cp ${Script}/io\_information.sh ${BASEDIR}/scripts/"

echo "IO信息脚本已放置成功"

fi

cpu脚本检查

scripts_cpu_iowait="${BASEDIR}/scripts/cpu\_iowait.sh"

if [ -f "${scripts\_cpu\_iowait}" ];then

echo "cpu\_iowait脚本已存在"

else

run "cp ${Script}/cpu\_iowait.sh ${BASEDIR}/scripts/"

echo "cpu\_iowait脚本放置成功"

fi

Agent扩展配置文件检查

Agent_All_Conf="${IncludeDir}/all.conf"

if [ -f "$Agent\_All\_Conf" ];then

echo "Agent扩展配置文件已经存在"

else

run "cp ${config}/all.conf ${IncludeDir}/"

run "sed -i \"s@/usr/local/zabbix@${BASEDIR}@g\" ${IncludeDir}/all.conf"

echo "Agent扩展配置文件已放置成功"

fi

}

###############################Agent配置文件Server地址修改###################################

function agent\_conf\_check(){

parting "Agent配置文件Server地址修改"

判断配置文件

if [ -f "$CONF\_FILE" ];then

echo "IO脚本已存在"

run "sed -i 's/^Server=.\*$/Server=${Agent\_Server}/' ${CONF\_FILE}"

run "sed -i 's/^ServerActive=.\*$/ServerActive=${Agent\_Server}/' ${CONF\_FILE}"

echo "Agent\_Server的ip地址替换成功."

Agent_Include=cat ${CONF_FILE} |grep ^Include= | wc -l

if [ $Agent_Include -eq "0" ];then

run "sed -i \"s@# Include=@Include=${Include}@g\" grep Include= -rl ${CONF\_FILE}"

echo -e "Agent的Include配置成功."

else

Agent_Include_t=cat ${CONF_FILE} | grep "^Include=${BASEDIR}/etc/zabbix\_agentd.conf.d/\*\.conf" | wc -l

if [ $Agent_Include_t -ne 1 ];then

echo "Include扩展模块需要重新修改!!!!!!"

exit 1

fi

fi

run "chmod -R 755 ${BASEDIR}"

run "chown -R ${Agent\_User}.${Agent\_User} ${BASEDIR}"

else

echo "Agent的配置文件不存,请重新修改脚本!!!"

exit 0

fi

}

###############################重启Zabbix_Agent##################################

function reload\_agent(){

parting "重启Agent服务"

if [ ${LinuxVersion} = "el7" ];then

run "systemctl restart zabbix\_agentd.service"

if [ $? -eq 0 ];then

echo -e "Agent服务重启success."

else


![img](https://img-blog.csdnimg.cn/img_convert/e3fbec29b29371c4ae942f805c47eda6.png)
![img](https://img-blog.csdnimg.cn/img_convert/b95778b848699909c2be1a7bbf5616af.png)
![img](https://img-blog.csdnimg.cn/img_convert/acb71c4f7e1540ce070031651185c31c.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

片转存中...(img-iA65D0Xt-1715895356681)]
[外链图片转存中...(img-RpCzjtti-1715895356682)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值