prometheus删除指定metrics下收集的值

Prometheus 删除指定 Metric

官方文档:

​ - https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis

Prometheus 的管理 API 接口,官方到现在一共提供了三个接口,对应的分别是快照功能、数据删除功能、数据清理功能,想要使用 API 需要先添加启动参数 --web.enable-admin-api 打开这个接口,默认这个接口是关闭的。

快速启动 Prometheus 可以使用如下命令 ,详细规范的启动方式可以参考之前的文章。

bash 复制代码
./prometheus --web.enable-admin-api

数据删除

使用数据删除接口可以删除一定时间范围内的 Metric 数据。实际的数据仍然存在于磁盘上,并在将来的压缩中清除,也可以通过数据清理接口显式地清除。

如果删除成功,会返回 204 。接口如下:

bash 复制代码
POST /api/v1/admin/tsdb/delete_series
PUT /api/v1/admin/tsdb/delete_series

这个接口可以使用 3 个参数,分别如下:

  • match\[\]=<series_selector> : Metric 的名称
  • start=<rfc3339 | unix_timestamp> : 开始的时间戳
  • end=<rfc3339 | unix_timestamp> : 结束的时间戳

如果没有指定开始和结束时间将清除数据库中匹配的所有数据。

接下来举几个例子

删除指定 Metric 名称的全部数据

rust 复制代码
curl -X POST -g 'http://127.0.0.1:9090/api/v1/admin/tsdb/delete_series?match[]=node_cpu_seconds_total'

删除指定 Metric 名称和特定 label 名称的全部数据

rust 复制代码
curl -X POST -g 'http://127.0.0.1:9090/api/v1/admin/tsdb/delete_series?match[]=node_cpu_seconds_total{mode="idle"}'
curl -X PUT -g 'http://127.0.0.1:9090/api/v1/admin/tsdb/delete_series?match[]=kafka_consumergroup_lag{consumergroup="consumergroupname",topic="topicname"}'

删除指定时间范围内的 Metric 数据

rust 复制代码
curl -X POST -g 'http://127.0.0.1:9090/api/v1/admin/tsdb/delete_series?start=1578301194&end=1578301694&match[]=node_cpu_seconds_total{mode="idle"}'

linux 可以使用 date +%s 获得当前的时间戳,可以使用 date -d "2019-12-22 00:00:00" +%s 将指定的日期转成时间戳。

数据清理

数据清理会从磁盘删除已经被 delete_series 接口删除的数据,并清理现有的 tombstones。可以在使用 delete_series 接口删除数据之后使用它来释放空间。

如果清理成功,会返回 204 。

bash 复制代码
POST /api/v1/admin/tsdb/clean_tombstones
PUT /api/v1/admin/tsdb/clean_tombstones

示例

ruby 复制代码
curl -X POST http://127.0.0.1:9090/api/v1/admin/tsdb/clean_tombstones

这个接口不需要参数。

相关推荐
lbb 小魔仙20 小时前
Redis运行状态总靠手动查?我用redis_exporter+Prometheus把指标、告警和远程抓取全接起来了
redis·bootstrap·prometheus
程序员-Benothing1 天前
Linux系统监控工具全家桶:sar、dstat、glances、Prometheus
linux·运维·prometheus
wzq11_6661 天前
Prometheus监控——云原生与非云原生监控
云原生·prometheus
东风微鸣2 天前
把 Tailscale 接进 Prometheus 监控
java·数据库·prometheus
Kendra9192 天前
运维监控平台(Prometheus + Grafana)部署与维护
运维·grafana·prometheus
Dovis(誓平步青云)2 天前
一年1956亿行:智能电表场景下的时序数据存储实践
运维·前端·自动化·音视频·prometheus
空空dream3 天前
06 | Prometheus打通FastAPI云原生数据采集
云原生·prometheus·fastapi
Dovis(誓平步青云)4 天前
常用命令藏得太深?怎么做一个快捷命令坞
运维·前端·自动化·音视频·prometheus
龙腾-虎跃7 天前
Docker 一键启动服务合集:Redis、MySQL、Kafka、MinIO、Prometheus 等(网盘转存防失效)
redis·mysql·docker·kafka·prometheus·小龙虾·miniio
Duang007_8 天前
生产可观测性:从“系统慢“到“根因“的完整链路(Go / TypeScript)
后端·python·golang·typescript·prometheus