Zabbix_Server 迁移之 Agent 地址批量修改
背景需求:
某企业在测试环境上搭建了一套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 地址批量修改相关推荐
- Zabbix_Server迁移之Agent地址批量修改
背景需求: 某企业在测试环境上搭建了一套zabbix,并且通过zabbix的自动注册功能已经将几百台机器包括Window和Linux纳入监控, 现需要在生产环境上重新搭建多一套新的zabbix,需要把 ...
- 计算机名ip地址批量修改吗,怎么批量修改IP和计算机名
@echo off for /f tokens=2 delims=: %%i in ('ipconfig /all ^| findstr /i /c:ip address') do set ip=%% ...
- 华为服务器批量修改bmc地址,华为服务器批量修改bmc地址
华为服务器批量修改bmc地址 内容精选 换一换 域名转入时,出现"域名已存在"的提示,导致域名无法导入.如果出现这种情况,其可能原因是,在域名转入华为云之前,已经将该域名托管至华为 ...
- dhcp服务器批量修改ip租期,dhcp服务器的ip地址租期默认是多久
dhcp服务器的ip地址租期默认是多久 内容精选 换一换 Atlas 200 DK开发者板支持通过USB端口或者网线与Ubuntu服务器进行连接,连接示例图如图1所示.Atlas 200 DK连接Ub ...
- 华为服务器批量BMC修改密码,华为服务器批量修改bmc地址
华为服务器批量修改bmc地址 内容精选 换一换 域名转入时,出现"域名已存在"的提示,导致域名无法导入.如果出现这种情况,其可能原因是,在域名转入华为云之前,已经将该域名托管至华为 ...
- 浪潮服务器修改ipmi账号密码,通过ipmitool批量修改服务器ipmi的syslog目标服务器IP地址与端口号...
因syslog服务器IP地址变更需要,我们可能需要去修改服务器的ipmi里面的syslog服务器,但是如果手动修改的话费事费力还容易出错.如果不使用厂商自己的批量工具我们可以尝试通过ipmitool工 ...
- ansible(replace模块)批量修改centos8、ubuntu、centos7网卡地址
需求:由于网段改变,批量修改网段. 思路演进 1.修改地址最开始我们使用 shell 模块,采用 sed 命令进行替换,然而在运行 ansible playbook 的时候有一个警告提示可以选择 li ...
- php批量修改图片地址,wordpress搬家换域名后 SQL语句 批量修改图片地址
wordpress搬家换域名后 SQL语句 批量修改图片地址 开门见山,无可避免,WordPress都有搬家 更换域名的可能. 恼火之处,莫不是 图片链接地址. 如果,用的全部都是图床文件,那么 也许 ...
- ps批量修改名片文字_怎么修改图片上的文字 修改图片文字比如名片图片上面的地址需要修改下...
现在在网络上下载的图片是不是都对有文字水印的咧是不,那么怎么修改图片上的文字呢,修改图片文字比如名片图片上面的地址需要修改下这些怎么完成?OK ,今天就让小编来给大伙科普一下,其实要做到真正的无痕迹修 ...
最新文章
- Nutch编译及集成eclipse+mysql开发环境的部署总结
- 笔记本移动位置,切换网络ip后,虚拟机的mac系统无法联网解决
- mysql 当前用户连接数_实战:判断mysql中当前用户的连接数-分组淘选
- LQR轨迹跟踪算法Python/Matlab算法实现_LQRmatrix推导
- 数据结构 (一) ----- 数据结构基本概念基于数组实现线性表
- springboot-28-security(一)用户角色控制
- 计算机专业Java必读书单,高清PDF电子版下载
- Matlab plot默认常用颜色RGB及十六进制颜色代码
- html静态页面作业 我的家乡网站设计——我的家乡-杭州(7页) HTML+CSS+JavaScript 大学生家乡网页作品 老家网页设计作业模板 学生网页制作源代码下载
- 交换机和路由器技术-28-OSPF的NSSA区域
- BP神经网络简单应用实例,bp神经网络应用举例
- Pytorch并行处理机制
- 啊哈添柴挑战Java1080. 请告诉我谁小?
- 剪切文件丢失如何恢复
- python容器类型-字典
- java程序 部署服务器_Java代码如何布署到云服务器
- 【解题报告】2017-2018 8th BSUIR Open Programming Contest-C Good subset 线性基+线段树
- 基于 DataOps 的运营商大数据平台探索
- 什么是浏览器的同源策略?
- ps4和php,PS4《战神》通关心得分享与给新手的游玩建议
热门文章
- linux6.5防火墙开端口,Linux(CentOS6.5) 开放端口,配置防火墙
- js函数提示 vscode_VSCode + JSDoc 完美实现(almost)JavaScript代码提示
- oracle 开并行写入命令,Oracle等待事件“日志文件并行写入”更改
- 事务屏幕创建tcode_数据库并发事务存在的问题(脏读、不可重复读、幻读等)...
- c# ioc 单例模式_C# IOC 控制反转
- lambda函数if_Lambda函数用法总结
- 某大型银行深化系统技术方案之十七:技术架构
- 用c语言实现键盘画图,用C实现键盘画图.doc
- Java 多线程 之 wait等待 线程实例
- BAT脚本一键更新提交代码到线上