github地址:https://github.com/jurycu/probix
概述
在云原生时代,业务的监控和传统主机时代变得完全不同,在传统主机时代,监控数据的push模型变得非常主流,每台主机安装一个agent,上报数据到server端几乎是每一个监控系统的首选,这也造就了zabbix在传统监控不可撼动的地位。但到了云原生时代,所有的服务都变成了容器化,没有了机器的概念,业务节点也不再是一成不变的,kubenetes的可编排调度体系使得像zabbix这种传统的push模型已经不太适用,这个时候,基于pull模型的云原生监控利器-prometheus因运而生,极高的性能,优秀的设计,使得prometheus成为云原生时代首选的监控方案。
prometheus提供了一套指标模型,业务方按照prometheus的规范吐出相应的metrics指标,即可很方便的接入prometheus系统,但是prometheus也有一个缺点,prometheus更多的是关注业务的运行状态,比如我容器现在使用了多少内存,cpu怎么样等等,这些都是一些白盒监控,用户如果想直接关注现象,基于prometheus的指标模型显得就支持不够,虽然prometheus官方针对此种场景推出了官方的黑盒探测实现-blackbox exporter,但是只是针对http,tcp等的基础探测,如果我有一些定制化的需求,比如我想全链路探测我的服务目前是不是正常的,我想自定义一些metrics的labels等等,这些在blackbox