如何从 Prometheus v2 中删除时间序列,特别是一系列警报
How do I delete a time series from Prometheus v2, specifically a series of alerts
我们正在处理警报,因此有时需要清除我们通过调用 HTTP API 所做的旧警报,以删除存储警报的伪时间序列,例如:
DELETE https://prometheus/api/v1/series?match[]={__name__="ALERTS"}
我们最近将 Prometheus 服务器从 1.8 升级到 2.2.1。
现在调用这个端点可以得到
{
"status": "error",
"errorType": "internal",
"error": "not implemented"
}
我做了一些研究并在不同的位置找到了解决方案,我将在下面的答案中进行总结,以防它对我的 Whosebugers 伙伴有用
首先,管理员 API 在 Prometheus 2 中默认未启用。这必须通过使用选项
启动服务器来激活
--web.enable-admin-api
v2 中有一个新端点
https://prometheus/api/v2/admin/tsdb/delete_series
这需要一个 POST
来指定搜索条件,例如对于名称为 ALERTS
的时间序列,其中警报名称为 MyTestAlert
、post 以下 application/json
到 delete_series
端点,来自所选工具(在 Mac)
上使用 Postman 6 进行测试
{
"matchers": [{
"type": "EQ",
"name": "__name__",
"value": "ALERTS"
},
{
"type": "EQ",
"name": "alertname",
"value": "MyTestAlert"
}]
}
为了完整性和释放警报持续存在的磁盘 space,POST
一个空负载到
https://prometheus/api/v2/admin/tsdb/clean_tombstones
答案汇总自:
卷曲变体:
# delete alerts series
curl -g -XPOST 'http://prometheus:9090/api/v2/admin/tsdb/delete_series?match[]=ALERTS'
# delete data from disk
curl -XPOST http://prometheus:9090/api/v2/admin/tsdb/clean_tombstones
我们正在处理警报,因此有时需要清除我们通过调用 HTTP API 所做的旧警报,以删除存储警报的伪时间序列,例如:
DELETE https://prometheus/api/v1/series?match[]={__name__="ALERTS"}
我们最近将 Prometheus 服务器从 1.8 升级到 2.2.1。
现在调用这个端点可以得到
{
"status": "error",
"errorType": "internal",
"error": "not implemented"
}
我做了一些研究并在不同的位置找到了解决方案,我将在下面的答案中进行总结,以防它对我的 Whosebugers 伙伴有用
首先,管理员 API 在 Prometheus 2 中默认未启用。这必须通过使用选项
启动服务器来激活--web.enable-admin-api
v2 中有一个新端点
https://prometheus/api/v2/admin/tsdb/delete_series
这需要一个 POST
来指定搜索条件,例如对于名称为 ALERTS
的时间序列,其中警报名称为 MyTestAlert
、post 以下 application/json
到 delete_series
端点,来自所选工具(在 Mac)
{
"matchers": [{
"type": "EQ",
"name": "__name__",
"value": "ALERTS"
},
{
"type": "EQ",
"name": "alertname",
"value": "MyTestAlert"
}]
}
为了完整性和释放警报持续存在的磁盘 space,POST
一个空负载到
https://prometheus/api/v2/admin/tsdb/clean_tombstones
答案汇总自:
卷曲变体:
# delete alerts series
curl -g -XPOST 'http://prometheus:9090/api/v2/admin/tsdb/delete_series?match[]=ALERTS'
# delete data from disk
curl -XPOST http://prometheus:9090/api/v2/admin/tsdb/clean_tombstones