当前位置:   article > 正文

ubuntu2204配置zabbix6.4高可用_zabbix ubuntu

zabbix ubuntu


本实验VMware搭建zabbix6.4高可用集群,搭配haproxy+keepalived。

master,node节点搭建haproxy+keepalibed主备并配置vip地址

三台控制节点搭建数据库高可用

三台zabbix节点搭建zaabix-server高可用

节点IP配置
master192.168.200.1522C_4V_100G
node192.168.200.1532C_4V_100G
VIP192.168.200.154虚拟ip
controller01192.168.200.1552C_4V_100G
controller02192.168.200.1562C_4V_100G
controller03192.168.200.1572C_4V_100G
zabbix01192.168.200.1582C_4V_100G
zabbix02192.168.200.1592C_4V_100G
zabbix03192.168.200.1602C_4V_100G

Zabbix 是一个企业级开源分布式监控解决方案,可以监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的运行状况和完整性。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的警报。这允许对服务器问题做出快速反应。Zabbix 基于存储的数据提供出色的报告和数据可视化功能。这使得 Zabbix 成为容量规划的理想选择。

Zabbix 支持轮询和捕获。所有 Zabbix 报告和统计数据以及配置参数都可以通过基于 Web 的前端访问。基于网络的前端确保可以从任何位置评估您的网络状态和服务器的运行状况。如果配置正确,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。对于拥有少量服务器的小型组织和拥有大量服务器的大公司来说同样如此。

所有系统环境初始化(全部节点执行)

#!/bin/bash

# 定义节点信息
NODES=("192.168.200.152 master root" "192.168.200.153 node root" "192.168.200.155 controller01 root" "192.168.200.156 controller02 root" "192.168.200.157 controller03 root" "192.168.200.158 zabbix01 root" "192.168.200.159 zabbix02 root" "192.168.200.160 zabbix03 root")

# 定义当前节点的密码(默认集群统一密码)
HOST_PASS="000000"

# 时间同步的目标节点
TIME_SERVER=zabbix01

# 时间同步的地址段
TIME_SERVER_IP=192.160.200.0/24

# 欢迎界面
cat > /etc/motd <<EOF
 ################################
 #    Welcome  to  zabbix       #
 ################################
EOF

# 修改主机名
for node in "${NODES[@]}"; do
  ip=$(echo "$node" | awk '{print $1}')
  hostname=$(echo "$node" | awk '{print $2}')

  # 获取当前节点的主机名和 IP
  current_ip=$(hostname -I | awk '{print $1}')
  current_hostname=$(hostname)

  # 检查当前节点与要修改的节点信息是否匹配
  if [[ "$current_ip" == "$ip" && "$current_hostname" != "$hostname" ]]; then
    echo "Updating hostname to $hostname on $current_ip..."
    hostnamectl set-hostname "$hostname"

    if [ $? -eq 0 ]; then
      echo "Hostname updated successfully."
    else
      echo "Failed to update hostname."
    fi

    break
  fi
done

# 遍历节点信息并添加到 hosts 文件
for node in "${NODES[@]}"; do
  ip=$(echo "$node" | awk '{print $1}')
  hostname=$(echo "$node" | awk '{print $2}')

  # 检查 hosts 文件中是否已存在相应的解析
  if grep -q "$ip $hostname" /etc/hosts; then
    echo "Host entry for $hostname already exists in /etc/hosts."
  else
    # 添加节点的解析条目到 hosts 文件
    sudo sh -c "echo '$ip $hostname' >> /etc/hosts"
    echo "Added host entry for $hostname in /etc/hosts."
  fi
done

if [[ ! -s ~/.ssh/id_rsa.pub ]]; then
    ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa -q -b 2048
fi

# 检查并安装 sshpass 工具
if ! which sshpass &> /dev/null; then
    echo "sshpass 工具未安装,正在安装 sshpass..."
    sudo apt-get install -y sshpass
fi

# 遍历所有节点进行免密操作
for node in "${NODES[@]}"; do
    ip=$(echo "$node" | awk '{print $1}')
    hostname=$(echo "$node" | awk '{print $2}')
    user=$(echo "$node" | awk '{print $3}')

    # 使用 sshpass 提供密码,并自动确认密钥
    sshpass -p "$HOST_PASS" ssh-copy-id -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa.pub "$user@$hostname"
done

# 时间同步
apt install -y chrony
if [[ $TIME_SERVER_IP == *$(hostname -I)* ]]; then
    # 配置当前节点为时间同步源
    sed -i '20,23s/^/#/g' /etc/chrony/chrony.conf
    echo "server $TIME_SERVER iburst maxsources 2" >> /etc/chrony/chrony.conf
    echo "allow $TIME_SERVER_IP" >> /etc/chrony/chrony.conf
    echo "local stratum 10" >> /etc/chrony/chrony.conf
else
    # 配置当前节点同步到目标节点
    sed -i '20,23s/^/#/g' /etc/chrony/chrony.conf
    echo "pool $TIME_SERVER iburst maxsources 2" >> /etc/chrony/chrony.conf
fi

# 重启并启用 chrony 服务
systemctl restart chronyd
systemctl enable chronyd

echo "###############################################################"
echo "#################      集群初始化成功     #####################"
echo "###############################################################"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101

任一节点查看

root@master:~# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 huhy

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.200.152 master
192.168.200.153 node
192.168.200.154 VIP
192.168.200.155 controller01
192.168.200.156 controller02
192.168.200.157 controller03
192.168.200.158 zabbix01
192.168.200.159 zabbix02
192.168.200.160 zabbix03
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

配置keepalived

Keepalived 是一个功能强大且易于使用的工具,可用于构建高可用性和可靠性的网络架构,保障服务的连续性和稳定性。它被广泛应用于各种网络环境中,特别是用于提供网络服务的关键应用场景。
mastere,node双节点安装,这里双节点使用抢占模式(如果需要快速故障转移和服务恢复,则可以选择抢占模式;如果希望减少不必要的 IP 地址切换和服务中断,则可以选择非抢占模式。

apt install keepalived -y
  • 1

配置抢占模式,master节点

 vim /etc/keepalived/keepalived.conf
  • 1
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
  # vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.200.154/24
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

backup节点

 vim /etc/keepalived/keepalived.conf
  • 1
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
  # vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.200.154/24
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

双节点重启

systemctl restart keepalived
  • 1

验证查看虚拟ip应在master节点上

root@master:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:d1:04:39 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.200.152/24 brd 192.168.200.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.200.154/24 scope global secondary ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fed1:439/64 scope link
       valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:d1:04:43 brd ff:ff:ff:ff:ff:ff
    altname enp2s2
    inet6 fe80::20c:29ff:fed1:443/64 scope link
       valid_lft forever preferred_lft forever
root@master:~#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

配置haproxy

HAProxy 是一个功能强大且灵活的负载均衡器,可以帮助构建高性能、高可用性的应用架构,并提供了丰富的功能来应对不同的网络场景和需求。感兴趣可去官网

master,node双节点配置haproxy,只要保持双节点的haproxy配置相同,两台节点的haproxy就能负载均衡

apt install haproxy -y
  • 1
vim /etc/sysctl.d/haproxy.conf

net.ipv4.ip_nonlocal_bind=1
  • 1
  • 2
  • 3
sysctl --system
  • 1
systemctl restart haproxy
  • 1

数据库高可用

采用galera方式,三台controller节点安装

apt install -y mariadb-server
  • 1

三节点停止数据库

systemctl stop mariadb
  • 1

三台节点修改配置文件

vim /etc/mysql/mariadb.conf.d/99-zabbix.cnf
  • 1
[mysqld]
bind-address = 0.0.0.0
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

wsrep_on = ON
wsrep_provider = /usr/lib/galera/libgalera_smm.so
wsrep_cluster_address = "gcomm://controller01,controller02,controller03"
default_storage_engine = InnoDB
binlog_format = row
innodb_autoinc_lock_mode = 2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在一个节点上启动Galera(默认01)

 galera_new_cluster
  • 1

其它两个节点重启数据库

systemctl restart mariadb
  • 1

设置密码并查看验证

mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '000000';"
  • 1
root@controller01:~# mysql -uroot -p000000 -e "show status like 'wsrep_cluster_size';"
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+
root@controller01:~#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

任一节点配置zabbix数据库和用户

mysql -uroot -p000000 -e "create database zabbix character set utf8mb4 collate utf8mb4_bin;"
mysql -uroot -p000000 -e "create user zabbix@localhost identified by '000000';"
mysql -uroot -p000000 -e "CREATE USER 'zabbix'@'%' IDENTIFIED BY '000000';"
mysql -uroot -p000000 -e "grant all privileges on zabbix.* to zabbix@localhost;"
mysql -uroot -p000000 -e "GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';"
mysql -uroot -p000000 -e "set global log_bin_trust_function_creators = 1;"
#设置为 1 时,MySQL 将信任函数的创建者,允许任何用户创建函数,而不受 SUPER 权限或 CREATE ROUTINE 
#权限的限制。这样可以方便一些用户在没有超级用户权限的情况下创建和使用函数。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

配置haproxy,master,node节点文件追加以下内容

cat >> /etc/haproxy/haproxy.cfg << eof
listen openstack_mariadb_galera_cluster
  bind 192.168.200.154:3306
  balance  source
  mode    tcp
  server controller01 192.168.200.155:3306 check inter 2000 rise 2 fall 5
  server controller02 192.168.200.156:3306 check inter 2000 rise 2 fall 5
  server controller03 192.168.200.157:3306 check inter 2000 rise 2 fall 5
eof
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

双节点重启haproxy

systemctl restart haproxy
  • 1

配置zabbix-server

安装zabbix仓库,三台zabbix节点执行

wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
apt update
  • 1
  • 2
  • 3

三台节点安装Zabbix server,Web前端,agent

apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2 zabbix-agent2-plugin-* -y
  • 1

任一zabbix节点测试访问远程zabbix用户,注意此时使用vip地址访问数据库集群

root@zabbix01:~# mysql -h vip -uzabbix -p000000
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 29677
Server version: 5.5.5-10.11.6-MariaDB-0ubuntu0.23.10.2 Ubuntu 23.10

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

任一zabbix节点导入初始架构和数据,系统将提示输入新创建的密码(默认000000)

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix -h vip
  • 1

使用01节点初始化

root@zabbix01:~# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix -h vip
Enter password:
root@zabbix01:~#
  • 1
  • 2
  • 3

zabbix-serverHA配置,启动原生HA模式,官网介绍

服务器配置中需要两个参数才能将 Zabbix 服务器作为集群节点启动:
必须为将成为 HA 集群节点的每个 Zabbix 服务器指定HANodeName参数。
zabbix-node-01这是服务器将在代理和代理配置中引用的唯一节点标识符(例如)。如果不指定HANodeName,则服务器将以独立模式启动。
必须为每个节点指定NodeAddress参数。
Zabbix 前端将使用 NodeAddress 参数(地址:端口)连接到活动服务器节点。 NodeAddress 必须与相应 Zabbix 服务器的 IP 或 FQDN 名称匹配。
更改配置文件后重新启动所有 Zabbix 服务器。它们现在将作为集群节点启动。服务器的新状态可以在报告→系统信息中查看,也可以通过运行:

Zabbix server 支持高可用性(HA)集群是一个可选择的解决方案。本地HA解决方案被设计为易于使用,它可以跨站点工作,并且对Zabbix识别的数据库没有特定的要求。用户可以自由地使用本地Zabbix HA解决方案或第三方HA解决方案,这取决于什么最适合其环境中的高可用性需求。
该解决方案由多个zabbix_server实例或节点组成。
每一个节点: - 单独配置 - 使用相同的数据库 - 可能有几种模式: active, standby, unavailable, stopped
一次只能有一个节点处于活动状态(工作)。 备节点只运行一个进程——HA管理器。备用节点不进行数据收集、处理或其他常规server活动; 它不监听端口; 它们拥有最少的数据库连接
主节点和备节点每5秒更新一次上次访问时间。每个备节点监控主节点的最后一次访问时间。如果主节点的最后一次访问时间超过了“故障转移延迟”秒,备用节点将自己切换为主节点,并将“不可用”状态分配给先前的主节点。
主节点监视自己的数据库连接—如果丢失超过“故障转移延迟-5”秒,它必须停止所有处理并切换到备用模式。主节点还监视备用节点的状态——如果备用节点的最后访问时间超过了“故障转移延迟”秒,备用节点将被分配为“不可用”状态。

zabbix三台节点配置server.conf文件参数官网详解

vim /etc/zabbix/zabbix_server.conf
  • 1
#默认localhost,此处填写为远程的数据库集群,使用vip地址
DBHost=192.168.200.154
#使用自己设置的密码
DBPassword=000000

#注意修改每个节点对应的主机名和ip,文件末尾就是高可用介绍
HANodeName=zabbix01
NodeAddress=192.168.200.158:10051
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

三台节点启动Zabbix server和agent进程

systemctl enable zabbix-server zabbix-agent2 apache2
systemctl restart zabbix-server zabbix-agent2 apache2
  • 1
  • 2

每个节点查看集群状态

root@zabbix01:~# zabbix_server -R ha_status
Runtime commands can be executed only in active mode
root@zabbix01:~#
  • 1
  • 2
  • 3
root@zabbix02:~# zabbix_server -R ha_status
Runtime commands can be executed only in active mode
  • 1
  • 2

活跃节点自动调度在03,01和02成为备用节点

root@zabbix03:~# zabbix_server -R ha_status
Failover delay: 60 seconds
Cluster status:
   #  ID                        Name                      Address                        Status      Last Access
   1. cluazsrgj0001oylpu1wq6lg9 zabbix01                  192.168.200.158:10051          standby     3s
   2. cluazssxi0001yklqemtz54ji zabbix02                  192.168.200.159:10051          standby     0s
   3. cluazsurh0001dplr22qvt91j zabbix03                  192.168.200.160:10051          active      2s
root@zabbix03:~#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

此时如果停掉或重启03节点,则自动调度在01或者03,测试如下

root@zabbix03:~# systemctl restart zabbix-server
  • 1
root@zabbix02:~# zabbix_server -R ha_status
Failover delay: 60 seconds
Cluster status:
   #  ID                        Name                      Address                        Status      Last Access
   1. cluazsrgj0001oylpu1wq6lg9 zabbix01                  192.168.200.158:10051          standby     2s
   2. cluazssxi0001yklqemtz54ji zabbix02                  192.168.200.159:10051          active      4s
   3. cluazsurh0001dplr22qvt91j zabbix03                  192.168.200.160:10051          standby     9s
root@zabbix02:~#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

master,node配置haproxy文件

cat >> /etc/haproxy/haproxy.cfg << eof

listen zabbix_cluster
  bind 192.168.200.154:81
  balance source
  mode tcp
  server zabbix01 192.168.200.158:80 check inter 2000 rise 2 fall 5
  server zabbix02 192.168.200.159:80 check inter 2000 rise 2 fall 5
  server zabbix03 192.168.200.160:80 check inter 2000 rise 2 fall 5
eof
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
systemctl restart haproxy.service
  • 1

vip界面访问:http://192.168.200.154:81/zabbix

在这里插入图片描述

设置数据库密码(000000)和连接数据库集群vip地址

在这里插入图片描述

设置用户名huhy,时区和主题默认

在这里插入图片描述

登录(Admin/zabbix)

在这里插入图片描述

设置中文,三台节点安装软件包并重启

apt-get install language-pack-zh* -y
  • 1
systemctl restart zabbix-server zabbix-agent2 apache2
  • 1

选择并更新

在这里插入图片描述

web界面查看高可用信息

在这里插入图片描述

配置proxy

Zabbix proxy 是一个可以从一个或多个受监控设备采集监控数据并将信息发送到 Zabbix server 的进程,主要是代表 Zabbix server 工作。 所有收集的数据都在本地缓存,然后传输到 proxy 所属的 Zabbix server。
部署Zabbix proxy 是可选的,但可能非常有利于分担单个 Zabbix server 的负载。 如果只有代理采集数据,则 Zabbix server 上会减少 CPU 和磁盘 I/O 的开销。
Zabbix proxy 是无需本地管理员即可集中监控远程位置、分支机构和网络的理想解决方案。
Zabbix proxy 需要使用独立的数据库。

在zabbix01节点上安装proxy,资源有限这里使用一台机器作为演示

apt install zabbix-proxy-mysql  zabbix-sql-scripts -y
  • 1

controller01节点创建初始数据库

mysql -uroot -p000000 -e "create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;"
mysql -uroot -p000000 -e "GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'localhost' IDENTIFIED BY '000000' ;"
mysql -uroot -p000000 -e "GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY '000000' ;"
mysql -uroot -p000000 -e "GRANT SUPER ON *.* TO 'zabbix'@'localhost';"
mysql -uroot -p000000 -e "GRANT SUPER ON *.* TO 'zabbix'@'%';"
  • 1
  • 2
  • 3
  • 4
  • 5

master节点导入初始架构和数据,系统将提示您输入连接的密码。

cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix_proxy -h vip
  • 1

主动代理 (Active Proxy):

在主动代理模式下,Zabbix Proxy 主动连接到 Zabbix 服务器,并定期发送监控数据。
Zabbix 服务器不需要为代理的连接做出响应,因为代理会自行建立连接并发送数据。
这种模式通常用于网络环境中的代理,其中代理可以连接到 Zabbix 服务器,但是 Zabbix 服务器不能直接连接到代理。
被动代理 (Passive Proxy):

在被动代理模式下,Zabbix Proxy 不会主动连接到 Zabbix 服务器,而是等待 Zabbix 服务器发送请求并获取数据。
Zabbix 服务器会定期轮询被动代理,并从代理处获取监控数据。
这种模式通常用于部署在受限网络中的代理,其中代理无法直接连接到 Zabbix 服务器,但是 Zabbix 服务器可以访问代理。
总的来说,主动代理适用于代理可以直接连接到 Zabbix 服务器的场景,而被动代理适用于代理无法直接连接到 Zabbix 服务器的场景,需要 Zabbix 服务器主动获取数据的情况。(默认主动式配置参数ProxyMode=0)

节点编辑配置文件 /etc/zabbix/zabbix_proxy.conf

vim /etc/zabbix/zabbix_proxy.conf
  • 1
#数据库集群使用vip代理地址
DBHost=192.168.200.154

#界面创建的proxy要与这里统一
Hostname=zabbix-proxy01

DBPassword=000000

Server=192.168.200.158;192.168.200.159;192.168.200.160
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

重启并开机自启

systemctl restart zabbix-proxy
systemctl enable zabbix-proxy
  • 1
  • 2

在这里插入图片描述

等待一会

在这里插入图片描述

配置客户端agent

使用master节点配置为客户端进行监控

apt install -y zabbix-agent2
  • 1

配置文件

vim /etc/zabbix/zabbix_agent2.conf
  • 1
ServerActive=192.168.200.158,192.168.200.159,192.168.200.160

Hostname=agent01-master

Server=192.168.200.158,192.168.200.159,192.168.200.160
  • 1
  • 2
  • 3
  • 4
  • 5
systemctl restart zabbix-agent2
systemctl enable --now zabbix-agent2
  • 1
  • 2

使用proxy作为中间代理转发给server

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/881758
推荐阅读
相关标签
  

闽ICP备14008679号