Prometheus 删除指定 Metric

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
简介:

Prometheus 删除指定 Metric

Prometheus 发布以后,很长的一段时间里,是无法删除指定的 Metric 。如果你在某次测试中,有一些 Metric 的名称或者值有问题,那么你没有任何办法及时处理,只能等待数据的时间到了以后自动删除。我一度以为直到现在也是这样,最近在翻看 Prometheus 的官方文档的时候发现,Prometheus 在 2.0 版本以后已经提供了一个简单的管理接口,可以用来删除这些坏 Metric 数据。

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

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

./prometheus --web.enable-admin-api

数据删除

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

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

POST /api/v1/admin/tsdb/delete_series
PUT /api/v1/admin/tsdb/delete_series

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

  • match[]= : Metric 的名称
  • start= : 开始的时间戳
  • end= : 结束的时间戳

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

接下来举几个例子

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

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

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

curl -X POST -g 'http://127.0.0.1:9090/api/v1/admin/tsdb/delete_series?match[]=node_cpu_seconds_total{mode="idle"}'

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

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 。

POST /api/v1/admin/tsdb/clean_tombstones
PUT /api/v1/admin/tsdb/clean_tombstones

示例

curl -X POST http://127.0.0.1:9090/api/v1/admin/tsdb/clean_tombstones

这个接口不需要参数。

参考链接

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
相关文章
|
Prometheus Cloud Native Unix
完全解读Prometheus查询(上)
完全解读Prometheus查询(上)
247 0
|
Prometheus Cloud Native API
|
存储 Prometheus 运维
[10.14 workshop] 自定义 Prometheus 监控指标并通过 Grafana 展示
阿里云Prometheus监控全面对接开源Prometheus生态,支持类型丰富的组件监控,提供多种开箱即用的预置监控大盘,且提供全面托管的Prometheus服务。借助阿里云Prometheus监控,您无需自行搭建Prometheus监控系统,因而无需关心底层数据存储、数据展示、系统运维等问题。
[10.14 workshop] 自定义 Prometheus 监控指标并通过 Grafana 展示
|
5月前
|
Prometheus 监控 Cloud Native
自定义grafana_table(数据源Prometheus)
综上所述,自定义 Grafana 表格并将 Prometheus 作为数据源的关键是理解 PromQL 的查询机制、熟悉 Grafana 面板的配置选项,并利用 Grafana 强大的转换和自定义功能使数据展示更为直观和有洞见性。随着对这些工具更深入的了解,您将可以创建出更高级的监控仪表盘,以支持复杂的业务监控需求。
369 1
|
5月前
|
Prometheus 监控 Cloud Native
性能监控之 node_exporter+Prometheus+Grafana 实现主机监控
【8月更文挑战第3天】性能监控之 node_exporter+Prometheus+Grafana 实现主机监控
442 0
|
编解码 Prometheus 监控
完全解读Prometheus查询(下)
完全解读Prometheus查询(下)
351 0
|
8月前
|
Kubernetes 监控 API
Kubernetes指标监控metrics-server
Kubernetes指标监控metrics-server
98 0
Kubernetes指标监控metrics-server
|
8月前
|
JSON Prometheus Cloud Native
Grafana 系列 -Loki- 基于日志实现告警
Grafana 系列 -Loki- 基于日志实现告警
|
Prometheus Kubernetes Cloud Native
Prometheus Operator创建告警规则文件
Prometheus Operator创建告警规则文件
116 0
|
存储 Prometheus 监控
Prometheus 四种指标类型
Prometheus 四种指标类型
228 0

热门文章

最新文章