コロナになって結構前に custom CO2-mini話題になった ので買って放置してあったの1 を活用しようと思いたった。 とりあえず値は取得はできているので mackerel との連携をしてグラフに表示できるようにします。 あと mercker-pluginRust で書いてみたいとおもったので、やってみることにしました。

以下のリポジトリにコードはあります。

katsyoshi/mackerel-plugin-co2mon - GitHub

mackerel plugin として作る

mackerel に投稿する前にこの custom CO2-miniRust で読めるのかを調査してみましたら、co2mon がピンズドな感じでありました。 確認としてセンサーの読み込みは co2monREADME の通り にやることで読みとることができます。

センサーの値が読み込めるようになったら、今度は mackerel へ投げれるようにします。 と言ってもやることは 公式にあるよう に以下のフォーマットで標準出力に出すだけのようです。

{metric name}\t{metric value}\t{unix epoch time}

ということなので適当に metric nameCO2MINI.co2/temp.living 2 にして出力しています。 mackerel-plugin として動かすために、 mackerel-agent.conf に以下のような設定を追加し、再起動することでグラフが追加できます。

[plugin.metrics.CO2MINI]
command = ["/path/to/build/bin/mackerel-plugin-co2mon"]

グラフは以下のように表示されました!やったね!

おわり

ずっとやろうやろうと思ってた Rustmackerel のプラグイン作成、 面倒で先延しにしてたのですが、チョットやってみたらすぐにできたのでよかったです。 今後としては CO2 の値に応じて窓開けたりできるようにしたいなあと思っています3


  1. Amazon で確認したら買ったの 2020/03 だった…… 

  2. mackerel のグラフ表示部分のタイトルが custom.CO2MINI.co2.living となり、メーカー名も入っていいじゃんとなった。 

  3. 窓開閉する道具もないのでそこから仕入れる必要がありいつになるか不明です。