备份和恢复普罗米修斯指标
Backup and restore prometheus metrics
所以,我遇到的情况是我正在部署一个产品,我正在使用 prometheus/grafana 作为指标。可能会发生奇怪的事情,我想获得调查指标。我想指导客户支持团队如何获取它们并移交它们进行调查,但我做不到。
所以,接下来是这些页面:
- https://prometheus.io/docs/prometheus/latest/querying/api/#snapshot
- https://groups.google.com/g/prometheus-users/c/0ZkYVj_8X8Q
- https://devopstales.github.io/home/backup-and-retore-prometheus/
我在服务器上生成了快照并将其保存在名为 XXXXX-XXXX/XXXXX
的目录中。我在本地复制了这个文件。
没有商品,我创建了一个 docker 组合如下:
version: '3.8'
services:
prometheus:
image: prom/prometheus:v2.16.0
restart: always
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus/data:/data:rw
command:
- '--storage.tsdb.path=/data'
- '--web.enable-admin-api'
- '--config.file=/etc/prometheus/prometheus.yml'
port:
- 9090:9090
配置文件 - 没什么特别的,但在这里:
global:
scrape_interval: 15s
evaluation_interval: 15s
rule_files:
# comment
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
- job_name: app
scrape_interval: 5s
static_configs:
- targets: ['phony-host:port']
这是一个虚拟配置,那些主机甚至不存在,只是其中的一些东西。
现在,在我将快照文件复制到 ./prometheus/data
目录并启动 docker(通过 docker-compose
)后,我看不到任何我期望的指标在快照中。难道我做错了什么?配置中是否缺少某些内容?需要说明的是,我没有复制 XXX-XXX/XXXX
目录,我只复制了文件。
此外,还有一些其他评论:
- prometheus 日志中没有错误;
- 我可以看到 TSDB 正在启动(一行日志);
- 我没有看到对现有快照的任何引用。
已解决。我的错误 - 这是真的,文档也不是 100% 清楚的。
因此,我将快照存储在 {DATA}\{XXXX-XXXX}\{YYYY}
这样的目录中。我的错误是我复制了目录 {XXXX-XXXX}\{YYYY}
的内容。我应该复制目录 {XXXX-XXXX}
的内容。这样做了,它起作用了。
另外值得注意的是,这些指标可能需要一段时间才能显示出来。
所以,我遇到的情况是我正在部署一个产品,我正在使用 prometheus/grafana 作为指标。可能会发生奇怪的事情,我想获得调查指标。我想指导客户支持团队如何获取它们并移交它们进行调查,但我做不到。
所以,接下来是这些页面:
- https://prometheus.io/docs/prometheus/latest/querying/api/#snapshot
- https://groups.google.com/g/prometheus-users/c/0ZkYVj_8X8Q
- https://devopstales.github.io/home/backup-and-retore-prometheus/
我在服务器上生成了快照并将其保存在名为 XXXXX-XXXX/XXXXX
的目录中。我在本地复制了这个文件。
没有商品,我创建了一个 docker 组合如下:
version: '3.8'
services:
prometheus:
image: prom/prometheus:v2.16.0
restart: always
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus/data:/data:rw
command:
- '--storage.tsdb.path=/data'
- '--web.enable-admin-api'
- '--config.file=/etc/prometheus/prometheus.yml'
port:
- 9090:9090
配置文件 - 没什么特别的,但在这里:
global:
scrape_interval: 15s
evaluation_interval: 15s
rule_files:
# comment
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
- job_name: app
scrape_interval: 5s
static_configs:
- targets: ['phony-host:port']
这是一个虚拟配置,那些主机甚至不存在,只是其中的一些东西。
现在,在我将快照文件复制到 ./prometheus/data
目录并启动 docker(通过 docker-compose
)后,我看不到任何我期望的指标在快照中。难道我做错了什么?配置中是否缺少某些内容?需要说明的是,我没有复制 XXX-XXX/XXXX
目录,我只复制了文件。
此外,还有一些其他评论:
- prometheus 日志中没有错误;
- 我可以看到 TSDB 正在启动(一行日志);
- 我没有看到对现有快照的任何引用。
已解决。我的错误 - 这是真的,文档也不是 100% 清楚的。
因此,我将快照存储在 {DATA}\{XXXX-XXXX}\{YYYY}
这样的目录中。我的错误是我复制了目录 {XXXX-XXXX}\{YYYY}
的内容。我应该复制目录 {XXXX-XXXX}
的内容。这样做了,它起作用了。
另外值得注意的是,这些指标可能需要一段时间才能显示出来。