在树莓派上实现Prometheus数据的持久化存储
引起事件的导火线
我以前在树莓派上连接了传感器,用Prometheus和Grafana将家庭环境数据(温度、湿度、气压)可视化,还监控了树莓派的资源,从中获得乐趣。但过了一段时间后,突然发现Prometheus经常崩溃。
最初我没有任何办法,每隔几个小时就重新启动Prometheus逃避问题。但在调查中发现,延长Prometheus数据保存期限是造成问题的原因。
※默认期限为15天。我计划通过添加启动选项(–storage.tsdb.retention 365d)来保存一年的数据。
解决方案 ‘àn)
我所研究的内容大致如下。
-
- そもそもPrometheusはデータの永続化に興味がない
-
- 永続化したかったらPrometheusから「remote_write」を使って外部に書き出すといいみたい
- 外部ストレージとして使えるのはInfluxDBとかPostgreSQLとか色々あるらしい
我决定尝试使用VictoriaMetrics,因为它在Grafana中作为数据源可以很容易地替代Prometheus。
环境
顺便提一下,VictoriaMetrics的部署环境如下。
-
- Raspberry Pi 3 Model B+
-
- Raspbian GNU/Linux 10 (buster)
-
- 温度・湿度計測用にDHT22センサーを装着し、Pythonのprometheus_clientを使ってメトリクス生成
-
- Prometheus関係で動いてるもの
Prometheus 2.29.1
Grafana Server 8.1.1 [可視化用]
AlertManager 0.22.2 [アラート発報用]
Blackbox Exporter 0.19.0 [URL監視用]
Node Exporter 1.2.2 [ラズパイのメトリクス取得&センサーデータ用]
引入
普罗米修斯
在设置文件中添加remote_write,然后重新启动服务。(VictoriaMetrics的监听端口是8428)
remote_write:
- url: http://localhost:8428/api/v1/write
维多利亚度量
很简单。只需要从下方下载二进制文件,解压缩并将数据写入当前位置,然后仅执行即可。
我想要使其常驻,并将数据放置在合适的位置,以进行服务化。
事先创建了/var/lib/victoria目录,并将数据保存期限设为12个月。
[Unit]
Description=Victoria Metrics
Before=prometheus.service
[Service]
User=prometheus
ExecStart=/usr/local/bin/victoria-metrics-prod \
-storageDataPath /var/lib/victoria/ \
-retentionPeriod=12
[Install]
WantedBy=multi-user.target
Grafana 是一个可视化数据监控和分析工具。
总结吗?
然而,起初启动VictoriaMetrics时,即使设置了Grafana的数据源,数据也无法看到。
但是,大约过了2、3天后重新查看,就能看到数据了,并且之后都很稳定。
尽管没有更改Grafana的设置。。
我是不是漏看了官方文档中的某些内容?(不擅长英语)
虽然Prometheus+Grafana的日本语资料很丰富,我也从中获得了很多参考,但是由于VictoriaMetrics的日语资料很少,再加上上述问题,让我感到很困惑。