Zabbix_Server迁移之Agent地址批量修改
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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参数和ActiveServer修改为生产环境的地址,三是重启zabbix_agentd。
(2)脚本执行结果
附lwrp.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}
" "${_user}"
fi
sh -c "LANG=C LC_ALL=C ${_cmd}"
}
####################################区域分割线###################################
function parting(){
local string
if [ "$#" = 0 ];then
echo -e "