Zabbix高可用

文章介绍了如何通过Keepalived实现Zabbix监控系统的高可用性,包括Keepalived的基本概念、功能、工作原理,以及如何搭建Zabbix监控集群和Keepalived的高可用配置。主要步骤涉及网络配置、yum源更新、Nginx和PHP的安装,以及Keepalived的配置和启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Zabbix实现高可用技术

环境拓扑图

在这里插入图片描述

初识Keepalived

Keepalived是Linux下的一个轻量级的高可用解决方案,通过虚拟链路冗余协议来实现服务或网络高可用

解释:

如果某个服务器节点出现故障,keepalived将检测到后自动将节点从集群系统里面剔除,当节点被我们人为修复后,keepalived又可以自动将此节点重新加入集群

Keepalived的功能:

1.管理LVS负载均衡软件

2.实现LVS集群节点的健康检查

3.作为系统网络服务的高可用性

Keepalived使用场景:

业务系统需要保证7x24小时不down机,作为业务来说随时都可以用,让你的业务更顽强

Keepalived工作原理:

Keepalived高可用是通过VRRP进行通信的,VRRP是通过竞选机制来确定主备的,主的优先级高于备,因此,工作时主会优先获得所有资源,备节点处于等待状态,当主挂掉后,备节点会立刻接管主节点的资源,然后顶替主节点继续对外提供服务。

在 Keepalived 服务之间,只有作为主的服务器会一直发送 VRRP 广播包,告诉备它还活着,此时备不会抢占主,当主不可用时,即备监听不到主发送的广播包时,就会启动相关服务接管资源,保证业务的连续性.接管速度最快可以小于1秒。

使用场景

在这里插入图片描述

实验准备

服务器主机虚拟IP
zabbix01192.168.1.221172.16.1.1
zabbix02192.168.1.222172.16.1.2
DB01192.168.1.223NULL
DB02192.168.1.224NULL

搭建Zabbix监控集群

####zabbix01与zabbix02同操作

###配置静态网络
vi /etc/sysconf ig/network-scripts/ifcfg-eno1688832

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static 
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=eeac2fc2-e829-43a4-8349-8e0fc5ba628d
DEVICE=ens33
ONBOOT=yes
ZONE=public
IPADDR=192.168.1.99 
NETMASK=255.255.255.0 
GATEWAY=192.168.1.1
DNS=8.8.8.8 

##重启网络
systemctl restart network

###更换yum
##安装wget
yum install -y wget

##进入yum仓库
cd /etc/yum.repo.d/

##备份原有yum源
mv /etc/yum.repo.d/Centos-7.repo /etc/yum.repo.d/Centos-7.repo.bak

##下载新的yum源
wget http://mirrors.aliyun.com/repo/Centos-7.repo

##清除缓存
yum clean all

##生成新的缓存
yum makecache

##安装EPEL
yum install -y epel-release

##再次运行yum clean all清除缓存 
yum clean all
yum makecache

##更新yum
yum -y update

##yum错误
vi /etc/resolv.conf
nameserver 8.8.8.8
search localdomain

###安装nginx
##配置nginx源
vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

##安装nginx
yum install -y nginx

##创建存放文件目录
mkdir /html
mv /etc/nginx/conf.d/default.conf{,.back}

##配置conf文件
vi /etc/nginx/conf.d/zabbix.conf
server {
 listen 80;
 server_name localhost;
 location / {
 root /html;
 index index.php index.html;
 }
 location ~ \.php$ {
 root /html;
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include fastcgi_params;
 }
}

###安装php
##安装依赖
yum install -y epel-release

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

yum install -y php72w-fpm php72w-gd php72w-bcmath php72w-xml php72w-mbstring php72w-ldap php72w-mysqlnd

##修改归属
# sed -i '/^user/c user = nginx' /etc/php-fpm.d/www.conf 
# sed -i '/^group/c group = nginx' /etc/php-fpm.d/www.conf

##启动nginx和php服务
# systemctl start nginx php-fpm
# systemctl enable nginx php-fpm

##部署zabbix -web
# wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.8.tar.gz
# tar xf zabbix-5.0.8.tar.gz
# mv zabbix-5.0.8/ui/* /html/
# chown -R nginx.nginx /html
# mkdir -p /var/lib/php/session
# chown -R nginx.nginx /var/lib/php/session/

##关闭防火墙
systemctl stop firewalld.service

##关闭SElinux
临时关闭(不用重启机器):  setenforce 0   //设置SELinux 成为permissive模式
setenforce 1 设置SELinux 成为enforcing模式

修改配置文件需要重启机器:    修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可

搭建Keepalived高可用

###先部署主
##yum安装keepalived
[root@localhost ~]#  yum install -y keepalived

##查看keepalived版本信息
[root@localhost ~]# keepalived -v

##修改keepalived配置信息
vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   # notification_email { # 邮件通知,一般不用
   #   test1@163.com
   #   test2@163.com
   # }
   # notification_email_from test@163.com
   router_id lb01 # 标识本节点的字符串,设置为hostname即可
}

vrrp_instance VI_1 {
    state MASTER	# 标识主节点服务(只有MASTER和BACKUP两种,大写)
    interface ens224	# VIP板顶的网卡接口
    virtual_router_id 51	# 虚拟路由id,和备节点保持一致
    priority 150	# 优先级,高于备节点的即可。
    # nopreempt		# 禁止MASTER宕机恢复后抢占服务
    # smtp_alert		# 激活故障时发送邮件告警
    mcast_src_ip 172.16.1.1	# 本机IP地址
    advert_int 1	# MASTER和BACKUP节点之间的同步检查时间间隔,单位为秒
    authentication {	# 验证类型和验证密码
        auth_type PASS	# PAAS(默认),HA
        auth_pass 1111	# MASTER和BACKUP使用相同明文才可以互通
    }
    virtual_ipaddress {	# 虚拟IP地址池,可以多个IP
        172.16.1.3 # 虚拟IP1(VIP)
    }
}

###配置备
##yum安装keepalived
[root@localhost ~]#  yum install -y keepalived

##查看keepalived版本信息
[root@localhost ~]# keepalived -v

##修改keepalived配置信息
! Configuration File for keepalived

global_defs {
   router_id zabbix02 # 标识本节点的字符串,设置为hostname即可
}

vrrp_instance VI_1 {
    state BACKUP	# 标识主节点服务(只有MASTER和BACKUP两种,大写)
    interface ens224	
    virtual_router_id 51	
    priority 100	# 优先级,高于备节点的即可。
    mcast_src_ip 172.16.1.2	# 本机IP地址
    advert_int 1	
    authentication {	
        auth_type PASS	
        auth_pass 1111	
    }
    virtual_ipaddress {	
        172.16.1.3
    }
}

###配置完成后
主备执行以下操作
[root@localhost ~]# systemctl start keepalived.service 
或者
[root@localhost ~]# service keepalived start

ps:
1)重启:
$ systemctl restart keepalived.service
2)停止:
$ systemctl stop keepalived.service
3)状态:
$ systemctl status keepalived.service
4)设置开机启动:
$ chkconfig keepalived on

#查看keepalived状态
[root@localhost ~]# systemctl status keepalived.service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路跑码码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值