HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

当国产夜莺遇上国际化 Prometheus

朱春来

  • 2020-06-30
  • 本文字数:1103 字

    阅读完需:约 4 分钟

当国产夜莺遇上国际化 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-06-30 10:273393

评论

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

清华元宇宙深度报告!理论框架产业真相一文看懂

CECBC

EF Core如何处理多对多关系

喵叔

11月日更

分析23个赛季NBA数据,我发现10条难以置信的信息!

Jackpop

GitHub霸榜月余的24万字Java面试手册,竟是阿里机密

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

Java 项目中使用 Resilience4j 框架实现客户端 API 调用的限速/节流机制

码语者

Java 限速 节流 Resilience4j RateLimit

华为,告别大陆军时代

脑极体

Prometheus Exporter (八)kube-state-metrics

耳东@Erdong

Kubernetes Prometheus exporter 11月日更 kube-state-metrics

模块四作业:设计千万级学生系统的试卷存储方案

Geek_99eefd

模块四 「架构实战营」

23 K8S之Secret资源配置

穿过生命散发芬芳

k8s 11月日更

2021RSAC -- 网络韧性

Tom(⊙o⊙)

Windows 11再出杀手锏....

Jackpop

【高并发】由InterruptedException异常引发的思考

冰河

Java 并发编程 多线程 高并发 异步编程

被Chrome坑惨了!

Jackpop

分布式系统的架构演进过程(一)

卢卡多多

分布式, 11月日更

CWE 4.6 和 OWASP TOP10(2021)

Tom(⊙o⊙)

Golang Gin 框架之分组路由(五)

liuzhen007

11月日更

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起探索一下DefaultMQPullConsumer的实现原理及源码分析

洛神灬殇

阿里巴巴 RocketMQ 消息队列 11月日更 Apache RocketMQ

Spring中的Controller和Service是线程安全的吗?我有点懵

热爱java的分享家

Java spring 程序人生 编程语言 经验分享

华为顶级安全专家分享出来这份‘典藏版’Linux开发实战笔记

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

一个对标VSCode的IDE---Fleet

IT蜗壳-Tango

11月日更

这次不怕撕坏了,区块链电子公告来了

CECBC

什么是元宇宙?为何要关注它?

CECBC

贪心:柠檬水找零、跳跃游戏🍋

空城机

JavaScript 贪心算法 11月日更

一次搞懂SpringBoot核心原理:自动配置、事件驱动、Condition

热爱java的分享家

Java 程序人生 Spring Boot 编程语言 经验分享

Spring Bean生命周期你除了会背八股文面试,真的会用了吗?

热爱java的分享家

Java spring 程序人生 编程语言 经验分享

App 端自动化的最佳方案,完全解放双手!

星安果

Python 自动化 爬虫

linux之strings命令

入门小站

Linux

【死磕Java并发】-----J.U.C之AQS:同步状态的获取与释放

chenssy

11月日更 死磕 Java 死磕 Java 并发

2018年世界杯德国竟然输给韩国?终于找到原因了!

Jackpop

在线文本行固定长度填充工具

入门小站

工具

[Pulsar] 消息生命历程(三)——客户端发送消息

Zike Yang

Apache Pulsar 11月日更

当国产夜莺遇上国际化 Prometheus_开源_R. Colin Johnson_InfoQ精选文章