zabbix-proxy分布式监控配置

监控流程

一个监控系统运行的大概的流程是这样的:

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

zabbix-proxy分布式监控配置
常用的监控架构平台

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
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代理
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
zabbix-proxy分布式监控配置
修改server3的主机名为proxy,给三个节点添加地址解析
zabbix-proxy分布式监控配置
zabbix-proxy分布式监控配置
安装数据库,这里的数据库用来存放监控项模板
zabbix-proxy分布式监控配置
zabbix-server会告诉zabbix-proxy应该去拿哪些数据,因此zabbix-proxy也要有数据库

开启数据库,进行数据库的安全初始化
[[email protected] ~]# systemctl start mariadb.service
[[email protected] ~]# systemctl enable mariadb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[[email protected] ~]# mysql_secure_installation
zabbix-proxy分布式监控配置
登陆数据库,创建数据库,用户授权
zabbix-proxy分布式监控配置

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 [email protected] identified by ‘redhat’;
Query OK, 0 rows affected (0.00 sec)
zabbix-proxy分布式监控配置
导入数据库
zabbix-proxy分布式监控配置
编辑配置文件,开启服务
vim /etc/zabbix/zabbix_proxy.conf
修改server为server1的ip
zabbix-proxy分布式监控配置
主机名字改为proxy
zabbix-proxy分布式监控配置
修改数据库密码
zabbix-proxy分布式监控配置
2.在web界面设置
管理—> agent代理程序 —>创建代理 —> 填写信息 —>添加
zabbix-proxy分布式监控配置
zabbix-proxy分布式监控配置
在proxy上面设置
开启proxy服务
zabbix-proxy分布式监控配置
查看日志
cat /var/log/zabbix/zabbix_proxy.log
zabbix-proxy分布式监控配置
在server1上进行设置
查看日志,发现报错

在web界面设置
配置—> 主机 —> server2—> agent代理程序接口—> agent代理程序检测 —> 更新
zabbix-proxy分布式监控配置
zabbix-proxy分布式监控配置
发现此时的server2前面会出现proxy

在agent(server2)上设置——server2 将server指向proxy
也就是server2和proxy通信
zabbix-proxy分布式监控配置
zabbix-proxy分布式监控配置
重新启动服务,看日志

在server1上重新加载,使得server1和proxy数据同步
zabbix-proxy分布式监控配置
查看日志
zabbix-proxy分布式监控配置
重启proxy,查看日志
发现proxy可以收到server发给它的数据项模板
zabbix-proxy分布式监控配置
在agent上 server2 重启服务,查看日志
发现agent正常启动
zabbix-proxy分布式监控配置
在web页面刷新
发现agent的zabbix监控正常,但是jmx是灰色的
因为agent是指向proxy的,但是proxy上面没有javagateway服务
zabbix-proxy分布式监控配置
编辑proxy的配置文件,开启proxy中的javagateway并且指向server端
zabbix-proxy分布式监控配置
重启proxy查看日志
zabbix-proxy分布式监控配置
再次刷新web JMX
zabbix-proxy分布式监控配置