滴滴开源的企业级监控系统(夜莺)衍生自OpenFalcon,对其进行了大量深入的优化,特别是监控报警方面融合了大量滴滴生产级的实践,社区可以直接分享此红利。美菜网看到了夜莺的很多优势后,果断将原先基于OpenFalcon架构的监控系统整体迁移到夜莺架构上来,并在迁移的过程中将之前的一些实践融合进来,Prometheus-Exporter-Collector正是此过程中的一个产物。
注:本文中所提到的各类资源请在附录中索骥查看
美菜网在监控平台建设的过程中,涵盖了基础设施、存储、中间件和应用服务多层次的监控。基础设施部分,直接采用了OpenFalcon生态的采集插件;存储和中间件层面,我们发现Prometheus更加丰富与完善,因此希望将Prometheus与OpenFalcon整合起来发挥各自的优势。迁移夜莺的过程中,我们希望继续发挥这种优势,夜莺优秀的插件扩展机制让一切变得简单,于是诞生了Prometheus-Exporter-Collector。
Prometheus-Exporter-Collector可以支持各类Exporter,夜莺轻松拥有Prometheus生态的采集能力,目前在美菜已经投产了MySQL、Redis、ElasticSearch、Ceph、Hadoop体系、Nginx等,更多的Exporter插件请查看官方文档。
Exporter定位指标采集,在Prometheus体系中采用的拉模式获取指标,而夜莺则采用的是推模式,因此两者之间需要一个桥梁来衔接,Prometheus-Exporter-Collector承担此角色。在夜莺的体系中它作为插件存在,由collector驱动其运行,周期性地从Exporter中读取指标,并转换成夜莺的数据模型后推送到夜莺的服务端,采集信息在夜莺的管理控制台(WEB端)简单配置并下发给collector即可。
在Exporter和夜莺的数据模型转换过程中,遵循了如下规则:
在夜莺采集配置中配置Prometheus-Exporter-Collector采集插件(及其参数)即可,如下图所示:
附:ES监控大盘
Prometheus-Exporter-Collector Prometheus exporter集合 [视频] Nightingale-系列10-新版插件以及与Prometheus Exporter整合(By 秦晓辉) 夜莺(Nightingale)github 主页
领取专属 10元无门槛券
私享最新 技术干货