背景需求:

某企业在测试环境上搭建了一套zabbix , 并且通过zabbix的自动注册功能已经将几百台机器包括Window和Linux纳入监控,现需要在生产环境上重新搭建多一套新的zabbix,需要把之前测试环境上添加的所有机器迁移到生产环境上,并且针对Linux操作系统需要在原有指标的基础上补充一些监控指标。

需求分析:

这里有几种方式实现,一是通过一键卸载脚本,结合自动化运维工具,将之前安装的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/bashdesc: used for replace zabbix client ip addressset -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" ];thenif [ "${2}" = "1" ];then_debug="1"fifiif [ "${DEBUG_COMMANDS}" = "1" ] || [ "${_debug}" = "1" ];thenprintf "${_red}%s $ ${_green}${_cmd}${_reset}n" "${_user}"fish -c "LANG=C LC_ALL=C ${_cmd}"}####################################区域分割线###################################function parting(){local stringif [ "$#" = 0 ];thenecho -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 3fiif [ "$#" -ge 1 ];thenstring=$*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 3fi}###############################判断是否有监控脚本###################################function scripts_check(){parting "脚本检查"iostat脚本检测scripts_iostat="${BASEDIR}/scripts/iostat1.py"if [ -f "${scripts_iostat}" ];thenecho "iostat脚本已存在"elserun "cp ${Script}/iostat1.py ${BASEDIR}/scripts/"echo "iostat脚本放置成功"fiswap脚本检查scripts_swap="${BASEDIR}/scripts/swap.py"if [ -f "${scripts_swap}" ];thenecho "交换分区脚本已存在"elserun "cp ${Script}/swap.py ${BASEDIR}/scripts/"echo "交换分区脚本放置成功"fiio_information脚本检查scripts_io_inform="${BASEDIR}/scripts/io_information.sh"if [ -f "${scripts_io_inform}" ];thenecho "IO信息脚本已存在"elserun "cp ${Script}/io_information.sh ${BASEDIR}/scripts/"echo "IO信息脚本已放置成功"ficpu脚本检查scripts_cpu_iowait="${BASEDIR}/scripts/cpu_iowait.sh"if [ -f "${scripts_cpu_iowait}" ];thenecho "cpu_iowait脚本已存在"elserun "cp ${Script}/cpu_iowait.sh ${BASEDIR}/scripts/"echo "cpu_iowait脚本放置成功"fiAgent扩展配置文件检查Agent_All_Conf="${IncludeDir}/all.conf"if [ -f "$Agent_All_Conf" ];thenecho "Agent扩展配置文件已经存在"elserun "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" ];thenecho "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 -lif [ $Agent_Include -eq "0" ];thenrun "sed -i \"s@# Include=@Include=${Include}@g\" grep Include= -rl ${CONF_FILE}"echo -e "Agent的Include配置成功."elseAgent_Include_t=cat ${CONF_FILE} | grep "^Include=${BASEDIR}/etc/zabbix_agentd.conf.d/*\.conf" | wc -lif [ $Agent_Include_t -ne 1 ];thenecho "Include扩展模块需要重新修改!!!!!!"exit 1fifirun "chmod -R 755 ${BASEDIR}"run "chown -R ${Agent_User}.${Agent_User} ${BASEDIR}"elseecho "Agent的配置文件不存,请重新修改脚本!!!"exit 0fi}###############################重启Zabbix_Agent##################################function reload_agent(){parting "重启Agent服务"if [ ${LinuxVersion} = "el7" ];thenrun "systemctl restart zabbix_agentd.service"if [ $? -eq 0 ];thenecho -e "Agent服务重启success."elseecho -e "Agent服务重启fail,请检查配置!!!"fielserun "/etc/init.d/zabbix_agentd restart"if [ $? -eq 0 ];thenecho -e "Agent服务重启success."elseecho -e "Agent服务重启fail,请检查配置!!!"fifi}case $1 ininstall)scripts_check;agent_conf_check;reload_agent
;;
*)
echo -e "33[31m usage: basename ${0} [install] 33[0m"
;;
esac
exit 0

Window操作系统

(1) 编写替换Server ip地址的BAT批处理文件;实现步骤:将原来的地址修改为生产环境的地址,然后重启zabbix _agentd

(2) 脚本执行的结果

附 window_agent.bat 脚本内容:(因部署环境不同,脚本的细节可能需要修改)

@echo offcd C:Program FilesZABBIX_AGENT3confcopy zabbix_agentd.win.conf zabbix_agentd.win.conf.bakSet strOld=192.168.1.233Set strNew=192.168.1.105Set fn=zabbix_agentd.win.confsetlocal enabledelayedexpansionfor /f "tokens=*" %%i in (%fn%) do (set a=%%iset "a=!a:%strOld%=%strNew%!"echo !a!>>temp1010.txt)echo 'replace success!!'move /y temp1010.txt "%fn%"echo stop zabbix servicesnet stop "Zabbix Agent"echo start zabbix servicesnet start "Zabbix Agent"pause

参考链接 :

技巧 | Zabbix_Server 迁移之 Agent 地址批量修改 :https://mp.weixin.qq.com/s/xAmDScHhm-bT78-pyuOW1g

Zabbix_Server 迁移之 Agent 地址批量修改相关推荐

  1. Zabbix_Server迁移之Agent地址批量修改

    背景需求: 某企业在测试环境上搭建了一套zabbix,并且通过zabbix的自动注册功能已经将几百台机器包括Window和Linux纳入监控, 现需要在生产环境上重新搭建多一套新的zabbix,需要把 ...

  2. 计算机名ip地址批量修改吗,怎么批量修改IP和计算机名

    @echo off for /f tokens=2 delims=: %%i in ('ipconfig /all ^| findstr /i /c:ip address') do set ip=%% ...

  3. 华为服务器批量修改bmc地址,华为服务器批量修改bmc地址

    华为服务器批量修改bmc地址 内容精选 换一换 域名转入时,出现"域名已存在"的提示,导致域名无法导入.如果出现这种情况,其可能原因是,在域名转入华为云之前,已经将该域名托管至华为 ...

  4. dhcp服务器批量修改ip租期,dhcp服务器的ip地址租期默认是多久

    dhcp服务器的ip地址租期默认是多久 内容精选 换一换 Atlas 200 DK开发者板支持通过USB端口或者网线与Ubuntu服务器进行连接,连接示例图如图1所示.Atlas 200 DK连接Ub ...

  5. 华为服务器批量BMC修改密码,华为服务器批量修改bmc地址

    华为服务器批量修改bmc地址 内容精选 换一换 域名转入时,出现"域名已存在"的提示,导致域名无法导入.如果出现这种情况,其可能原因是,在域名转入华为云之前,已经将该域名托管至华为 ...

  6. 浪潮服务器修改ipmi账号密码,通过ipmitool批量修改服务器ipmi的syslog目标服务器IP地址与端口号...

    因syslog服务器IP地址变更需要,我们可能需要去修改服务器的ipmi里面的syslog服务器,但是如果手动修改的话费事费力还容易出错.如果不使用厂商自己的批量工具我们可以尝试通过ipmitool工 ...

  7. ansible(replace模块)批量修改centos8、ubuntu、centos7网卡地址

    需求:由于网段改变,批量修改网段. 思路演进 1.修改地址最开始我们使用 shell 模块,采用 sed 命令进行替换,然而在运行 ansible playbook 的时候有一个警告提示可以选择 li ...

  8. php批量修改图片地址,wordpress搬家换域名后 SQL语句 批量修改图片地址

    wordpress搬家换域名后 SQL语句 批量修改图片地址 开门见山,无可避免,WordPress都有搬家 更换域名的可能. 恼火之处,莫不是 图片链接地址. 如果,用的全部都是图床文件,那么 也许 ...

  9. ps批量修改名片文字_怎么修改图片上的文字 修改图片文字比如名片图片上面的地址需要修改下...

    现在在网络上下载的图片是不是都对有文字水印的咧是不,那么怎么修改图片上的文字呢,修改图片文字比如名片图片上面的地址需要修改下这些怎么完成?OK ,今天就让小编来给大伙科普一下,其实要做到真正的无痕迹修 ...

最新文章

  1. css禁止鼠标双击选中文字
  2. 如何在程序中生成崩溃转储dump文件以及如何分析dump
  3. CTF-杂项与密码学之工具使用汇总(三)
  4. 科技感的动态设计方法-2
  5. 【Linux】 命令收集
  6. Android之使用getIdentifier()获取资源Id
  7. mysql union 与 union all 语法及用法
  8. Ubuntu20.04配置Java环境
  9. 深入理解redis复制原理
  10. [SimplePlayer] 6. 音频同步
  11. 编译ffmpeg,ffplay运行出错怎么办?
  12. lte网络是什么意思
  13. 代码查重工具SIM,添加图形界面GUI,附下载链接
  14. Python爬虫实战之抓取猫眼电影
  15. 奔 跑 吧 兄 弟 場 外 手 機 中 獎 活 動 是 真 的 嗎
  16. Audacity之清浊音频谱分析
  17. Linux命令 - head命令
  18. 《信息化项目文档模板四——系统建设方案模板》
  19. 我的世界跨服聊天MySQL_我的世界BungeeCord搭建教程什么是跨服群组搭建
  20. Tensorflow2.3用SaveModel保存训练模型.pb等文件+opencvino转IR文件

热门文章

  1. 给出中序和前序求后序Java,已知二叉樹前序,中序遍歷,求后序遍歷,java實現...
  2. 语言怎么得到直流电压并采样_热点|昆明专业12V10A开关电源怎么选
  3. java根据模板生成word文档_Python办公自动化:使用python来自动生成word文档
  4. loss函数之SoftMarginLoss
  5. 联合索引会创建几个索引_【1033期】分别谈谈联合索引生效和失效的条件
  6. Fixjs——自定义事件处理
  7. Apache HttpServer的安装并与Tomcat整合Linux 版
  8. PHP xdebug API接口优化揪出了getimagesize这个鬼
  9. C#静态类,静态构造函数,静态变量
  10. ajax请求在ie下缓存的处理