Prometheus 2.5.0 现在(2018.11.12)已经发布,在 9 月份的 2.4.0之后又进行了一些修正和改进。
这是新的6周计划的第二次发布。第一个重要的特性是,基于我们内部用于单元测试PromQL本身的语法,现在promtool中对规则和警报进行了单元测试。Prometheus 现在还会在加载配置文件时捕捉一些警告模板错误,而不是在评估模板时。
第二个特性是,现在对一个查询一次可以在内存中拥有的查询数量有一个限制,这样可以防止大量查询导致的 RAM 升高引起 OOM 威胁你的 Prometheus。可以通过 --query.max-samples flag 来调整这个值。每个示例使用 16 bytes 的内存,但是请记住,在内存中,用于查询的不仅仅是 active samples 。
第三个值得注意的特性是,这是第一个支持抓取 OpenMetrics 格式的版本。该格式仍在草案中,因此这是实验性的 Prometheus。目前只有 Prometheus Python 客户端可以生成这种格式,但是如果您同时使用这两种格式的最新版本,那么将使用 OpenMetrics 而不是 Prometheus 文本格式。
远程读取有一些改进,减少了内存使用、新的 metric 和并发限制。在服务发现方面,OpenStack 现在可以从所有项目中发现、发现所有网络接口并使用 TLS。Triton SD 可以按组进行过滤,并具有关联的新元数据。Kubernetes SD和SD通常都获得了一些新的 metric。
最后还有一个bug修复,它主要影响用户在 metric 名称上错误使用匹配器。如果您正在执行速率 ({__name__=~"som.*thing"}[5m]) 之类的操作,那么现在将失败,因为一旦删除 metric 名称,速率将生成两个具有相同标签的时间序列,这是没有意义的,并且会造成问题。前面已经讨论了如何正确地处理这个问题。
这次还有很多的提升、bug fix 和其他的改变,可以查看 release notes 来获取更多的信息。
原文链接
- https://www.robustperception.io/new-features-in-prometheus-2-5-0 , By Brian Brazil