首页 > Monitor > Prometheus 初识
2019
02-11

Prometheus 初识

知道这玩意很久了,但是吧,因为架构问题,就一直没有研究。
现在的整体大方向逐步的都开始微服务化了,所以也开始研究prometheus这个鬼了,在这简单都描述一下,分享给大家,也让大家免去一些弯路。
虽然类似都文章挺多的,但是废话太多,简单的提取一下吧。

prometheus 这个货就是个数据库,时序数据库(tsdb)。
说白了,按着时间戳,把采集来的数据,按着指定的格式存到本地或者远程的磁盘上。

prometheus 自己有一套查询命令(promQL)可以进行很多的运算。

prometheus 的组件很多,但是prometheus自己,主要只是拿来存数据和promQL,剩下的东西,说白了全都是别的。并不是说prometheus本身就有所有的功能了。

prometheus 组件(复制粘贴来的):
Prometheus Server: 用于收集和存储时间序列数据。
Client Library: 客户端库,为需要监控的服务生成相应的 metrics 并暴露给 Prometheus server。当 Prometheus server 来 pull 时,直接返回实时状态的 metrics。
Push Gateway: 主要用于短期的 jobs。由于这类 jobs 存在时间较短,可能在 Prometheus 来 pull 之前就消失了。为此,这次 jobs 可以直接向 Prometheus server 端推送它们的 metrics。这种方式主要用于服务层面的 metrics,对于机器层面的 metrices,需要使用 node exporter。
Exporters: 用于暴露已有的第三方服务的 metrics 给 Prometheus。
Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去除重复数据,分组,并路由到对收的接受方式,发出报警。常见的接收方式有:电子邮件,pagerduty,OpsGenie, webhook 等。
一些其他的工具。

根据配置文件,去远端读取metrics数据并存到存储上。之后通过各种组件来使用这些数据,这个就是prometheus了。

实际使用中,发现大部分文章都是抄抄抄,思路都描述很少,稍后会逐步把文档整理放出来,着重的把我的思路写出来,而不是贴一堆图和文字。
希望通过我的文章真的能帮助到你吧。 :)

现在,关于中文都描述还是很多的,别人都有的,我就不写了。
先把一堆链接发出来把。
参考资料:
https://www.ibm.com/developerworks/cn/cloud/library/cl-lo-prometheus-getting-started-and-practice/
https://yunlzheng.gitbook.io/prometheus-book/parti-prometheus-ji-chu/quickstart
https://www.hi-linux.com/posts/25047.html
http://ylzheng.com/2018/03/06/promethus-local-storage/
https://www.cnblogs.com/momoyan/p/9943154.html

最后编辑:
作者:王, 帅
这个作者貌似有点懒,什么都没有留下。

留下一个回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据