21. zabbix 分布式监控 proxy

文章目录

    • 21. zabbix 分布式监控 proxy
      • 应用场景
      • 21.1 安装 proxy
      • 21.2 安装 mysql
      • 21.3 导入数据
      • 21.4 修改配置文件
      • 21.5 启动服务
      • 21.6 添加 proxy
      • 21.7 配置内网 proxy 网络
        • 21.7.1 添加网卡
        • 21.7.2 配置内网 ip
      • 21.8 配置内网 agent 网络
        • 21.8.1 agent 连接小技巧
        • 21.8.2 修改配置文件
        • 21.8.3 查看主机
      • 21.9 查看 proxy 日志

21. zabbix 分布式监控 proxy

应用场景

1)监控远程区域设备
2)监控本地网络不稳定区域
3)当 zabbix 监控上千设备时,使用它来减轻 server 的压力
4)简化分布式监控的维护
注意:zabbix_proxy的数据库必须与zabbix_server的数据库分开。不过可以同时在server端创建zabbix数据库与zabbix_proxy数据库,记得授权即可。 

21. zabbix 分布式监控 proxy_第1张图片

21.1 安装 proxy

下载 rpm包 可以参考 centos 7 安装 zabbix 4.0 方案

# 从清华的开源镜像下载
wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm --no-check-certificate

rpm -ivh zabbix-release-4.0-2.el7.noarch.rpm
# rpm 参数解释:
# i 安装软件包
# v 显示附加信息
# h 安装时输出哈希标记(``#'')

# 修改 vim /etc/yum.repos.d/zabbix.repo 配置文件,在文件中修改下载地址
:%s#http://repo.zabbix.com#https://mirrors.tuna.tsinghua.edu.cn/zabbix#g
# 修改校验
:%s#gpgcheck=1#gpgcheck=0#g


[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=0

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=0


# 安装 zabbix-proxy-mysql.x86_64
yum install zabbix-proxy-mysql.x86_64 -y

21.2 安装 mysql

yum install mariadb-server.x86_64 -y
# 启动数据库并设置开机自启
systemctl start mariadb.service
systemctl enable mariadb.service

# 优化数据库(这个可以做也可以不用,看使用需求)
mysql_secure_installation
# 创建 zabbix_proxy 数据库
create database zabbix_proxy default charset utf8;
# 创建 zabbix 用户,并授权 zabbix_proxy 数据库
grant all on zabbix_proxy.* to zabbix@localhost identified by 'Abcd@1234.';

21.3 导入数据

zcat /usr/share/doc/zabbix-proxy-mysql-4.0.40/schema.sql.gz | mysql -uzabbix -pAbcd@1234. zabbix_proxy

21. zabbix 分布式监控 proxy_第2张图片

导入完成可以在数据库中查看是否导入成功

21. zabbix 分布式监控 proxy_第3张图片

或者在命令行直接查看
mysql -uroot -pAbcd@1234. -e 'use zabbix_proxy;show tables;'

21. zabbix 分布式监控 proxy_第4张图片

21.4 修改配置文件

vim /etc/zabbix/zabbix_proxy.conf

ProxyMode=0             #0为主动, 1为被动
Hostname=zabbix-mysql   #代理服务器名称,需要与zabbix server添加代理时候的proxy name是一致的!
Server=192.168.169.129  #zabbix server服务器的地址或主机名 
DBHost=localhost        #数据库服务器地址
DBUser=zabbix
HeartbeatFrequency=60   #心跳间隔检测时间,默认60秒,范围0-3600秒, 被动模式不使用
ConfigFrequency=60      #间隔多久从zabbix server 获取监控信息
DataSenderFrequency=3   #数据发送时间间隔,默认为1秒,范围为1-3600秒,被动模式不使用
ProxyLocalBuffer=3      #数据同步到server,数据还会保存多久,单位小时
ProxyOfflineBuffer=24   #未提交的数据保存多长时间

21.5 启动服务

systemctl start zabbix-proxy.service
systemctl enable zabbix-proxy.service

21.6 添加 proxy

管理 --> agent代理程序 --> 创建代理

21. zabbix 分布式监控 proxy_第5张图片

21. zabbix 分布式监控 proxy_第6张图片

21.7 配置内网 proxy 网络

测试说明:
	本次测试使用 VMware station 安装的 centos 7
21.7.1 添加网卡
1)找到 proxy 所安装的机器
2)添加一个网络适配器
3)修改新添加的网络适配器

21. zabbix 分布式监控 proxy_第7张图片

21. zabbix 分布式监控 proxy_第8张图片

21.7.2 配置内网 ip
# 通过 ifconfig 查看添加网卡信息,ens37即为新添加的网卡名称
ifconfig

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.169.133  netmask 255.255.255.0  broadcast 192.168.169.255
        inet6 fe80::78fb:49ed:61a6:b9fd  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:58:38:c5  txqueuelen 1000  (Ethernet)
        RX packets 111372  bytes 43692207 (41.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48224  bytes 6623852 (6.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::8099:ba25:d440:47bf  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:58:38:cf  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 35  bytes 5634 (5.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 6760  bytes 481901 (470.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6760  bytes 481901 (470.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# 编辑网卡信息
# 1)将 ens33 复制 并改名为 ens37
# 2)修改 ens37 内容
# 如下内容为 ifcfg-ens37 文件内容
# 主要修改 NAME="ens37" DEVICE="ens37" IPADDR=172.16.0.20
# 网关,DNS 都不需要
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="ens37"
UUID="65edbbe7-3b88-42ca-be9e-062740d3a630"
DEVICE="ens37"
ONBOOT="yes"
IPADDR=172.16.0.20
NETMASK=255.255.255.0

# ifcfg-ens37 文件修改完成后启动网卡
ifup ifcfg-ens37
[root@zabbix-mysql network-scripts]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.169.133  netmask 255.255.255.0  broadcast 192.168.169.255
        inet6 fe80::78fb:49ed:61a6:b9fd  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:58:38:c5  txqueuelen 1000  (Ethernet)
        RX packets 116764  bytes 44097443 (42.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 51989  bytes 7115154 (6.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.0.20  netmask 255.255.255.0  broadcast 172.16.0.255
        inet6 fe80::20c:29ff:fe58:38cf  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:58:38:cf  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 117  bytes 18814 (18.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 6760  bytes 481901 (470.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6760  bytes 481901 (470.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

21.8 配置内网 agent 网络

1)选择需要修改的 agent机器
2)将网络适配器修改成和 proxy 相同的内网网段(LAN区段)

21. zabbix 分布式监控 proxy_第9张图片

# 修改网络配置
# 主要修改 IPADDR 将 ip 地址修改和 proxy 在同一网段
# 删除网关和DNS即可

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="65edbbe7-3b88-42ca-be9e-062740d3a630"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=172.16.0.21
NETMASK=255.255.255.0
# 重启网卡
systemctl restart network
# 测试网络是否联通(ping proxy 内网地址)
ping 172.16.0.20
21.8.1 agent 连接小技巧
在配置完成 agent 内网地址后,agent 和 xshell 是无法连接的,这时我们可以使用 proxy 的机器远程登陆 agent 机器
在 proxy 机器上使用如下命令
ssh [email protected]
21.8.2 修改配置文件
vim /etc/zabbix/zabbix_agentd.conf

Server=172.16.0.20			# 修改为 proxy 所在机器的内网地址
ServerActive=172.16.0.20	# 修改为 proxy 所在机器的内网地址
Hostname=172.16.0.21		# 修改为本机的 ip 地址,ip 地址一般具有唯一性,便于识别
# 重启 zabbix-agent
systemctl restart zabbix-agent.service
21.8.3 查看主机
说明:
	本次测试的 agent 配置了自动注册,所以在 web 页面的主机里可以直接看到纳管的 agent
	自动注册可以参考上面 19.2 内容

21. zabbix 分布式监控 proxy_第10张图片

21.9 查看 proxy 日志

tail -f /var/log/zabbixsrv/zabbix_proxy.log

 
 
 
 
 

你可能感兴趣的:(zabbix,分布式,zabbix,proxy,zabbix,分布式)