在树莓派上实现Prometheus数据的持久化存储

引起事件的导火线

我以前在树莓派上连接了传感器,用Prometheus和Grafana将家庭环境数据(温度、湿度、气压)可视化,还监控了树莓派的资源,从中获得乐趣。但过了一段时间后,突然发现Prometheus经常崩溃。

grafana.png

最初我没有任何办法,每隔几个小时就重新启动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 是一个可视化数据监控和分析工具。

grafana-ds.png
promql.png

总结吗?

mem.png

然而,起初启动VictoriaMetrics时,即使设置了Grafana的数据源,数据也无法看到。
但是,大约过了2、3天后重新查看,就能看到数据了,并且之后都很稳定。
尽管没有更改Grafana的设置。。
我是不是漏看了官方文档中的某些内容?(不擅长英语)

虽然Prometheus+Grafana的日本语资料很丰富,我也从中获得了很多参考,但是由于VictoriaMetrics的日语资料很少,再加上上述问题,让我感到很困惑。

广告
将在 10 秒后关闭
bannerAds