4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

gumi.inc TS&DAdvent Calendar 2017

Day 16

自宅でPrometheusを使ってみる

Posted at

自宅にRaspberry Pi 3があるのですが、Prometheusを入れてみた所面白かったので記事にします。

スクリーンショット

スクリーンショット 2017-12-16 19.54.44.png

インストール

Prometheus を Raspberry Pi で動かしてみた
を参考にしました、バージョン等は違いますが概ね動きました。

温度を測る

Prometheusでは手軽にマシンのメトリクスを測ることができますが、自宅のRaspberry Piではあまりおもしろくありません。
何らかのセンサーを繋いで、グラフにしてみましょう。
今回使用しているのはボッシュ社製のBME280という温湿度気圧センサーです。
これ一つで温度、湿度、気圧を計測することができます。秋月電子で購入しました。
http://akizukidenshi.com/catalog/g/gK-09421
ブレッドボード経由で接続しています。
2017-12-16_20-03-48_589.jpeg
センサー情報を取得するのは
https://github.com/SWITCHSCIENCE/BME280/blob/master/Python27/bme280_sample.py
のスクリプトを使用しています。
Prometheusにデータを渡すには、node_exporterでテキストファイルを読み込ませるのが簡単でした。
Prometheus に Raspberry Pi の温度データを突っ込んでみたを参考にしました。
cronでセンサー情報収集スクリプトを回し、指定パスに結果を書き込むことで、node_exporterがPrometheus側にデータを渡してくれます。

スピードテスト

ネット回線のスピードテストの結果をグラフにしてみると

  • どの時間帯にどの程度落ち込むか
  • 速度の落ち込み具合は改善しているか、悪化しているか
    などを分かりやすく視覚化できます。
    スピードテストに使っているのはspeedtest-cliです。
    計測結果をPrometheusに渡すのは、先程と同じくnode_exporterを使用します。
    speedtest-cliには計測結果の出力をcsvやjsonといった加工しやすい形式を選択することができ便利です。
    ここではcsv形式を使って簡単なスクリプトを書いています。

#!/bin/bash
BINDIR=/var/spool/prometheus/bin
OUTDIR=/var/spool/prometheus/collector

$BINDIR/speedtest-cli --csv | awk -F, '{print "node_speedtest_ping " $6; print "node_speedtest_download " $7; print "node_speedtest_upload " $8}' > $OUTDIR/node_speedtest.prom.$$
mv $OUTDIR/node_speedtest.prom.$$ $OUTDIR/node_speedtest.prom

スピードテストの計測間隔は負荷も考えられるので長めに設定しておきます。
今後は計測用のセンサーを足したり、Prometheusのアラート機能で発報させてみたいと思います。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?