Prometheus + Grafana 接入实践

本文介绍了Prometheus系统监控的原理和架构,包括数据模型、job配置以及PromQL查询工具。接着讨论了Grafana的可视化功能,如何配置数据源并创建dashboard。然后阐述了应用监控接入的方法,包括exporter的使用和集成prometheus客户端。最后提到了告警系统Alertmanager的工作流程,如告警分组、抑制和静默设置。
摘要由CSDN通过智能技术生成

Prometheus 系统监控

Prometheus 是一套开源的系统监控告警框架,作为 CNCF 中重要的一员,活跃度仅次于 kubernetes,广泛用于 kubernetes 集群的监控系统中。

prometheus 架构如下:

prometheus-architecture

Prometheus server 会定期从配置的 target 或者 pushGateway (收集短生存期的jobs) 通过 http 主动拉取 metrics 存储到本地,并根据定义的规则保存到时间序列中,并向 alertmaanger 推送告警。

PromQL 是内置的查询工具,通过 API 或者其他可视化工具,如 Grafana, 查询存储在时序数据库中的样本,进行分析展示。

采集对象可以通过服务发现或者直接静态配置 job 指定。有些 jobs 存活的时间很多,无法等 prometheus 定期去拉取数据,通过将数据主动推给 pushGateway 保存,prometheus 在到 pushGateway 拉取。’

Prometheus 按照设定的规则向 Alertmanager 发送告警, Alertmanager 负责告警去重,分组,并送至正确的接受者(email,posGenie 等) 或者屏蔽。

数据模型

Prometheus 以 metric(指标)的形式保存所有采集的监控数据到内置的时序数据库中,同一 metric、label 的数据和时间戳形成时序数据流 : <metric name>{<label name>=<label value>, ...}
metric_name 和 label 符合 :[a-zA-Z_:][a-zA-Z0-9_:]*

收集指标 metric 的类型一般分为:

  • counter: 累加,比如总请求数,错误数等,随时间持续增加的样本;
  • gauge: 测量值,反映实时的一个状态,如温湿度值,cpu使用率,其数值可上下波动;
  • histogram: 直方图,如请求时间统计,对数据进行分区间统计,默认分布区间 buckets 为 {0.005,0.01,0.025,0.05,0.075,0.1,0.25,0.5,0.75,1,2.5,5,7.5,10},可以自定定义覆盖。每一个区间就像一个个 bucket(桶),histogram 将收到的样本计入配置的桶内,供后续分析。
# 包含 mertic:
metric_name_bucket{
   le="上边界"} # 小于等于的样本数
metric_name_bucket{
   le="+Inf"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值