写点什么

04 Prometheus 之配置步骤及容量规划

  • 2022 年 1 月 04 日
  • 本文字数:819 字

    阅读完需:约 3 分钟

04 Prometheus之配置步骤及容量规划

Prometheus 通过 YAML 文件来配置。当运行 prometheus 二进制文件(或 Windows 上的 prometheus.exe 可执行文件)时,我们会指定一个配置文件。Prometheus 自带默认的配置文件 prometheus.yml


配置的第一部分是 global,它包含了控制 Prometheus 服务器行为的全局配置。第一个参数 scrape_interval 用来指定应用程序或服务抓取数据的时间间隔。这个值是时间序列的颗粒度,即该序列中每个数据点所覆盖的时间段。


配置的第二部分是 alerting,它用来设置 Prometheus 的警报。警报是由名为 Alertmanager[插图]的独立工具进行管理的。Alertmanager 是一个可以集群化的独立警报管理工具。


配置的第三部分是 rule_files,它用来指定包含记录规则或警报规则的文件列表。


配置的最后一部分是 scrape_configs,用来指定 Prometheus 抓取的所有目标。


Prometheus 的性能很难估计,因为它在很大程度上取决于你的配置、所收集的时间序列的数量以及服务器上规则的复杂性。一般容量规划关注两个问题:内存和磁盘


Prometheus 在内存中做了很多工作。每个收集的时间序列、查询和记录规则都会消耗进程内存。但一个有用的、粗略的经验法则是将每秒采集的样本数乘以样本的大小。我们可以使用以下查询语句来查看样本收集率。

每个样本的大小通常为 1 到 2 个字节,让我们谨慎一点,按照 2 个字节计算。假设在 12 小时内每秒收集 100000 个样本。结果大概是 8.64GB 的内存。


磁盘使用量受存储的时间序列数量和这些时间序列的保留时间限制。默认情况下,指标会在本地时间序列数据库中存储 15 天。数据库的位置和保留时间由命令行选项控制。

--storage.tsdb.path 选项:它的默认数据目录位于运行 Prometheus 的目录中,用于控制时间序列数据库位置。

--storage.tsdb.retention 选项:控制时间序列的保留期。默认值为 15d,代表 15 天。

建议采用 SSD 作为时间序列数据库的磁盘


对于每秒 10 万个样本的示例,我们知道按时间序列收集的每个样本在磁盘上占用大约 1 到 2 个字节。假设每个样本有 2 个字节,那么保留 15 天的时间序列意味着需要大约 259 GB 的磁盘。


发布于: 2 小时前
用户头像

InfoQ签约作者 2018.11.30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
04 Prometheus之配置步骤及容量规划