时序数据库Prometheus和Grafana搭配做监控

Prometheus(普罗米修斯)是个时序数据库,可以搭配grafana做展示。今天在读书的时候,顺便发现其中的一些内容,笔记之:

Prometheus是一套开源的监控、报警、时间序列数据库的组合,最初由SoundCloud公司开发。Prometheus 在2016加入 CNCF(Cloud Native Computing Foundation),成为继Kubernetes之后的第二个由基金会主持的项目。目前社区非常活跃,有高达1.4万个Star。Prome theus非常适合监控Kubernetes。

   与一般的监控系统相比,Prometheus具有如下特点。
时序数据库存储监控数据能够存储更大量的数据,不依赖于其他存储系统,安装非常简单。
灵活的查询语言(PromQl)。
通过基于HTTP的pull方式采集时序数据,可以通过Pushgateway进行时序列数据推送。
多种可视化和仪表盘支持。
Prometheus的架构,如图3-16所示。
Prometheus Server主要由三部分组成。
Retrieval:负责定时去指定的API上抓取采样指标数据。
Storage:负责将采样数据高效安全地持久化存储到磁盘中。
PromQL:负责提供查询。
Prometheus Server端会存储所有的数据,并对这些数据进行分析,基于规则进行报警。Prometheus 利用自身的时序数据库,有着非常高效的存储。据官方介绍,每个采样数据只占3.5byte左右,上百万条时间序列,30s间隔,保留60天,大概只占用200GB。Prometheus支持通过配置文件、文本文件、ZooKeeper、Consul、DNS SRV lookup等方式指定抓取目标。Prometheus 是通过主动获取的方式采集数据,但是客户端有两种方式输送数据,一种方式是业务服务提供HTTP接口,Prometheus定时从业务服务中获取数据;另外一种方式是业务服务推送数据到Pushgateway,Prometheus定时从Pushgateway中获取数据。

Alertmanager是独立于Prometheus之外的一个组件,提供十分灵活的报警方式。另外,可以通过Web UI、Grafana、API clients等可视化界面查询数据。
Prometheus支持如下四种数据类型。
Counter:单调递增数据,只能增加,不能减少。例如记录请求次数、错误数。
Guage:当前的状态,常规值,可增可减。例如内存、CPU的使用情况。
Histogram:主要用于在指定分布范围内(Buckets)记录大小或者事件发生的次数。
Summary:客户端定义的数据分布统计图。
 

Grafana

Grafana使你能够把来自不同数据源比如Elasticsearch, Prometheus, Graphite, influxDB等多样的数据以绚丽的图标展示出来。

它也能基于你的metrics数据发出告警。当一个告警状态改变时,它能通知你通过email,slack或者其他途径。

值得注意的是,Prometheus仪表盘也有简单的图标。但是Grafana的图表表现的更好。这也是为什么,在这篇文章中,我们将整合Grafana和Pormetheus来可视化metrics数据。

一些不错的资源教程:
https://blog.csdn.net/luanpeng825485697/article/details/84028184
https://blog.csdn.net/wuxiaobingandbob/article/details/78954406
https://bigjar.github.io/2018/08/19/Spring-Boot-Metrics%E7%9B%91%E6%8E%A7%E4%B9%8BPrometheus-Grafana/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值