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的两项配置并重启服务即可。

相关推荐
物联网软硬件开发-轨物科技2 小时前
【轨物方案】聚焦锯床设备智能化升级,打造工业互联网新范式
运维·科技·物联网
suzhou_speeder2 小时前
企业数字化网络稳定运行与智能化管理解决方案
运维·服务器·网络·交换机·poe·poe交换机
RisunJan3 小时前
Linux命令-grpck命令(验证和修复组配置文件(`/etc/group` 和 `/etc/gshadow`)完整性的工具)
linux·运维·服务器
Evan芙4 小时前
nginx日志管理及日志格式定制
运维·nginx
ChaITSimpleLove4 小时前
基于 .NET Garnet 1.0.91 实现高性能分布式锁(使用 Lua 脚本)
分布式·.net·lua
The star"'4 小时前
04-管理变量和事实
运维·云计算·ansible
林疏safe5 小时前
灯塔部署云服务器docker 部署方式,以及忘记密码如何查找
运维·服务器·docker
云和数据.ChenGuang5 小时前
openEuler系统下安装MongoDB的技术教程
运维·数据库·mongodb·压力测试·运维工程师·运维技术
广东大榕树信息科技有限公司5 小时前
如何实现动环监控系统的国产化与智能化?
运维·网络·物联网·国产动环监控系统·动环监控系统
tzhou644525 小时前
自动化运维利器Ansible
运维·自动化·ansible