Prometheus PushGateway 0.9 和 1.0 的区别
pushgateway 在 10 月 15 日发布了 1.0.0 版本。官方特意说明,在 1.0.0 版本中不在支持 v0.5.0 ~ v0.9.0 版本的存储格式,只支持 v0.10 以上版本。如果是 v0.5.0 之前的版本,需要先升级到 v0.5.0 然后在寻求升级。如果是 v0.5.0 ~ v0.9.0 可以升级 v0.10 ,v0.10 可以读取这些版本的数据。
在 Issue #175 中,从代码中删除从 0.4 存储格式到 0.5 存储格式的升级路径。它相当混乱,本质上是 1.0 之前的版本。使用 0.5 或更高版本,存储格式将自动转换。因此,这只意味着您不能从 0.4 或以前直接升级到 1.0,而是必须先升级到 0.5。
通过 client_golang 支持 OpenMetrics 太遥远了,去掉了该部分。
v0.10.0
这个版本改变了存储格式。v0.10 可以读取 v0.5-v0.9 的存储格式。然后,它将坚持新格式,因此降级将不再可能。
[CHANGE] 修改数据持久化存储的格式。
[CHANGE] 立即检查推送的指标,拒绝不一致的数据,推送成功的数据返回 200 代码,不在返回 202 ,推送失败的数据返回 400 代码,并且记录在错误日志里。
[FEATURE] 可以通过 HTTP 请求停止服务。打开 --web.enable-lifecycle
参数就可以启用。[FEATURE] 可以通过 HTTP 请求和 web UI 界面彻底清除存储。打开 --web.enable-admin-api
启用。
[BUGFIX] 排除了 Metric 组之间的哈希冲突。[BUGFIX] 避免多次调用 http。推送处理程序错误。
0.9.0
[CHANGE] Web:更新 Bootstrap 到 4.3.1 和 jquery 到 3.4.1,改变 Web UI 的外观,更符合 Prometheus 服务器。还可以添加 favicon 和删除时间戳列。
[CHANGE] 使用 gokit 和 promlog 更新日志,使其与其他 Prometheus 项目保持一致。
[FEATURE] 在分组的键值中 为 label 值添加可选的 base64 编码。
[FEATURE] 添加 ARM 容器镜像
[FEATURE] 获取数据期间的日志错误
[BUGFIX] Web: js 和 css 的固定内容类型,而不是使用/etc/mime.types
0.8.0
如果您使用预先构建的 Docker 容器,或者您构建自己的基于 Docker 的容器所提供的 Dockerfile,请注意此版本将用户更改为 nobody。使用持久性文件,确保它是可以被 nobody 这个用户可读和可写。
[CHANGE] 在 Docker 中使用 nobody 运行。[CHANGE] 调整 --web.route-prefix
参数[FEATURE] 添加 --web.external-url
参数。
0.7.0
作为 1.0.0 版本的准备工作,该版本删除了长期废弃的遗留 HTTP 推送端点(在 URL 中使用/jobs/而不是/job/)。
[CHANGE] 移除遗留的 push API[ENHANCEMENT] 更新依赖[ENHANCEMENT] 支持 Go 模块[BUGFIX] 当使用 v0.4 版本存储启动时防止崩溃。
0.6.0
不支持 0.5.0 之前的持久性存储。先升级到 0.5.2 进行转换。
[CHANGE] 通过在显示期间更改 HELP 字符串来增强它们的一致性。(info 级别的日志更改了消息描述)
[CHANGE] 取消对遗留存储格式的支持。[CHANGE] 在改变 http 开头的 metric 时,使用了 Prometheus 的 clinent_golang v0.9 。
0.5.0
这个版本有一个从 v0.4 存储格式转换而来的 bug 。如果是从旧的持久性文件转换而来,请不要使用此版本。它会让 pushgateway 崩溃。如果遇到问题,可以简单地回滚到 v0.4.0。v0.5.1 将修复并实际执行(破坏性的)转换,如下面的版本说明所述。
Flag 现在需要双破折号。
持久性存储格式已经更新。升级是透明的,但不支持降级到 0.4.0 或更高版本。
不支持 0.1.0 之前的持久性存储。
参考链接
版权声明: 本文为 InfoQ 作者【耳东@Erdong】的原创文章。
原文链接:【http://xie.infoq.cn/article/0c828d4b35ca1624a42d07f5f】。未经作者许可,禁止转载。
评论