前情概述:
在《监控系统企业架构演进史-跨地域混合云》中,监控系统已经逐步成熟且企业化发展。 这一章节简单讲述一下期间的拨测能力搭建,以下是这套系统的发展史,在监控平台搭建的过程中,内部监控采集还不足以满足企业业务需求,在计划发展apm之前,异地拨测的黑匣子监控也纳入了该系统的一个子功能。
拨测监控架构的实现
系统搭建⾯临需解决的问题:
- ⻓期以来企业在公⽹监控,乃⾄⽤⼾侧最后⼀公⾥的监控都存在空洞,导致⽤⼾侧的业务故障问题 企业都没有及时发现,需要⽤⼾报障我们才后知后觉的排查问题。⿊匣⼦拨测监控系统项⽬的上线 就是解决了这⻓期以来的监控痛点。
- ⿊盒监控 即以⽤⼾的⾝份测试服务的外部可⻅性,常⻅的 ⿊盒监控 包括 HTTP探针 、 TCP探针 等⽤于检测 站点或者服务的可访问性 ,以及 访问效率 等。⽽探针的设计需要⽀持对业务的交互 才能更有效的发现问题。所以在探针⼯具选型中选择了 Prometheus + blackbox_exporter 来实现需求。
- 拨测点需要在全国各地布点,在管理上难度较⼤,特别在兼顾拨测任务分发、拨测监控数据回收统 ⼀展⽰、告警聚合收敛的同时,还要考虑安全和应对审计等问题。架构的设计上需要严格控制 PULL和PUSH的数据流,还要和现有的采集监控系统独⽴出来。所以引⼊了Mosn做⽹格管理来降 低管理成本。
- 该系统的数据展⽰上默认只能⽤时序图和表格来展⽰现状,⼀个很直⽩的地域图更能说明问题。为 了做地域图的展⽰,还引进了 geohash + OpenStreetMap 来解决。
需求与功能
第一期的建设只是基本要求,但是需满足以下条件以达成业务基本需求:
- ⽀持对公司前端服务的证书链,DNS耗时,TLS耗时,⾸次建⽴建⽴耗时,加载完成耗时等监控
- ⽀持ICMP拨测,可对⽣产业务系统的跨域内外⽹的⽹络质量监控,特别是跨域专线质量的监 控。
- ⽀持DNS,TLS tcp,SMTP协议等交互监控。均⽀持在CDN服务场景,Proxy服务基础场景,邮 箱系统的使⽤场景。
同时,因为项目的0-1阶段基本都很难得到企业的深度投入,在第一期的建设也只能依赖开源项目搭建,后续逐步投入组件二开的研发资源以实现能力扩展。
架构简要
首先,定义每个拨测点为边缘孤岛,这里的边缘孤岛是因为它部署的地理位置远离企业系统的机房,分别在世界各地购买一些最便宜的虚拟机资源来部署服务,且代表当地发起拨测的请求。
利⽤了 geohash
+ OpenStreetMap
在告警和图展⽰中凸显了地域质量数据。
每个孤岛拨测节点需要具备基础⾃治能⼒,包括 ⾃⾝状态监控 , 拨测任务的发起 , ⾃⾝告警策。以下是拨测节点的内部结构,该结构在cpu为0.5core,内存为512M就足够运行,后期还可以通过二开组件的方式进一步整合资源的利用。