博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zabbix——部署Zabbix proxy 分布式监控
阅读量:2346 次
发布时间:2019-05-10

本文共 3672 字,大约阅读时间需要 12 分钟。

一.什么是Zabbix proxy分布式监控配置

Zabbix proxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构,Proxy只负责一定区域内的数据采集工作,可以代替zabbix server检索客户端的数据,然后定期将数据一次性发送给server,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求,非常简便的实现了集中式、分布式监控。

Zabbix主要由zabbix server和zabbix agent组成

  • server端负责从agent端收集监控数据,并存储在数据库中,同时对数据进行分析展示,并触发相关报警
  • agent端负责监控数据的采集,并发送给server端

而数据的采集方式除了在被监控主机上部署agent程序外,还可通过ICMP/IPMI/SNMP等协议对网络设备进行监控,同时配置web监控方式可以监控web页面的下载速率和响应时间等重要参数

zabbix proxy 使用场景:

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

环境说明(企业中):

zabbix-server 处于外网,zabbix-agent 处于各个地方的内网,所有内网都是互通的。其中有一台内网服务器既可以和内网通信,也可以和外网进行通信。

通过zabbix proxy的搭建,zabbix server可以远程从proxy获取到数据,这里的环境相当于zabbix server具有一个公网ip地址,zabbix agent只具有内网地址,zabbix proxy具有外网地址和内网地址,搭建zabbix proxy使zabbix server能通过proxy远程获取到zabbix agent的数据

图来自网络

在这里插入图片描述
注意事项:

  • zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可

  • zabbix proxy 数据库必须和 server 分开,否则数据会被破坏

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

Zabbix server数据库直接更新,最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于 CacheUpdateFrequency 的原因而无法快速更新。因此,proxy收集发送Zabbix server数据可能会被忽略

zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警

二:Zabbix proxy 分布式监控的部署

主机 服务
server1 zabbix-server,zabbix-agent
server2 zabbix-agent
proxy zabbix-proxy

实验步骤如下所示:

前提:

因为我们这里的proxy是用原来的server3虚拟机,所以实验环境也是server3的,为了实验环境的纯净,我们做以下操作:

在这里插入图片描述

在这里插入图片描述

这里我还修改了主机名称:为了方便识别

在这里插入图片描述
第一步:安装proxy,mariadb并配置mariab

[root@proxy mnt]# yum install -y zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm  fping-2.4b2-16.el6.x86_64.rpm [root@proxy mnt]# yum install -y mariadb-server.x86_64 [root@proxy mnt]#systemctl start mariadb.service [root@proxy mnt]#systemctl enable mariadb.service [root@proxy mnt]#systemctl status mariadb.service

在这里插入图片描述

在这里插入图片描述

启动数据库
在这里插入图片描述

对数据库进行配置

[root@proxy mnt]#mysql_secure_installation [root@proxy mnt]#mysql -pcreate database zabbix_proxy character set utf8 collate utf8_bin;grant all privileges on zabbix_.* to zabbix@localhost identified by 'westos';

在这里插入图片描述

在这里插入图片描述

导入数据库

root@proxy mnt]# zcat /usr/share/doc/zabbix-proxy-mysql-4.0.5/schema.sql.gz | mysql -p zabbix_proxy     #这里的密码是zabbix_proxy用户的密码

在这里插入图片描述

第二步:配置zabbix-proxy

[root@proxy mnt]# vim /etc/zabbix/zabbix_proxy.conf 30 Server=172.25.27.139 ServerPort=10051 49 Hostname=proxy173 DBName=zabbix_proxy188 DBUser=zabbix196 DBPassword=westos

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在浏览器设置agent代理

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

proxy启动服务:并查看日志

[root@proxy mnt]# systemctl start zabbix-proxy.service [root@proxy mnt]# systemctl enable zabbix-proxy.service [root@proxy mnt]# cat /var/log/zabbix/zabbix_proxy.log   #可以接受到data来自172.25.27.1

在这里插入图片描述

在这里插入图片描述

server1查看日志

[root@server1 ~]# cat /var/log/zabbix/zabbix_server.log   #可以发送data给proxy给172.25.27.3

在这里插入图片描述

在这里插入图片描述

查看代理服务:

在这里插入图片描述

第三步:给server2设置代理

在浏览器设置:

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

root@server2 ~]# vim /etc/zabbix/zabbix_agentd.confServer=172.25.27.3ServerActive=172.25.27.3[root@server2 ~]# systemctl restart zabbix-agent.service [root@server2 ~]# cat /var/log/zabbix/zabbix_agentd.log    #发现有错误proxy172.25.27.3找不到server2

在这里插入图片描述

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

在这里插入图片描述

server1

root@server1 ~]# zabbix_server  -R  config_cache_reload    zabbix_server [5993]: command sent successfully[root@server1 ~]# cat /var/log/zabbix/zabbix_server.log    #强制加载

在这里插入图片描述

在这里插入图片描述

proxy

[root@proxy mnt]# systemctl restart zabbix-proxy.service [root@proxy mnt]# cat /var/log/zabbix/zabbix_proxy.log     能够检测到server2

在这里插入图片描述

在这里插入图片描述

server2:

[root@server2 ~]# systemctl restart zabbix-agent.service [root@server2 ~]# cat /var/log/zabbix/zabbix_agentd.log      #成功

在这里插入图片描述

在这里插入图片描述

在浏览器刷新之后发现JMX没启用,这是因为我们的代理配置文件的没有设置这个监控

在这里插入图片描述

第四步:proy设置监控java模块

[root@proxy mnt]# vim /etc/zabbix/zabbix_proxy.conf 329 JavaGateway=172.25.27.1337 JavaGatewayPort=10052345 StartJavaPollers=5[root@proxy mnt]# systemctl restart zabbix-proxy.service [root@proxy mnt]# cat /var/log/zabbix/zabbix_proxy.log

在这里插入图片描述

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

在这里插入图片描述

ps ax查看一下是否有五个java进程

在这里插入图片描述

此时去浏览器,发现JMX启用了

在这里插入图片描述

转载地址:http://aljvb.baihongyu.com/

你可能感兴趣的文章
win7使用Putty 连接debain
查看>>
debain 常用命令
查看>>
debain 安装amd显卡驱动
查看>>
Java Jacob 打印word文档
查看>>
Java Freemarker 根据模板生成Word
查看>>
Java Mybatis Plus 集成与使用
查看>>
Java 一台电脑部署多个tomcat服务
查看>>
Java WinSw 安装Jar成Windows服务
查看>>
Linux安装Jar成服务
查看>>
Java SSH连接mysql数据库
查看>>
计算机使用常见问题与答案
查看>>
Mysql 触发器的Http请求
查看>>
Mysql 跟踪sql日志
查看>>
搭建一个Vue项目
查看>>
SVN Working Copy Locked 解决方法
查看>>
Java 简单的复习下JDBC 工具类
查看>>
将Java Swing Jar 封装成exe文件
查看>>
端口显示被占用,netstat -aon | findstr却找不到端口的解决方法
查看>>
Linux内核中读写文件数据的方法
查看>>
USB电池充电基础:应急指南(转载)
查看>>