QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

当国产夜莺遇上国际化 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:273444

评论

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

延伸测试边界,银行测试团队转型建议

BY林子

软件测试 敏捷测试 测试转型

一站式管理多平台小程序的办法

Onegun

微信小程序 小程序管理平台 小程序管理

2023年一线大厂 Java 面试八股文大全(整理版)附答案详解!

采菊东篱下

Java 程序员 面试

MySQL中这14个小玩意,让人眼前一亮!

Java你猿哥

Java MySQL 后端 ssm Java工程师

【活动报名】 拥抱公平《 Impact Tech, She Can 》

亚马逊云科技 (Amazon Web Services)

人工智能

聊聊池化层和步长为2的卷积层

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜 卷积层

如何防止AD域环境遭受恶意攻击?

嘉为蓝鲸

AD #运维

矩阵佛萨奇(MetaForce)合约开发源码搭建

薇電13242772558

web3

gRPC快速整合SpringCloud

Java你猿哥

Java gRPC Spring Cloud 后端 ssm

JAVA实战:如何让单元测试覆盖率达到80%甚至以上

Java你猿哥

Java ssm 单元测试 Java工程师 java实战

优秀!阿里甩出GC面试小册,仅7天Github获赞96.9K

Java你猿哥

Java ssm 面经 GC Java工程师

蛇形走线用在哪里,一文告诉你

华秋PCB

信号 PCB PCB设计 布线 滤波

大数据计算引擎 EasyMR:拥抱开源,引领技术创新

袋鼠云数栈

大数据 大数据基础平台

BugBuilder: 高质量大规模缺陷库自动构建方法

华为云开发者联盟

开发 华为云 补丁 华为云开发者联盟 企业号 3 月 PK 榜

2023年金三银四大厂高频Java面试题(附答案)整理总结

架构师之道

程序员 java面试

HummerRisk 使用教程:资源态势

HummerCloud

Docker等容器技术应用到移动开发的探索

Onegun

容器 docker build 小程序容器

低代码开发平台如何推动企业数字化转型

力软低代码开发平台

赋能数字经济新动能 焱融科技获评「人工智能高质量发展-行业责任担当」企业

焱融科技

人工智能 文件存储 容器存储 分布式文件存储 全闪存储

直击面试!阿里技术官手码12W字面试小册在Github上爆火

Java你猿哥

Java 后端 面经 简历 Java工程师

ITSM | 如何通过设计提升工单处理效率

嘉为蓝鲸

IT ITSM 流程管理

记一次 rr 和硬件断点解决内存踩踏问题

NebulaGraph

数据库 debug

4种API性能恶化根因分析

华为云开发者联盟

开发 API 华为云 华为云开发者联盟 企业号 3 月 PK 榜

我眼中的优秀PM

BY林子

团队管理 项目管理

论文分享丨Holistic Evaluation of Language Models

华为云开发者联盟

人工智能 华为云 论文 华为云开发者联盟 企业号 3 月 PK 榜

HummerRisk 使用教程:k8s检测

HummerCloud

开发和测试融合,到底该怎么做?

BY林子

敏捷开发 敏捷测试

ChatGPT能否取代程序员?仍然是一个需要认真探讨的问题,对此你怎么看?

兴科Sinco

OpenAPI openai #人工智能 ChatGPT

手把手教你如何使用MyBatisPlus

Java你猿哥

mybatis 实战 Mybatis-Plus

开门见山|首期《崖山论“见”》技术 Meetup启程

YashanDB

模型训练过程中,混合精度训练稳定性解决方案

Openlab_cosmoplat

模型训练 开源社区

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