Esp32

M5stamp picoをnode exporterに

M5stamp picoをnode exporterに

node exporter化して動かしてみる

M5stamp picoですが、小型のesp32を搭載ということでこれまで作成したコード等が 簡単に流用できます。WiFiを含めて連続運用可能なのか調べるためにnode exporter化して しばらく連続運用したいと思います。

node exporterのArduinoコード

現在M5stack+温度湿度センサーで動かしているので、そのコードを流用します。温度センサーの手持ちがないので、その部分は削除します。

起動して、WWWブラウザーからmetricsを読み取るとちゃんと表示されました。小さなマイコンですが、ちゃんとWWWサーバーとして機能しています。

prometheusからスクレーピングする

時系列DBの設定ファイルprometheus.ymlに、以下の項目を追加して再起動します。 スクレーピング間隔は、20sにしました。

1
2
3
4
5
  - job_name: "exporter_pico"
    scrape_interval: 20s
    metrics_path: "/metrics"
    static_configs:
      - targets: ["pico_IP_address:80"]

grafanaにて確認する

prometheusに集めたデータをgrafanaにて可視化して確認します。長時間動いているM5stackのdashboardに自動的に重ねあわされてました。esp32内部の温度やuptimeを確認すると問題なくデータが時系列DBに格納されていることが確認できました。 グラフの黄線がM5stackのデータ、緑線がM5stampのデータです。

Serial出力が確認できない

VScode+plathomioな環境でバイナリーの作成をしてます。言語は、Arduinoを使っています。 setupルーチンやsetupルーチンから呼び出された関数内でSerial.printしてもターミナルになぜか表示されません。ただし、処理は実行されています。この謎は、引き続き確認したいと思います。シリアルのスピードを変更しても症状は改善しません。

まとめ

M5stamp picoの機能確認のためNode exporterを動作させて、時系列DBから20s間隔でデータをスクレーピングしました。とくに問題なく動作することを確認しました。

comments powered by Disqus