目前我正在使用Prometheus并且取得了不错的结果,但我遇到了一个困难,就是如果服务重新启动,我的所有旧数据都会丢失。有没有办法将Prometheus数据永久存储在像mysql或PostgreSQL这样的数据库中?
目前我正在使用Prometheus并且取得了不错的结果,但我遇到了一个困难,就是如果服务重新启动,我的所有旧数据都会丢失。有没有办法将Prometheus数据永久存储在像mysql或PostgreSQL这样的数据库中?
传统的数据库如MySQL和PostgreSQL并不适用于由Prometheus收集的时间序列数据。存在更好的解决方案,这些解决方案需要更少的存储空间,并且在插入和选择方面工作更快。
Prometheus支持远程存储。启用后,它会将所有新数据存储在本地存储和远程存储中。有多个远程存储数据库可供选择,具有各种权衡。我建议尝试VictoriaMetrics。它原生支持Prometheus的查询语言-PromQL,因此可以轻松地在Grafana中用作Prometheus数据源。
https://www.influxdata.com/blog/influxdb-now-supports-prometheus-remote-read-write-natively/
只需在您的Prometheus配置中配置remote_write和remote_read,即可开始使用:
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'