写点什么

当国产夜莺遇上国际化 Prometheus

朱春来

2020 年 6 月 30 日

当国产夜莺遇上国际化 Prometheus

滴滴开源的企业级监控系统(夜莺)衍生自 OpenFalcon,对其进行了大量深入的优化,特别是监控报警方面融合了大量滴滴生产级的实践,社区可以直接分享此红利。美菜网看到了夜莺的很多优势后,果断将原先基于 OpenFalcon 架构的监控系统整体迁移到夜莺架构上来,并在迁移的过程中将之前的一些实践融合进来,Prometheus-Exporter-Collector 正是此过程中的一个产物。



注:本文中所提到的各类资源请在附录中索骥查看


1、为什么引入 Prometheus-Exporter-Collector 采集插件?

美菜网在监控平台建设的过程中,涵盖了基础设施、存储、中间件和应用服务多层次的监控。基础设施部分,直接采用了 OpenFalcon 生态的采集插件;存储和中间件层面,我们发现 Prometheus 更加丰富与完善,因此希望将 Prometheus 与 OpenFalcon 整合起来发挥各自的优势。迁移夜莺的过程中,我们希望继续发挥这种优势,夜莺优秀的插件扩展机制让一切变得简单,于是诞生了 Prometheus-Exporter-Collector。


Prometheus-Exporter-Collector 可以支持各类 Exporter,夜莺轻松拥有 Prometheus 生态的采集能力,目前在美菜已经投产了 MySQL、Redis、ElasticSearch、Ceph、Hadoop 体系、Nginx 等,更多的 Exporter 插件请查看官方文档。


2、如何与夜莺整合?

Exporter 定位指标采集,在 Prometheus 体系中采用的拉模式获取指标,而夜莺则采用的是推模式,因此两者之间需要一个桥梁来衔接,Prometheus-Exporter-Collector 承担此角色。在夜莺的体系中它作为插件存在,由 collector 驱动其运行,周期性地从 Exporter 中读取指标,并转换成夜莺的数据模型后推送到夜莺的服务端,采集信息在夜莺的管理控制台(WEB 端)简单配置并下发给 collector 即可。


在 Exporter 和夜莺的数据模型转换过程中,遵循了如下规则:


  • 指标名称(metric)、标签(tags/labels)和值(Value)直接转化;

  • 时间戳(timestamp)默认 Exporter 指定,没有则 Prometheus-Exporter-Collector 使用当前时间填充;

  • 支持用户追加新的标签;

  • Endpoint(夜莺特有概念)默认本机,由夜莺的 collector 填充,当然用户也可以在配置侧自定义;

  • 指标类型,Prometheus 采取的策略是使用者采用函数自由转换,我们希望引入一些最佳实践简化使用,对于计数器类型,我们支持用户配置策略将其转换成差值(Substract)和速率(Rate)、Uptype 类型默认转换成 Guage;


3、使用指南

在夜莺采集配置中配置 Prometheus-Exporter-Collector 采集插件(及其参数)即可,如下图所示:



附:ES 监控大盘



4、附录

Prometheus-Exporter-Collector


Prometheus exporter集合


[视频] Nightingale-系列10-新版插件以及与Prometheus Exporter整合(By 秦晓辉)


夜莺(Nightingale)github 主页


2020 年 6 月 30 日 10:271996

评论

发布
暂无评论
发现更多内容

架构师训练营第八周

我是谁

极客大学架构师训练营

《精通Tomcat:Java Web应用开发、框架分析与案例实战》.pdf

田维常

tomcat

企业级软件的核心价值

Philips

敏捷开发 企业应用

云图说|多模态AI开发套件HiLens Kit:超强算力彰显云上实力

华为云开发者社区

人工智能 开发者 物联网 机器人 华为云

区块链有了几个新“标准”!

CECBC区块链专委会

区块链 版权保护

握草!美团P8整理的280页超详细Docker实战文档简直太香了,让你对如日中天的Docker有更深入的了解。

Java架构之路

Java 程序员 架构 面试 编程语言

阿里大牛说:你凭什么搞不懂SpringBoot,Cloud,Nginx与Docker

小Q

Java 学习 编程 架构 面试

文科妹子都会用 GitHub,你这个工科生还等什么

沉默王二

GitHub

接口文档生成详细教程

测试人生路

接口文档

2 w字长文带你深入理解线程池

Java架构师迁哥

双11购物节国外剁手党同狂欢 阿里云视频云电商直播实时字幕

阿里云视频云

云直播 直播 直播带货 语音识别

JVM真香系列:方法区、堆、栈之间到底有什么关系

田维常

Java JVM 堆栈 方法区 Java虚拟机

高交会科技盛宴:“科技改变生活,创新驱动发展”

WX13823153201

高交会

轻松云上揽胜中华,靠的就是这份聪明的“地图”!

华为云开发者社区

MySQL 数据库 postgresql AI 地图

祝贺 StreamNative 团队成员 Jennifer 当选 Apache Pulsar PMC 成员

Apache Pulsar

大数据 开源 Apache Pulsar

数据结构与算法系列之递归(GO)

书旅

go 数据结构与算法

一位Java大牛结合自己的业务和平台多年来在Netty实践中积累的经验总结《Netty进阶之路:跟着案例学Netty》。

Java成神之路

Java 程序员 架构 面试 编程语言

Dubbo-go Client端调用服务过程

apache/dubbo-go

dubbo dubbo-go dubbogo

数字投票时代即将到来

CECBC区块链专委会

数字投票

【Swift实现代码】iOS架构模式之MVP

码爷

ios swift 架构

LeetCode题解:剑指 Offer 22. 链表中倒数第k个节点,双指针,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

IMC总决赛精彩对战应接不暇,英特尔酷睿极致性能燃爆比赛现场!

新闻科技资讯

Pulsar Summit Asia 2020 | 主题演讲:大咖呈现,紧扣社区

Apache Pulsar

大数据 开源

Flutter Bloc模式

码爷

flutter ios 程序员

HTTPDNS开源 Android SDK,赋能更多开发者参与共建

应用研发平台EMAS

android 阿里云 开源 httpdns 移动研发平台

加快脑动脉瘤检测,AI来了

华为云开发者社区

人工智能 学习 算法 华为云 医疗AI

美国区块链政策大盘点

CECBC区块链专委会

区块链 政策 货币

AliP9整理出微服务笔记:Spring微服务不止架构和设计

周老师

Java 编程 程序员 架构 面试

java-File对象

Isuodut

亲测三遍!8步搭建一个属于自己的网站

华为云开发者社区

MySQL Linux 开发者 网站 华为云

手把手教你本地 k8s 集群搭建云原生 Tekton CICD 流水线

比伯

Java 大数据 编程 架构 计算机

当国产夜莺遇上国际化 Prometheus-InfoQ