监控流程
一个监控系统运行的大概的流程是这样的:
agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,
zabbix web根据数据在前端进行展现和绘图。这里agentd收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
被动:server向agent请求获取监控项的数据,agent返回数据。

常用的监控架构平台
1、server-agentd模式:
这个是最简单的架构了,常用于监控主机比较少的情况下。
2、server-proxy-agentd模式:
这个常用于比较多的机器,使用proxy进行分布式监控,有效的减轻server端的压力。
当需要监控的agent很多的时候,并且每个agent上面有很多的数据项被监控,这对于zabbix-server来说无疑是一种压力
因此zabbix-server不再主动去找agent,而是由zabbix-proxy去主动找agent拿监控的数据,然后再发送给zabbix-server
这样就可以缓解监控方zabbix-server的压力
删除server3主机,因为打算使用server3主机作为zabbix-proxy

实验环境说明
server1(172.25.15.1) zabbix-server监控方
server3(172.25.15.3) zabbix-proxy代理
server2(172.25.15.2) zabbix-agent被监控方
zabbix-server<----------zabbix-proxy------------>zabbix-agent
proxy主动去采集被监控方agent的数据然后再主动发给server
在server3(zabbix-proxy)上面进行配置
关闭agent服务,因为要用server3作zabbix-proxy代理

在server3上面安装zabbix-proxy
将fping和zabbix-proxy一起安装
yum install fping-3.10-1.el7.x86_64.rpm zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm -y

修改server3的主机名为proxy,给三个节点添加地址解析


安装数据库,这里的数据库用来存放监控项模板

zabbix-server会告诉zabbix-proxy应该去拿哪些数据,因此zabbix-proxy也要有数据库
开启数据库,进行数据库的安全初始化
[root@proxy ~]# systemctl start mariadb.service
[root@proxy ~]# systemctl enable mariadb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@proxy ~]# mysql_secure_installation

登陆数据库,创建数据库,用户授权

MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by ‘redhat’;
Query OK, 0 rows affected (0.00 sec)

导入数据库

编辑配置文件,开启服务
vim /etc/zabbix/zabbix_proxy.conf
修改server为server1的ip

主机名字改为proxy

修改数据库密码

2.在web界面设置
管理—> agent代理程序 —>创建代理 —> 填写信息 —>添加


在proxy上面设置
开启proxy服务

查看日志
cat /var/log/zabbix/zabbix_proxy.log

在server1上进行设置
查看日志,发现报错
在web界面设置
配置—> 主机 —> server2—> agent代理程序接口—> agent代理程序检测 —> 更新


发现此时的server2前面会出现proxy
在agent(server2)上设置——server2 将server指向proxy
也就是server2和proxy通信


重新启动服务,看日志
在server1上重新加载,使得server1和proxy数据同步

查看日志

重启proxy,查看日志
发现proxy可以收到server发给它的数据项模板

在agent上 server2 重启服务,查看日志
发现agent正常启动

在web页面刷新
发现agent的zabbix监控正常,但是jmx是灰色的
因为agent是指向proxy的,但是proxy上面没有javagateway服务

编辑proxy的配置文件,开启proxy中的javagateway并且指向server端

重启proxy查看日志

再次刷新web JMX

本文详细介绍Zabbix Proxy在分布式监控系统中的应用,包括配置流程、常见问题解决及优化策略,帮助读者理解如何通过Proxy减轻Server端压力,实现大规模监控。
592

被折叠的 条评论
为什么被折叠?



