命令记不住

登陆

Zabbix 分布式监控

Zabbix分布式监控

1.ZabbixProxy分布式概述

zabbix proxy可以代替zabbix server收集性能和可用性数据, 然后把数据汇报给zabbix server并且在一定程度上分担了zabbix server的压力
Zabbix分布式监控使用场景

  • 监控不同区域设备
  • 监控本地网络不稳定区域
  • 当zabbix监控上千设备时,使用它来减轻server的压力
  • 简化分布式监控的维护
    1
    2

proxy收集到数据之后,首先将数据缓存在本地, 然后在一定得时间之后传递给zabbix server这样就不会因为服务器的任何临时通信问题而丢失数据。
这个时间由proxy配置文件中参数ProxyLocalBuffer和 ProxyOfflineBuffer决定。

zabbix proxy是一个数据收集器,它不计算触发器、不生成图形、不处理事件、不发送报警。有关proxy功能的概述,如下表:
3
2

2.ZabbixPorxy分布式实践

1.ZabbixProxy分布式实践场景
4
2.ZabbixProxy分布式场景实践环境规划

服务器功能 服务器外网 服务器内网
Zabbix-Serverq 10.0.0.71
Zabbix-Proxy 10.0.0.8 172.16.1.8
Zabbix-Agent 10.0.0.9 172.16.1.9

3.安装Zabbix-Proxy

[root@proxy_node1 ~]# yum localinstall -y https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-proxy-mysql-3.4.14-1.el7.x86_64.rpm

4.配置Zabbix-Proxy数据库

# 安装Mariadb数据库
[root@proxy_node1 ~]# yum install mariadb-server –y
[root@proxy_node1 ~]# systemctl start mariadb
[root@proxy_node1 ~]# systemctl enable mariadb
# 登陆Mariadb数据库
[root@proxy_node1 ~]# mysql

# 创建数据库
MariaDB [(none)]> create database zabbix_proxy default charset utf8;
# 授权数据库
MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix_proxy@'localhost' identified by 'zabbix_proxy';
MariaDB [(none)]> exit

# 导入zabbix数据
[root@proxy_node1 ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.4.14/
[root@web02 zabbix-proxy-mysql-3.4.14]# zcat schema.sql.gz |mysql -uzabbix_proxy -pzabbix_proxy zabbix_proxy

5.配置Zabbix-Proxy服务, 将Zabbix Proxy的指向Zabbix-Server地址

[root@proxy_node1 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
Server=10.0.0.71
Hostname=Zabbix Proxy
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=zabbix_proxy
Timeout=30

proxy和Zabbix Server同步配置数据频率(主动模式)

[root@tj-agent ~]#vim /etc/zabbix/zabbix_proxy.conf
### Option: ConfigFrequency
#       How often proxy retrieves configuration data from Zabbix Server in seconds.
#       For a proxy in the passive mode this parameter will be ignored.
#
# Mandatory: no
# Range: 1-3600*24*7
# Default:
# ConfigFrequency=3600

proxy向Zabbix Server发送搜集到信息的频率(根据实际网络传输速率修改)

### Option: DataSenderFrequency
#       Proxy will send collected data to the Server every N seconds.
#       For a proxy in the passive mode this parameter will be ignored.
#
# Mandatory: no
# Range: 1-3600
# Default:
# DataSenderFrequency=1

6.启动zabbix-proxy并加入开机自启

[root@proxy_node1 ~]# systemctl enable zabbix-proxy
[root@proxy_node1 ~]# systemctl start zabbix-proxy
[root@proxy_node1 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      5561/zabbix_proxy

7.配置Zabbix-Agent

[root@web03 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf 
Server=172.16.1.8
ServerActive=172.16.1.8
Hostname=Web03      #必须填写主机名

重启zabbix-agent
[root@web03 ~]# systemctl restart zabbix-agent

8.配置Zabbix-Server的Web页面, 单击创建代理
8


9.配置proxy名称, 它必须与proxy配置文件中的Hostname参数中的名称相同



7


10.在ZabbixServer上创建主机, 主机名称是必须Agent之前定义的Hostname否则Agent无法使用主动模式的监控项, 最后借助Proxy代理去取值, 单击->配置->主机->创建主机->模板->


8


11.最终监控效果如下


9


12.检查最新数据,查看最终监控效果


10


推荐阅读