上帝之火
本系列讲述的是开源实时监控告警解决方案Prometheus
,这个单词很牛逼。每次我都能联想到带来上帝之火的希腊之神,普罗米修斯。而这个开源的logo也是火,个人挺喜欢这个logo的设计。
本系列着重介绍Prometheus
以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台。
本系列受众对象为初次接触Prometheus
的用户,大神勿喷,偏重于操作和实战,但是重要的概念也会精炼出提及下。系列主要分为以下几块
Prometheus
各个概念介绍和搭建,如何抓取数据(本次分享内容)- 如何推送数据至
Prometheus
,推送和拉取分别用于什么样的场景 Prometheus
数据的结构以及查询语言PromQL
的使用- Java应用如何和
Prometheus
集成,如何启用服务发现,如果自定义业务指标 Prometheus
如何和Grafana
可视化套件进行集成和设置告警- 教你如何手写一个集成了监控Dubbo各个指标的java套件
- 实际案例分享,如何做各个业务端和系统端的监控大盘
Prometheus以及时序数据库的基本概念
Prometheus
现在在Github
有3w多的star,基本上过万星的开源工具,可以认为是社区里绝对的主流,社区也相当活跃,可以有大量的经验可以借鉴。在企业级系统中,可以放心的使用。
Prometheus
是由 SoundCloud
开发的开源监控报警系统和时序列数据库。从字面上理解,Prometheus
由两个部分组成,一个是监控报警系统,另一个是自带的时序数据库(TSDB)。
关于时序数据库(TSDB)这里要说下,我们可以简单的理解为一个优化后用来处理时间序列数据的数据库,并且数据中的数组是由时间进行索引的。相比于传统的结构化数据库主要有几个好处:
- 时间序列数据专注于海量数据的快速摄取。时序数据库视数据的每一次变化为一条新的数据,从而可以去衡量变化:分析过去的变化,