[技术干货] Zabbix_server高可用之文件同步

[复制链接]
乐维 发表于 2020-7-20 10:06:34 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
场景模拟:
某知名企业搭建了一套zabbix_server的高可用环境,然后通过虚拟ip(192.168.1.1)来访问真实的zabbix_server(主节点:192.168.1.2)。当zabbix_server主节点发生异常后,虚拟ip就会映射到zabbix_server(备节点:192.168.1.3)上。这时候他们做了一个高可用的切换过程。但是切换高可用后,zabbix备节点界面出现了主机无法获取数据的告警,经排查,是因为zabbix_server(主节点)上的一些自定义键值文件和自定义脚本,还有外部检查文件没有添加到zabbix_server(备节点),所以即使切换后,zabbix_server可以访问,但是由于备节点上缺失自定义脚本的相关文件,导致zabbix备节点无法获取部分主机的数据。

部署过程:
第一步:在zabbix_server(主节点)和zabbix_server(备节点)上安装rsync服务
yum install rsync

启动rsync –daemon启动服务
Rsync --daemon
ss –ntl查看rsync服务,默认端口为873
1.png
接着在主zabbix和备zabbix上编辑/etc/rc.local文件,把rsync服务设置为开机启动
rc.local中加入/usr/bin/rsync daemon
接下来要到备节点zabbix上配置
echo “test:test”> /etc/rsync.password&&chmod 600 /etc/rsync.password
创建rsync的password文件并更改权限。
接着配置/etc/rsyncd.conf的配置文件
2.png
uidgid为nobody,即使说进行同步或者备份的用户为任何用户和任何组
然后[extend_data]和[data]为一个认证模块名,即一个认证模块名,代表同步一个目录,上面配置为同步两个目录
Read only=no
允许可读写
Auth users = test
认证的用户是test
Secrets file=/etc/rsync.password
密码文件存放的地址
zabbix节点配置完成
下面开始主zabbix节点配置
在主节点zabbix上,创建一个用户test。要和备节点上的auth users对应。
接着创建一个密码文件。
echo “test”> /etc/rsync.password&&chmod 600 /etc/rsync.password
此时就可以在主节点zabbix上实现同步
rsync -avzP /usr/local/zabbix/ test@192.168.1.3::data --password-file=/etc/rsync.password
/usr/local/zabbix为需要同步的目录。test是用来同步备份的账号,192.168.1.3是备zabbix节点的ip,data是备节点上认证模块的名字
3.png
同步成功。
上面的同步方式不会删除文件。比如在主节点zabbix同步目录下删除了1.html文件,那么备节点zabbix仍然会存在1.html文件。如果要做到主zabbix删除了文件,备节点也要删除文件,必须添加-delete参数。

技术交流欢迎加入Q群:177428068





上一篇:因为selinux导致zabbix无法启动问题解决方法
下一篇:Zabbix通过ssh监控方式获取网络设备的数据
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝0

帖子197

发布主题

乐维社区

微信公众号

版权所有 © 2016-2019 九一乐维丨粤ICP备17007026号