zabbix笔记_007 zabbix 分布式架构
1. zabbix 分布式架构[服务器数量较大的场景下使用]
现有架构:
agent --> zabbix server
proxy架构:
agent --> zabbix proxy --> zabbix server
proxy架构是让agent数据上报给zabbix proxy然后由zabbix proxy统一发送给zabbix server
架构改造:
将一台zabbix_agent 转变为 zabbix proxy
新增一台 zabbix server让zabbix proxy数据发送给zabbix server
10.0.0.80 zabbix_server
10.0.0.66 zabbix_agent 转变为 zabbix_proxy
10.0.0.63 zabbix_agent
10.0.0.65 zabbix_agent
2. zabbix_proxy架构图

3. zabbix agent业务机器配置agent:
将zabbix agent的服务器地址指向 proxy服务器
下面配置的是 10.0.0.63 10.0.0.65 服务器修改 zabbix proxy 项指向了 10.0.0.66的proxy服务器
#agent客户端10.0.0.63配置:
#1. 修改agent配置文件的proxy服务器地址
[root@master zabbix]# egrep -v "^#|^$" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
#----------------------- 将server改为我们的zabbix proxy服务器地址 ----------------------------
如下:
[root@node2_proxy zabbix-proxy-mysql-3.4.10]# egrep -v "^#|^$" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.66
ServerActive=10.0.0.66
Hostname=Zabbix_agent_66
Include=/etc/zabbix/zabbix_agentd.d/*.conf
#-----------------
# 2. 重启 zabbix_agent服务
[root@master zabbix]# systemctl restart zabbix-agent.service
============================================
----------------分割线----------------------
============================================
#agent客户端10.0.0.65配置:
#agent客户端配置:
#1. 修改agent配置文件的proxy服务器地址
[root@master zabbix]# egrep -v "^#|^$" zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
#----------------------- 将server改为我们的zabbix proxy 服务器地址 ----------------------------
如下:
[root@master zabbix]# egrep -v "^#|^$" zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.66
ServerActive=10.0.0.66
Hostname=Zabbix_agent_65
Include=/etc/zabbix/zabbix_agentd.d/*.conf
#-----------------
# 2. 重启 zabbix_agent服务
[root@master zabbix]# systemctl restart zabbix-agent.service
4. zabbix_proxy 安装 [10.0.0.66]
-------------------------------------------------
一 . 安装zabbix-proxy:
#1. 安装zabbix-agent zabbix-proxy
yum localinstall -y https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.10-1.el7.x86_64.rpm
yum localinstall -y http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-proxy-mysql-3.4.10-1.el7.x86_64.rpm
#2. 安装 mariadb
yum install -y mariadb-server
#2.1 启动mariadb和设置开机自启动
systemctl start mariadb.service
systemctl enable mariadb.service
#2.2 创建zabbix_proxy库
mysql
create database zabbix_proxy default charset utf8;
grant all privileges on zabbix_proxy.* to zabbix_proxy@'localhost' identified by '123456';
flush privileges;
exit
数据库账号密码: zabbix_proxy 123456
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
| zabbix_proxy |
+--------------------+
3 rows in set (0.00 sec)
#2.3 导入zabbix_proxy数据[默认就在zabbix-proxy中]:
cd /usr/share/doc/zabbix-proxy-mysql-3.4.10/
zcat schema.sql.gz |mysql -uzabbix_proxy -p123456 zabbix_proxy
如果你不知道文件在哪儿你可以使用 rpm -ql zabbix-proxy 来查看
schema.sql.gz 这个文件就是
进入数据库检查:
mysql
use zabbix_proxy;
show tables;
看到里面有表证明成功
-------------------------------------------------
二. 配置zabbix-proxy连接数据库:
配置文件: /etc/zabbix/zabbix_proxy.conf
1. 修改配置文件:
/etc/zabbix/zabbix_proxy.conf
修改为以下结果:
Server=10.0.0.80
Hostname=Zabbix_proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=123456
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
-------------------------------------------------
1.1 配置文件解释:
[root@node2_proxy zabbix-proxy-mysql-3.4.10]# cat /etc/zabbix/zabbix_proxy.conf
Server=10.0.0.80 ##<--------改为zabbix server服务器地址
Hostname=80_zabbix_proxy ##<--------这个名字很重要,它关系到 zabbix server是否可以找到proxy服务器
LogFile=/var/log/zabbix/zabbix_proxy.log ##<-------- 日志文件
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid ##<-------- 进程pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy ##<-------- 改为zabbix_proxy 数据库名
DBUser=zabbix_proxy ##<-------- 改为zabbix_proxy 数据库连接账户
DBPassword=123456 ##<-------- 改为zabbix_proxy 数据库连接密码
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
#2. 重启zabbix-proxy服务
systemctl restart zabbix-proxy.service
#检查状态:
systemctl status zabbix-proxy.service
#开机启动:
systemctl enable zabbix-proxy.service
记得启动完成后检查一下服务状态: systemctl status zabbix-proxy.service,直接查看进程也可以:
[root@node2_proxy zabbix-proxy-mysql-3.4.10]# netstat -lntup |grep zabbix_proxy
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 37332/zabbix_proxy
tcp6 0 0 :::10051 :::* LISTEN 37332/zabbix_proxy
-------------------------------------------------
三. zabbix server配置获取zabbix proxy数据配置:
5. WEB页面配置 [http://10.0.0.80]
依次选择:
配置 - 主机 - 创建主机


配置好了添加:

这里的 zabbix图标没有亮,需要等待一会儿,如果等不及,就去重启一下 proxy服务器中的zabbix-proxy
systemctl restart zabbix-proxy
再次刷新就看到被监控上了:


检查告警是否正常:

微信告警推送正常:

zabbix笔记_007 zabbix 分布式架构的更多相关文章
- zabbix笔记_008 zabbix监控交换机路由器
zabbix监控交换机路由器 要监控路由器交换机,需要使用到SNMP协议 SNMP是一个简单网络管理协议,他基于C/S模型实现的监控和管理. 服务器安装SNMP: yum -y install net ...
- 分布式系统监视zabbix讲解七之分布式监控--技术流ken
分布式监控 概述 Zabbix通过Zabbix proxy为IT基础设施提供有效和可用的分布式监控 代理(proxy)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器. Pro ...
- zabbix的日常监控-分布式监控(十)
参考博文:http://blog.51cto.com/jinlong/2051966 zabbix proxy 可以代替 zabbix server 检索客户端的数据,然后把数据汇报给 zabbix ...
- 分布式系统监视zabbix讲解七之分布式监控
分布式监控 概述 Zabbix通过Zabbix proxy为IT基础设施提供有效和可用的分布式监控 代理(proxy)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器. Pro ...
- zabbix学习笔记:zabbix监控之短信报警
zabbix学习笔记:zabbix监控之短信报警 zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式.本篇文章向大家介绍短信报警. 短信报警设置 短信 ...
- 运维笔记:zabbix的运用(1)安装过程
前言 如果是用了阿里云或者腾讯云,他们都有各种监控帮我们做好.但是如果是遇到了自己维护自己机房的服务器,那么一些可视化或者监控就很有意义了.监控可能有很多种方案,这里就以比较老牌通吃的zabbix来解 ...
- 分享 : 警惕MySQL运维陷阱:基于MyCat的伪分布式架构
分布式数据库已经进入了全面快速发展阶段.这种发展是与时俱进的,与人的需求分不开,因为现在信息时代的高速发展,导致数据量和交易量越来越大.这种现象首先导致的就是存储瓶颈,因为MySQL数据库实质上还是一 ...
- 转:三思!大规模MySQL运维陷阱之基于MyCat的伪分布式架构
在微信公众号看到一篇关于mycat的文章,觉得分析的很不错,给大家分享一下 三思!大规模MySQL运维陷阱之基于MyCat的伪分布式架构 原文链接:https://mp.weixin.qq.com/s ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_2_01传统架构演进到分布式架构
笔记 第二章 架构演进和分布式系统基础知识 1.传统架构演进到分布式架构 简介:讲解单机应用和分布式应用架构演进基础知识 (画图) 高可用 LVS+keepalive :负载均衡的知识点 1. ...
- 一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 1.分布式架构下,Session共享有什么方案 2.简述你对RPC.RMI的理解 3.分布式id生成方案 4.分布式锁解决 ...
随机推荐
- CTR预估系列模型漫谈
FM FM的主要内容 了解fm模型之前,需要先说一下lr带入一下场景.lr作为早期ctr预估里面的模型,其速度上有着无可比拟的优势,而偏偏ctr场景下伴随着有大量的离散特征,高维稀疏特征,这个很适合l ...
- MVC 测试action的运行速度
前言 网络很多文章有关于action的测试机制,本文主要是整理一下思路. 正文 假如有一个acion: public ActionResult Index() { return View(); } 当 ...
- next.js app目录 i18n国际化简单实现
最近在用next写一个多语言的项目,找了好久没找到简单实现的教程,实践起来感觉都比较复杂,最后终于是在官方文档找到了,结合网上找到的代码demo,终于实现了,在这里简单总结一下. 此教程适用于比较简单 ...
- TiDB Vector 抢先体验之用 TiDB 实现以图搜图
本文首发自 TiDB 社区专栏:https://tidb.net/blog/0c5672b9 前言 最早知道 TiDB 要支持向量化的消息应该是在23年10月份左右,到第一次见到 TiDB Vecto ...
- 【阿里云采购季】3月采购完,IT运维躺赢一年
阿里云2020上云采购季正式上线啦!今年的采购季可以逛些啥? 采购季正式期时间: 3月2日-3月31日 在这段时间里,想买啥就买吧,别忘了把想买的产品加入购物车噢,特惠产品叠加购物车满减,更划算噢! ...
- 网易:Flink + Iceberg 数据湖探索与实践
导读:今天主要和大家交流的是网易在数据湖 Iceberg 的一些思考与实践.从网易在数据仓库建设中遇到的痛点出发,介绍对数据湖 Iceberg 的探索以及实践之路. 主要内容包括: 数据仓库平台建设的 ...
- 小米电商 Apache Dubbo-go 微服务实践
简介:2021 年是小米中国区电商部门变动调整较大的一年,小米中国区早期电商.服务体系建立在 Go 语言构建的微服务体系之上,由内部自研的 Go 语言微服务框架 koala 支撑起数以千计的微服务应 ...
- [PHP] 浅谈 Laravel auth:api 不同驱动 token 和 passport 的区别
token 驱动使用 TokenGuard 用传递的值去用户表中查询 member_token 字段的值,看是否有匹配的. 服务端需要在用户表 member_token 字段中存储 access_to ...
- 修复 GitLab 的 CI Runner 提示找不到 pwsh 执行文件
本文告诉大家如何修复使用 GitLab 的 Runner 做 CI 时提示 "pwsh": executable file not found in %PATH% 错误 有两个方法 ...
- ThreadLocal 的原理讲述 + 基于ThreadLocal实现MVC中的M层的事务控制
ThreadLocal 的原理讲述 + 基于ThreadLocal实现MVC中的M层的事务控制 目录 ThreadLocal 的原理讲述 + 基于ThreadLocal实现MVC中的M层的事务控制 每 ...