1. 服务器规划
主机名 | ip | 软件环境 |
zabbix-server01 | 10.0.0.71 | httpd+php+keepalived+sshpass zabbix server+agent |
zabbix-server02 | 10.0.0.72 | httpd+php+keepalived+sshpass zabbix server+agent |
Zabbix-agent | 10.0.0.8 | zabbix agent |
mysql | 10.0.0.7 | mysql |
2. 部署zabbix-server1
#备份原有数据库的数据并推送到独立数据库
mysqldump -uroot -p -B zabbix >zabbix.sql
scp -rp zabbix.sql root@10.0.0.7:/root
#编写配置文件(VIP地址,数据库地址)
vim /etc/zabbix/zabbix_server.conf
DBHost=10.0.0.7
DBName=zabbix
DBUser=zabbix
systemctl restart zabbix-server.service
vim /html/conf/zabbix.conf.php
$DB['SERVER'] = '10.0.0.7';
#下载keepalived软件并配置
yum -y install keepalived
#编写配置文件
cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL 71
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.70
}
notify_master /opt/to_master.sh
}
#启动服务
systemctl start keepalievd.service
systemctl enable keepalived service
3. 操作zabbix-server2
vim /etc/zabbix/zabbix_server.conf
DBHost=10.0.0.7
vim /html/conf/zabbix.conf.php
$DB['SERVER'] = '10.0.0.7';
yum -y install keepalived
cat keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL 72
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.70
}
notify_master /opt/to_master.sh
}
4. 操作mysql
mysql < zabbix.sql
grant all on zabbix.* to zabbix@'10.0.0.%' identified by '123456';
5. 操作zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf
Server=10.0.0.70
ServerActive=10.0.0.70
###################################
zabbix-server1和zabbix-server2配置(当有多个IP值时)
vim /etc/zabbix/zabbix_server.conf
SourceIP=10.0.0.70
6. VIP漂移测试
两台zabbix server都启动keepalived的
zabbix-server01 启动zabbix server
zabbix-server02不启动zabbix server
zabbix-server01状态如下
zabbix-server02状态如下 :
模拟zabbix-server01宕机,keepalived不工作了
再测试飘回来
查看数据历史间隔,发现会丢失个别监控项的一次监控数据
由于两台zabbix-server只会同时开启一台,所有agent的日志如下