写点什么

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

评论

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

【学习总结】模块1:为何架构设计能力难以提升?

小李

架构实战营

架構實戰營 - 模塊 1 作業

Frank Yang

Visual Studio Code 插件之 - Git History

HoneyMoose

「编程模型」C++组合逻辑

顿晓

C++11 4月日更 std::function

架构实战营模块1 课后作业

Neil43

架构实战营

刚火了的中台转头就拆,一大波公司放不下又拿不起来!

小傅哥

Java 架构 中台 小傅哥 海盗奇兵

CentOS共享windows文件夹

风翱

centos windows 磁盘挂载 4月日更

DataSphere Studio 0.9.1 版本发布

WeDataSphere

大数据 微众银行 WeDataSphere DataSphere Studio 数据应用开发平台

架构实战营作业--业务架构图

Simon

架构实战营

架构实战营模块 1 作业

Lukefang

架构实战营

一个计算机专业上岸的学长心得体会

🌍

4月日更 专升本

模块一作业

Focused

ES6面向对象 动态添加标签页

Chalk

JavaScript 大前端 ES6 4月日更

Wireshark 数据包分析学习笔记 Day27

穿过生命散发芬芳

Wireshark 数据包分析 4月日更

微信业务架构图&学生管理系统

刘敏

遭GitHub连夜封杀下架?被泄露的阿里内部Java面试手册到底有多强?

Java架构师迁哥

如何在 Mac 下用 Clion 调试 MySQL 源码

AI乔治

Java MySQL 架构 调优

架构实战营模块 1 作业

夏日

架构实战营

架构训练营作业第一期

预测师

再聊 TCP backlog

AI乔治

Java 架构 TCP TCP/IP

微信业务架构和学生管理系统

thewangzl

学生管理系统

focus

模块一:作业

去北方

架构实战营

由 JVM Attach API 看跨进程通信中的信号和 Unix 域套接字

AI乔治

Java 架构 jdk JVM

通过调试 Nginx 源码来定位有趣 Nginx 转发合并斜杠和编码问题

AI乔治

Java nginx 架构

看我如何在面试官前吹牛P

yes

面试

【译】如何编写Go代码(使用GOPATH)

xcbeyond

Go 语言 4月日更 GOPATH

架构实战营0期作业1

sjj

架构实战营作业--学生管理系统

Simon

架构实战营

阿里内部资料:并发编程知识点总结

Java架构师迁哥

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