Prometheus 2.0.0 现在(2017.11.8)已经发布,从上个月的 1.8.0 到 2.0.0 有显著的改进。
最大的变化是新的存储引擎,它被完全重写,并与检索系统中的变化相结合,带来了可观的性能收益。现在,Prometheus 的服务器每秒可以摄取数百万个样本。这是由于与文本展示格式相关联的优化。如果您使用的导出器非常罕见,只支持protobuf公开格式,那么您需要添加对文本格式的支持。这个新的存储引擎不向后兼容,但是有一种方法可以透明地访问仍然存储在1.x中的旧数据。
新的存储引擎不需要通过 flag 进行调优。它通过 mmaped files 进行工作,因此依赖于现代内核的页面缓存。这种设计还允许为希望进行备份的用户制作快照。
第二个大的变化是PromQL中的新过时语义。在通常情况下,从服务发现中删除时间序列后,不再需要等待整整5分钟才会过期,现在需要大约一个scrape 间隔。
规则文件格式已更改为YAML,我们之前已经了解了如何使用 promtool 对其进行转换。规则现在按组划分,并按顺序执行。
PromQL有一些小的更改。添加了一个 timestamp 函数,删除了count_scalar、drop_common_tags 和 keep_common 。
出于安全原因,默认情况下禁用 admin 和 lifecycle API。你可以通过下面这两个 flag 来重新开启。
1 | --web.enable-admin-api |
说到 flag ,Kingpin 现在也在使用,所以所有 flag 的前缀都是双连字符而不是单连字符。用于指定AlertManager的命令行 flag 已被删除,现在要使用 AlertManager 只能在配置文件中开启,这个选项已经在1.4 的配置文件中添加过了。
如果使用远程读取的对象不是远程存储,则需要启用新的 read_recent 选项。默认情况下,远程读取不再请求它应该在本地拥有的数据。
原文链接
- https://www.robustperception.io/new-features-in-prometheus-2-0-0 , By Brian Brazil
======================
Erdong, A Linux user !