Skip to content

1. Prometheus

官网地址:https://prometheus.io/docs/prometheus/latest/getting_started

1.1 介绍

  • 灵活的时间序列数据库;
  • 定制各式各样的监控规则;
  • Prometheus的开发人员和用户社区非常活跃;
  • 独立的开源项目,不依赖于任何公司;
  • 继Kurberntes之后第二个入驻的项目;

1.2 prometheus架构

来自于官方

img

Prometheus的工作原理主要分为五个步骤:

1.数据采集(Exporters):Prometheus 定期通过HTTP请求从目标资源中拉取数据。目标资源可以是应用程序、系统、服务或其他资源。

2.数据存储(Storage):Prometeus 将采集到的数据存储在本地存储引擎中。存储1667引擎以时间序列方式存储数据,其中每个时间序列都由指标名称和一组键值对组成。

3.数据聚合(PromQL)v:Prometheus通过查询表达式聚合数据。PromQL是Prometheus的查询语言,它允许用户通过查询表达式从存储引擎中检索指标的特定信息。

4.告警处理(Alertmanager):Prometheus可以根据用户指定的规则对数据进行警报。当指标的值超出特定阈值时,Prometheus 向 Alertmanager 发送警报。Alertmanager可以帮助用户对警报进行分组、消除和路由,并将警报发送到相应的接收器,例如邮件、企微、钉钉等。

5.数据大盘(Grafana):帮助用户通过可视化方式展示Prometheus的数据,包括仪表盘、图表、日志和警报等。

1.3 prometheus时间序列数据

1.3.1 什么是序列数据

时间序列数据(TimeSeries Data):按照时间顺序记录系统、设备状态变化的数据被称为时序数据。

1.3.2 时间序列数据特点

性能好:关系型数据库对于大规模数据的处理性能糟糕。NOSQL 可以比较好的处理大规模数据,依然比不上时间序列数据库.

存储成本低:高效的压缩算法,节省存储空间,有效降低 IO

💡 说明

官方数据:Prometheus 有着非常高效的时间序列数据存储方法,每个采样数据仅仅占 用 3.5byte 左右空间,上百万条时间序列,30 秒间隔,保留 60 天,大概200多G.

后面可以根据官方这些数据,配置自己的存储设置