公司部署测试的时候,需要把 prometheus 的监控数据从云服务器上打包到本地工作环境然后在本地加载方便配合 log 进行调试,但是打包数据出了点问题,目前的做法是备份 metrics 文件夹内的数据,但是 prometheus 设置storage.tsdb.path以后在该目录下只有一个wal
文件夹和lock
文件,打包这个文件节要到本地,在本地 mac 启动时选择设置storage.tsdb.path为打包解压的文件夹,结果启动后傻眼了,数据都没有,有一次打包的时候找到了官方文档上的存储结构的文档,数据文件夹内的文件结构大致如下:
./data ├── 01BKGV7JBM69T2G1BGBGM6KB12 │ └── meta.json ├── 01BKGTZQ1SYQJTR4PB43C8PD98 │ ├── chunks │ │ └── 000001 │ ├── tombstones │ ├── index │ └── meta.json ├── 01BKGTZQ1HHWHV8FBJXW1Y3W0K │ └── meta.json ├── 01BKGV7JC0RY8A6MACW02A2PJD │ ├── chunks │ │ └── 000001 │ ├── tombstones │ ├── index │ └── meta.json └── wal ├── 00000002 └── checkpoint.000001
有一次测试的时候,发现并打包了这些文件,发现就能够顺利加载 metrics 数据,并在 grafana 上显示出来,目前在ubuntu18上使用apt
直接安装运行和下载带有二进制的压缩包解压运行都没有找到这个存储结构。
现在想问问:
![]() | 1 kebyn 2019-10-13 09:50:06 +08:00 ![]() 刚好也做了这个,但是我们的数据迁移后不强制要求保留的 参考这个文档,总共有三种办法 https://medium.com/@valyala/analyzing-prometheus-data-with-external-tools-5f3e5e147639 `Exporting raw data via tsdb command-line tool`方案是手动迁移本地数据库 `Exporting raw data via remote storage`基本上是官方提供的通用方案 |
![]() | 2 stevenbipt OP @kebyn 太感谢了,我去看一下,似乎第一个方法的网址打不开 |