zabbix分布式监控平台从IPV4切换到IPV6之监控主机切换

现在有一套监控了海量服务器的zabbix分布式监控平台需整体在线从IPV4切换到IPV6,不能影响其原有的定制监控及视图。本文讲解了切换的第一步--监控主机切换。

一、zabbix分布式监控平台平台架构

本套zabbix分布式监控平台是一个多代理服务器分布式部署的典型传统架构,目前全平台均使用IPV4地址,主机数量已达5000+,平台架构图示意如下:

由于已经监控了海量的服务器,并存在大量的定制监控模板,平滑无缝迁移是整体的目标,对完成的效率并没有很强的要求。

二、实施方案探讨

基于上述背景,因此本项目拟分步实施,考虑到zabbix分布式监控环境其实从数据流向来说,从南到北可以分为四段:1、主机-代理;2、代理-server;3、server-数据库;4、数据库-web。

从影响来说,越底层影响越小,因此,为实现平滑无缝迁移,最好就是从易到难来做。第一步完成最下一层,受控主机至代理的改造。

三、实施过程

因为proxy同时需完成IPV4数据上报至server和接收主机侧未改造时的IPV4上报数据和改造后的IPV6数据,它在改造过程中必须保持双栈运行,此过程中平台的架构调整如下:

需要完成的操作如下:

1、完成所有主机和代理服务器在操作系统层面的IPV4、IPV6的双栈配置(当然两者间的网络设备、安全防护设备均需完成双栈配置);

2、因本例中zabbix主机侧采用的是主动模式,zabbix-proxy本身是支持双栈监听的,无需进行配置调整;

3、查看主机侧的zabbix_agentd.conf文件配置

bash 复制代码
# cat /etc/zabbix/zabbix_agentd.conf |egrep -v "^#|^$"
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.188.236/120
ServerActive=192.168.188.236
Hostname=SRV_192.168.188.251
HostMetadata=NLLinuxAuto01
Include=/etc/zabbix/zabbix_agentd.d/*.conf

可见配置显示本机地址192.168.188.251,zabbix平台显示主机名SRV_192.168.188.251,代理服务器IP地址192.168.188.236。

4、查看主机IP信息:

ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000

link/ether 00:50:56:ad:1a:0e brd ff:ff:ff:ff:ff:ff

altname enp11s0

inet 192.168.188.251/24 brd 192.168.188.255 scope global noprefixroute ens192

valid_lft forever preferred_lft forever

inet6 fe80::250:56ff:1::c0a8:bcfb/64 scope global noprefixroute

valid_lft forever preferred_lft forever

5、查看proxy服务器IP信息:

bash 复制代码
#ip addr                                        
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:ad:1a:8a brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 192.168.188.236/24 brd 192.168.188.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:1::c0a8:bcec//64 scope global noprefixroute 
       valid_lft forever preferred_lft forever

6、从主机侧测试IPV6的连通性:

bash 复制代码
# ping6 fe80::250:56ff:1::c0a8:bcec
PING fe80::250:56ff:1::c0a8:bcec(fe80::250:56ff:1::c0a8:bcec) 56 字节的数据
64 字节,来自 fe80::250:56ff:1::c0a8:bcec: icmp_seq=1 ttl=64 时间=0.115 毫秒
64 字节,来自 fe80::250:56ff:1::c0a8:bcec: icmp_seq=2 ttl=64 时间=0.170 毫秒
64 字节,来自 fe80::250:56ff:1::c0a8:bcec: icmp_seq=3 ttl=64 时间=0.192 毫秒
^C
--- fe80::250:56ff:1::c0a8:bcec ping 统计 ---
已发送 3 个包, 已接收 3 个包, 0% packet loss, time 2032ms
rtt min/avg/max/mdev = 0.115/0.159/0.192/0.032 ms

7、从web界面修改主机的IP,从IPV4改为IPV6,所配置的代理主机信息不变

即主机接口配置地址:fe80::250:56ff:1::c0a8:bcfb,agnet代理还是原来的代理主机名,不用调整,点击更新进行数据更新。

8、在主机侧修改zabbix_agentd.conf文件如下

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=fe80::250:56ff:1::c0a8:bcec/120

ServerActive=[fe80::250:56ff:1::c0a8:bcec]

Hostname=SRV_192.168.188.251

HostMetadata=NLLinuxAuto01

Include=/etc/zabbix/zabbix_agentd.d/*.conf

注意Server处填写的IPV6地址不用加[],而ServerActive处的IPV6地址需要加[]。完成后重启zabbix客户端。

10、此时zabbix平台对该主机的监控即切换到了IPV6下。

四、结果验证

登录Web界面,验证主机监控信息

可见本主机已切换成功,各项监控及定制指标均未受影响,其它主机均参照修改agent配置文件并重启服务即可。

总结一下操作要点:proxy只需要启用双栈,无需进行配置修改;agent需要确保IPV6到proxy的可达性,先改web侧主机配置,再改agent侧配置文件中proxy的两项配置并重启服务即可。

相关推荐
打码人的日常分享1 小时前
运维服务方案,运维巡检方案,运维安全保障方案文件
大数据·运维·安全·word·安全架构
荣光波比2 小时前
Nginx 实战系列(一)—— Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装
linux·运维·服务器·nginx·云计算
hzulwy2 小时前
Kafka基础理论
分布式·kafka
武文斌772 小时前
单片机:DS18B20测温度、74HC595扩展芯片、8*8LED矩阵
运维·服务器·单片机·嵌入式硬件
fengfuyao9853 小时前
诊断并修复SSH连接Github时遇到的“connection closed“错误
运维·ssh·github
scugxl3 小时前
centos7 docker离线安装
运维·docker·容器
明达智控技术3 小时前
MR30分布式IO在全自动中药煎药机中的应用
分布式·物联网·自动化
jakeswang4 小时前
细说分布式ID
分布式
绿箭柠檬茶5 小时前
Ubuntu 使用 Samba 共享文件夹
linux·运维·ubuntu
失散135 小时前
分布式专题——1.2 Redis7核心数据结构
java·数据结构·redis·分布式·架构