日志文件中 WAL 段加载条目不可用的 Prometheus 服务
Unavailable Prometheus service with WAL segment loaded entries in log file
我刚刚第一次设置,Docker 上的 Prometheus 使用这个 docker-compose 文件:
version: '3.7'
volumes:
prometheus_data: {}
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus/:/etc/prometheus/
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
ports:
- 9090:9090
links:
- alertmanager:alertmanager
restart: always
问题是几分钟后 CPU 过载并且 RAM (8GB VPS) 被消耗到几乎满容量。服务变得不可用。
查看容器的日志,不断出现如下数百个条目:
level=info ts=2021-10-02T08:01:09.966Z caller=head.go:577 component=tsdb msg="WAL segment loaded" segment=270 maxSegment=355
尝试重新启动容器,但没有任何变化。还尝试将 Prometheus 图像更新到最新版本(从 2.29.0 到 2.30.2)。
我目前正在网上查找,但还没有找到解决方案...
如有任何帮助,我们将不胜感激。
加载 WAL 是启动 Prometheus 的一个组成部分。否则,您将丢失关闭时尚未保留的数据。不幸的是,众所周知,这是资源密集型的,需要一段时间。您唯一的“解决方案”是删除 WAL (rm -r data/wal
),但这会导致您丢失一些数据。否则,就等着吧。
将来,您可以启用 experimental in-memory snapshot feature(v2.30 的新增功能),以减少启动时间。
我刚刚第一次设置,Docker 上的 Prometheus 使用这个 docker-compose 文件:
version: '3.7'
volumes:
prometheus_data: {}
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus/:/etc/prometheus/
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
ports:
- 9090:9090
links:
- alertmanager:alertmanager
restart: always
问题是几分钟后 CPU 过载并且 RAM (8GB VPS) 被消耗到几乎满容量。服务变得不可用。 查看容器的日志,不断出现如下数百个条目:
level=info ts=2021-10-02T08:01:09.966Z caller=head.go:577 component=tsdb msg="WAL segment loaded" segment=270 maxSegment=355
尝试重新启动容器,但没有任何变化。还尝试将 Prometheus 图像更新到最新版本(从 2.29.0 到 2.30.2)。 我目前正在网上查找,但还没有找到解决方案...
如有任何帮助,我们将不胜感激。
加载 WAL 是启动 Prometheus 的一个组成部分。否则,您将丢失关闭时尚未保留的数据。不幸的是,众所周知,这是资源密集型的,需要一段时间。您唯一的“解决方案”是删除 WAL (rm -r data/wal
),但这会导致您丢失一些数据。否则,就等着吧。
将来,您可以启用 experimental in-memory snapshot feature(v2.30 的新增功能),以减少启动时间。