背景需求:

某企业在测试环境上搭建了一套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. Nutch编译及集成eclipse+mysql开发环境的部署总结
  2. 笔记本移动位置,切换网络ip后,虚拟机的mac系统无法联网解决
  3. mysql 当前用户连接数_实战:判断mysql中当前用户的连接数-分组淘选
  4. LQR轨迹跟踪算法Python/Matlab算法实现_LQRmatrix推导
  5. 数据结构 (一) ----- 数据结构基本概念基于数组实现线性表
  6. springboot-28-security(一)用户角色控制
  7. 计算机专业Java必读书单,高清PDF电子版下载
  8. Matlab plot默认常用颜色RGB及十六进制颜色代码
  9. html静态页面作业 我的家乡网站设计——我的家乡-杭州(7页) HTML+CSS+JavaScript 大学生家乡网页作品 老家网页设计作业模板 学生网页制作源代码下载
  10. 交换机和路由器技术-28-OSPF的NSSA区域
  11. BP神经网络简单应用实例,bp神经网络应用举例
  12. Pytorch并行处理机制
  13. 啊哈添柴挑战Java1080. 请告诉我谁小?
  14. 剪切文件丢失如何恢复
  15. python容器类型-字典
  16. java程序 部署服务器_Java代码如何布署到云服务器
  17. 【解题报告】2017-2018 8th BSUIR Open Programming Contest-C Good subset 线性基+线段树
  18. 基于 DataOps 的运营商大数据平台探索
  19. 什么是浏览器的同源策略?
  20. ps4和php,PS4《战神》通关心得分享与给新手的游玩建议

热门文章

  1. linux6.5防火墙开端口,Linux(CentOS6.5) 开放端口,配置防火墙
  2. js函数提示 vscode_VSCode + JSDoc 完美实现(almost)JavaScript代码提示
  3. oracle 开并行写入命令,Oracle等待事件“日志文件并行写入”更改
  4. 事务屏幕创建tcode_数据库并发事务存在的问题(脏读、不可重复读、幻读等)...
  5. c# ioc 单例模式_C# IOC 控制反转
  6. lambda函数if_Lambda函数用法总结
  7. 某大型银行深化系统技术方案之十七:技术架构
  8. 用c语言实现键盘画图,用C实现键盘画图.doc
  9. Java 多线程 之 wait等待 线程实例
  10. BAT脚本一键更新提交代码到线上