Prometheus HTTP API 查询(七)管理员接口
本文已经收录在 Prometheus 合集 你真的会 Prometheus 查询吗?--PromQL 合集 中。
Prometheus 现在有 一些接口是专门给管理员使用的,这些接口默认是不开启的,需要在启动的时候使用 --web.enable-admin-api
来打开,打开以后可以打快照、删除数据。
快照
快照接口可以针对当前的数据创建一个快照,这个创建好的快照会存储在 TSDB 的数据目录下的 snapshots/<datetime>-<rand>
,并且将创建好的目录通过 HTTP 的 response 返回。它可以选择性地跳过只出现在头块中、还没有压缩到磁盘的快照数据。
这个接口有一个 URL 参数 skip_head=<bool>
,这个参数是可选的,通过这个参数可以跳过头块中的数据。
通过这个响应我们可以知道快照会存放在 <data-dir>/snapshots/20171210T211224Z-2be650b6d019eb54
。
这个接口在 v2.1 版本以后才可以使用,在 v2.9 版本以后才支持 PUT 模式。
删除 Series
这个接口会删除时间范围内一系列选择的数据。执行操作以后,实际数据仍然存在于磁盘上,并没有被删除,在以后的压缩中会被清理。如果想要立即清理那么可以通过 Clean Tombstones
来立即删除。
如果接口执行成功,返回的 HTTP 代码是 204 。
这个接口有三个 URL 参数可以使用。
match[]=<series_selector> :选择要删除的 Series 的重复标签匹配器参数。及要删除的指标,这个参数是个必要参数,最少提交一个才可以。
start=<rfc3339 | unix_timestamp> : 开始时间戳。缺省是最小的时间值。
end=<rfc3339 | unix_timestamp> :结束时间戳。缺省是最大的时间值。
不同时提到开始和结束时间将清除数据库中匹配序列的所有数据。
这个接口在 v2.1 版本以后才可以使用,在 v2.9 版本以后才支持 PUT 模式。
清理 Tombstones
CleanTombstones 会将要删除的数据从磁盘上删除,并清除现有的 Tombstones 。这可以在删除序列后使用,以释放空间。
这个接口没有参数,也没有 HTTP 的 body 。
这个接口在 v2.1 版本以后才可以使用,在 v2.9 版本以后才支持 PUT 模式。
健康检查
Prometheus 提供了一个接口,这个接口会在 Prometheus 处于健康状态的时候返回 200 。
服务准备检查
Prometheus 提供了一个接口,这个接口会在 Prometheus 处于可以提供服务的时候返回 200 。
重新加载配置
Prometheus 提供了一个接口,这个接口会在重新加载 Prometheus 的配置文件,这个时候在 Prometheus 数据文件特别大的时候特别有用,TSDB 太大以后重新启动 Prometheus Server 会耗费大量的时间,而重新加载配置会特别快 。
想要使用这个接口需要在启动 Prometheus 的时候使用 --web.enable-lifecycle
参数来打开这个功能。
或者,可以通过向 Prometheus 进程发送 SIGHUP
信号来触发重新加载配置。
退出
这个接口会触发 Prometheus 进行优雅关闭它自己。这个接口默认禁用的,可以通过--web.enable-lifecycle
参数来打开这个功能。
或者,可以通过向 Prometheus 进程发送 SIGTERM
信号来触发优雅的关闭。
版权声明: 本文为 InfoQ 作者【耳东@Erdong】的原创文章。
原文链接:【http://xie.infoq.cn/article/241762c2bfdf4163b2dff339a】。未经作者许可,禁止转载。
评论