
感谢作者方傅皓敏、傅皓樑供稿!欢迎投稿分享你的使用经验。
-
Zabbix5.0、6.0中文手册译者
-
就职于某知名金融公司,从事于运维架构领域相关工作,负责公司AIOPS架构方面工作。
-
对于开源监控、数据库、分部署存储等方面有丰富的实践经验。
【背景】由于公司业务平台的网络环境苛刻,以Zabbix server为核心开发设计一套适应性强的监控运维境更强的方案,不仅能满足当下的需求还能方便后续扩展。写这篇文档的初衷希望遇到类似环境的同学有一个参考,在碰到严格、复杂的网络环境,数量庞大机器管理,如何能够利用 Zabbix 的特性做到深度监控。
需要面对的挑战
-
端口受限,我们的网络环境非常苛刻,节点系统对外只开放访问 22、80(部分),服务端有 80、443 端口。
-
带宽受限,服务端、节点系统分布在不同区域,连接靠一根多个系统公用千 M 光纤,在保证监控完整的同时不能影响业务。
-
数量庞大,目前近万台节点,还在不断在增加,监控项 30W+。
-
如何统一管理,如何批量部署客户端、更新监控项配置。
-
监控数据如何写入 Zabbix,zabbix server 是否扛得住。
-
什么数据库才能抗住这么大数据量,后面如何扩展。
终版配置环境
-
Zabbix5.4 server*1。
-
TiDB 分布式数据库,TiDB 采用 TiDB3、tikv3、pd*3。
-
RabbitMQ*1。
-
Jenkins server1, Jenkins node3。
脚本和客户端采用 python 和 go 编写。
终版监控架构图

架构说明
- 监控模块,数据从右往左,agent->server->rabbitmq->脚本处理->ZabbixServer(ZabbixApi)->Zabbix 数据库(Tidb)。
- Agent 部署模块,从 server 提取当前 agent 注册清单->并入 agent 总清单->对比 agent 和总清单的差异,对于那些没有安装 agent 主机通过 ssh 协议远程连接上进行执行署脚本。

最低0.47元/天 解锁文章
2276

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



