Zabbix 高可用

实验环境

主机名IP软件包
zabbix-mysql192.168.1.250MySQL
zabbix-server01192.168.1.251zabbix-server-mysql、zabbix-web-mysql、keepalived
zabbix-server02192.168.1.252zabbix-server-mysql、zabbix-web-mysql、keepalived
zabbix-agent192.168.1.253zabbix-agent
VIP192.168.1.240\

zabbix-mysql 配置

这里省略安装MySQL的步骤

创建 zabbix 库和用户,并授权

mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@"192.168.1.%" identified by '123qqq...A';

导入 zabbix-server 的初始化数据

PS:create.sql.gz 是从 zabbix-server01 上传过来的

[root@zabbix-mysql ~]# zcat /tmp/create.sql.gz | mysql -uzabbix -p -h 192.168.1.250 zabbix

zabbix-server01 配置

PS:zabbix-server02 的配置也相同

安装 zabbix 源(清华源)

[root@zabbix-server01 ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

[root@zabbix-server01 ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix.repo
[root@zabbix-server01 ~]# sed -i 's#gpgcheck=1#gpgcheck=0#g' /etc/yum.repos.d/zabbix.repo

安装 zabbix-server 和 zabbix-web

[root@zabbix-server01 ~]# yum -y install zabbix-server-mysql zabbix-web-mysql

配置 zabbix-server

修改 zabbix-server 配置文件

[root@zabbix-server01 ~]# vim /etc/zabbix/zabbix_server.conf
#主要修改下面的配置
DBHost=192.168.1.250
DBName=zabbix
DBUser=zabbix
DBPassword=123qqq...A
DBPort=3306
SourceIP=192.168.1.240   #配置zabbix高可用的时候,zabbix-server端的SourceIP需要配置为VIP
                          #+ 不然在zabbix-agent配置server为VIP时,会报如下错误

将 zabbix-server 初始化数据传到 zabbix-mysql

查找 zabbix-server 初始化数据文件位置

[root@zabbix-server01 ~]# rpm -ql zabbix-server-mysql
...
/usr/share/doc/zabbix-server-mysql-4.0.29/create.sql.gz
...

传输 zabbix-server 初始化数据文件至 zabbix-mysql

[root@zabbix-server01 ~]# scp /usr/share/doc/zabbix-server-mysql-4.0.29/create.sql.gz 192.168.1.250:/tmp

启动 zabbix-server

当 zabbix-server 的初始化数据导入数据库之后启动。

[root@zabbix-server01 ~]# systemctl start zabbix-server && systemctl enable zabbix-server

配置 zabbix-web

修改 zabbix-web 配置文件

[root@zabbix-server01 ~]# vim /etc/httpd/conf.d/zabbix.conf
#修改时区
php_value date.timezone Asia/Shanghai

启动 zabbix-web

[root@zabbix-server01 ~]# systemctl start httpd && systemctl enable httpd

通过 web 页面配置

URL为:http://IP/zabbix

这里省略 web 页面配置截图

配置 zabbix-agent

安装 zabbix-agent

[root@zabbix-server01 ~]# yum -y install zabbix-agent

修改 zabbix-agent 配置文件

[root@zabbix-server01 ~]# vim /etc/zabbix/zabbix_agentd.conf
#主要修改server为VIP,因为zabbix-server的SourceIP配置为VIP
Server=192.168.1.240

启动 zabbix-agent

[root@zabbix-server01 ~]# systemctl start zabbix-agent && systemctl enable zabbix-agent

keepalived 配置

安装 keepalived

zabbix-server01和zabbix-server02都安装

yum -y install keepalived

zabbix-server01 的 keepalived.conf

! Configuration File for keepalived

global_defs {   
   router_id zabbix-server01   #同一集群内路由ID唯一
}

vrrp_instance zabbix-server {   #同一集群内,实例名需要相同
    state BACKUP
    interface eth0
    virtual_router_id 51       #同一集群内,虚拟路由ID需要相同,不然就是两个集群了
    priority 100               #同一集群内,优先级最好不要相同(值越大优先级越高)
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass zabbix
    }
    virtual_ipaddress {
        192.168.1.240
    }
    notify_master "systemctl restart zabbix-server"
    notify_backup "systemctl stop zabbix-server"
    notify_stop "systemctl stop zabbix-server"
}

PS:正常情况下使用 keepalived ,备用服务器都是一直处于运行的状态下;当主服务器发生故障时,备用服务器立马接替工作,正常提供服务。但是,zabbix 的高可用架构中,主和备不能同时运行,因为备用的 zabbix-server 收不到数据的时候会发生报错。所以需要在主备切换时启动或关闭zabbix-server服务。

zabbix-server02的keepalived.conf

! Configuration File for keepalived

global_defs {   
   router_id zabbix-server02   #同一集群内路由ID唯一
}

vrrp_instance zabbix-server {   #同一集群内,实例名需要相同
    state BACKUP
    interface eth0
    virtual_router_id 51       #同一集群内,虚拟路由ID需要相同,不然就是两个集群了
    priority 93               #同一集群内,优先级最好不要相同(值越大优先级越高)
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass zabbix
    }
    virtual_ipaddress {
        192.168.1.240
    }
    notify_master "systemctl restart zabbix-server"
    notify_backup "systemctl stop zabbix-server"
    notify_stop "systemctl stop zabbix-server"
}

启动 keepalived

systemctl start keepalived && systemctl enable keepalived

测试 keepalived 配置是否正常

这里省略测试步骤,只提供一个测试方法

  1. 当 zabbix-server01 和 zabbix-server02 的 keepalived
    都启动之后,VIP(192.168.1.240)应该在 zabbix-server01 上。
  2. 使用 VIP 访问 zabbix web 页面,看是否正常。
  3. 关闭 zabbix-server01 上的 keepalived,VIP(192.168.1.240)应该跳至
    zabbix-server02 上。
  4. 再次使用 VIP 访问 zabbix web 页面,看是否正常。
  5. 开启 zabbix-server01 上的 keepalived,VIP(192.168.1.240)应该跳回至
    zabbix-server01 上。
  6. 再次使用 VIP 访问 zabbix web 页面,看是否正常。

zabbix-agent 配置

拷贝 zabbix-server01 上的 zabbix 源

root@zabbix-agent ~]# scp 192.168.1.251:/etc/yum.repos.d/zabbix.repo /etc/yum.repos.d/

安装 zabbix-agent

[root@zabbix-agent ~]# yum -y install zabbix-agent

配置 zabbix-agent

[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agentd.conf
#主要修改以下配置
Server=192.168.1.240
ServerActive=192.168.1.240
Hostname=192.168.1.253

启动 zabbix-agent

[root@zabbix-agent ~]# systemctl start zabbix-agent && systemctl enable zabbix-agent

添加监控主机

PS:访问 zabbix-web 使用 VIP 访问

这里省略添加主机的截图

最后使用上面测试 keepalived 的方法再次测试,看 zabbix 是否正常。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
课程目标     全面理解和掌握 Zabbix 监控系统的架构及运行原理,搭建和管理各种规模的Zabbix监控系统 课程简介         Zabbix是一个开源的企业级的监控解决方案。通过Zabbix可以监控IT基础设施的方方面面,包括硬件、操作系统、网络、虚拟化层、中间件和各种业务应用系统。用Zabbix几乎可以监控你想监控的任意数据。              本课程从Zabbix的介绍、安装开始,一步步带你深入Zabbix,通过学习你会:         1、掌握Zabbix各个组件的配置和管理。         2、掌握不同监控项的类型和配置方法,根据监控需求灵活配置监控项。         3、掌握网络发现、低级发现和主动式agent自动注册,实现自动化监控。         4、掌握模版、宏变量、触发器和告警通知的配置和级的应用方法。         5、掌握图形、屏幕、拓扑图和仪表盘等数据可视化的方法,利用大屏可以实时的展示监控数据。         6、掌握Zabbix系统自身的维护、备份、升级、排障以及性能优化。         7、掌握Zabbix内部运行机制和Zabbix使用技巧,让zabbix更好的帮助你实现监控目标。                  本课程中还包含很多操作演示,比如像创建主机,创建监控项、触发器、图形、全局事件关联等,也介绍了微信和钉钉告警的配置方法。当你对Zabbix深入了解之后,面对层出不穷的新业务、新应用,你都能轻松自如的制定和提供相应的监控解决方案。 特别提示:官网的中文文档有些地方翻译的有问题,一定要以英文文档为准。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值