1. Prometheus
官网地址:https://prometheus.io/docs/prometheus/latest/getting_started
1.1 介绍
- 灵活的时间序列数据库;
- 定制各式各样的监控规则;
- Prometheus的开发人员和用户社区非常活跃;
- 独立的开源项目,不依赖于任何公司;
- 继Kurberntes之后第二个入驻的项目;
1.2 prometheus架构
来自于官方
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.
后面可以根据官方这些数据,配置自己的存储设置