Zabbix_server高可用之文件同步

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix_server高可用之文件同步相关的知识,希望对你有一定的参考价值。

场景模拟:
某知名企业搭建了一套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
技术图片
接着在主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的配置文件
技术图片
uid和gid为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是备节点上认证模块的名字
技术图片
同步成功。
上面的同步方式不会删除文件。比如在主节点zabbix同步目录下删除了1.html文件,那么备节点zabbix仍然会存在1.html文件。如果要做到主zabbix删除了文件,备节点也要删除文件,必须添加-delete参数。

以上是关于Zabbix_server高可用之文件同步的主要内容,如果未能解决你的问题,请参考以下文章

四行shell脚本实现zabbix_server的高可用

Redis高可用架构之主从同步

inotify+rsync+mysql主主复制+keepalived实现zabbix高可用

MySQL高可用之主备同步:spring文件上传大小限制

mysql高可用之MHA+半同步复制

mysql数据库负载均衡高可用之主从主主备份,实时同步