特殊情况下,如果采集的指标过大(通常是指label的value值出现变量,导致series数量突增),这种情况下,只是删除采集配置是不够的, 还需要删除异常数据,来避免大查询问题。通过以下方式来实现对数据的删除和磁盘空间的释放。
如何删除时间序列
http://<vmselect>:8481/delete/<accountID>/prometheus/api/v1/admin/tsdb/delete_series?match[]=<timeseries_selector_for_delete>
该delete_series
处理程序应仅在特殊情况下使用,例如删除意外提取的错误时间序列。它不应定期使用,因为它会带来非零开销。
示例:
curl 'http://10.100.22.202:8481/delete/0/prometheus/api/v1/admin/tsdb/delete_series?match[]=prometheus_http_requests_total' -vvv
强制合并
为了释放已删除的时间序列占用的磁盘空间。在这种情况下,可以通过向发送请求对指定的每月分区启动强制压缩/internal/force_merge?partition_prefix=YYYY_MM
,其中YYYY_MM
是每月分区名称。
例如:
http://192.168.1.2:8482/internal/force_merge?partition_prefix=2024_08