按特定时间段删除时间序列指标 Prometheus

Posted

技术标签:

【中文标题】按特定时间段删除时间序列指标 Prometheus【英文标题】:Delete time series metrics Prometheus by certain time period 【发布时间】:2020-04-04 07:10:33 【问题描述】:

我在https://www.shellhacks.com/prometheus-delete-time-series-metrics/ 上读到,可以删除我们在 Prometheus 上不需要的时间序列指标。

但是无论如何要在特定时间段内删除它们;说在周一至周五下午 5 点到早上 6 点等期间删除指标?

【问题讨论】:

【参考方案1】:

来自 TSDB 管理 API 的 Prometheus 官方文档:

网址查询参数:

match[]=:选择要删除的系列的重复标签匹配器参数。至少一个 match[] 参数必须是 提供。 start=:开始时间戳。可选,默认为最短时间。 end=: 结束时间戳。可选,默认为最大可能时间。

不提及开始和结束时间将清除所有数据 数据库中匹配的系列。

参考here

【讨论】:

【参考方案2】:

根据上面的回复,您可以查看文档。你也可以使用这个招摇规范:https://stoic-kare-8f0c7d.netlify.app/#/TSDB%20Admin%20API/deleteSeriesPOST

生成您的 cURL,否则修改下面提供的示例 cURL:

http://localhost:9090/api/v1/admin/tsdb/delete_series?match[]=__name__=~".+"&start=2021-01-01T07:30:00+00:00&end=2021-01-01T22:30:00+00:00

请注意,上面的匹配将删除所有内容,即存储的每个时间序列。 您所追求的可能是一个 cronjob,它运行一个脚本,上面的 cURL 相应地修改了您想要的 match 以及与您的时间段匹配的 startend 日期。

之后记得运行

http://localhost:9090/api/v1/admin/tsdb/clean_tombstones

实际删除数据。

【讨论】:

以上是关于按特定时间段删除时间序列指标 Prometheus的主要内容,如果未能解决你的问题,请参考以下文章

如何查询 Prometheus 中所有具有特定标签值的时间序列?

prometheus 指标类型

prometheus 指标类型

prometheus 指标类型

prometheus 指标类型

prometheus以监控Pod TCP连接数为例删除一个或多个metrics指标