有没有办法将prometheus数据存储到外部数据库,比如mysql或postgresql

ecr0jaav  于 2021-06-20  发布在  Mysql
关注(0)|答案(4)|浏览(1046)

目前我正在与普罗米修斯合作,并取得了良好的效果,我面临的困难是,如果重新启动服务,我的全部旧数据将丢失。有没有办法将prometheus数据永久存储在mysql或postgresql之类的数据库中?

esyap4oy

esyap4oy1#

XDB将是另一种选择:
https://www.influxdata.com/blog/influxdb-now-supports-prometheus-remote-read-write-natively/
只需在prometheus配置中配置远程写入和远程读取,就可以开始了:

remote_write:
  - url: 'http://{YOUR_INFLUX-DB}:{YOUR_INFLUX-DB_PORT}/api/v1/prom/write?db=metrics'
remote_read:
  - url: 'http://{YOUR_INFLUX-DB}:{YOUR_INFLUX-DB_PORT}/api/v1/prom/read?db=metrics'
v9tzhpje

v9tzhpje2#

现在postgresql支持prometheus

https://blog.timescale.com/prometheus-ha-postgresql-8de68d19b6f5

chy5wohz

chy5wohz3#

传统的数据库如mysql和postgresql没有针对prometheus收集的时间序列数据进行优化。现在有更好的解决方案,它们需要更少的存储空间,并且可以更快地处理插入和选择。
普罗米修斯支持远程存储。启用时,它将所有新数据存储在本地存储和远程存储中。远程存储数据库有多种选择,有各种权衡。我建议你试试维多利亚美。它本身支持prometheus的查询语言promql,因此在grafana中很容易用作prometheus数据源。

ujv3wf0j

ujv3wf0j4#

不能将prometheus数据直接写入关系数据库(或任何数据库)。您有两个选择:
在你的机器上挂载一个外部磁盘,并配置prometheus将数据写入挂载位置
编写一个小的web脚本,将prometheus导出格式转换为您想要的任何存储格式。然后配置prometheus将数据发送到web脚本。
信息可以在普罗米修斯文件中找到。

相关问题