- 目的
- Life Metrics を一ヶ所に集約して分析することで健康管理に役立てる
- 例えば、睡眠スコアが高いときと低いときで部屋の空気にどんな相関があるかをすぐに見られるようになる
- Life Metrics を一ヶ所に集約して分析することで健康管理に役立てる
- Grafana+InfluxDB or Mackerel
- 最小構成の月額費用はそこまで変わらない
- 自分で管理するとバージョンアップとかの手間がかかりそう
- mackerel metrics retention = 460 days
- 分析と改善のサイクルを回すのにそこまで昔のログは要らない
- 数年前とかと比較して眺める楽しさはありそうではある
- 分析と改善のサイクルを回すのにそこまで昔のログは要らない
- 方法
- 概要
- Azure Function (Node.js) の Timer 実行で Awair からデータを取得して結果を Mackerel に送る
- 流れ
- Awair
GET Devices
で device_type と device_id を取得- 動的に増える考慮が必要なければこれは最初の1回だけ実行して保存しておけばいい
- Awair
GET Latest AirData
で最新の metrics を取得 - Mackerel Service Metrics API の形式に変換してPOST
- Awair
- 概要
- 注意点
- Mackerel *1
- Datadog とは metrics 設計が異なる
- Datadog metrics は tag で split (grouping) するが、Mackerel は metrics name で split させる
- Awair
- Hobbyist Plan だとすぐに Limit を超えてしまう
- Awair Developer APIs
- ドキュメントに書いてあるメールに upgrade request を送ったら、ありがたいことにすぐに上げてくれた
Too many requests
は 429 でなく 200 で返ってくるので、body をみる必要がある
- Hobbyist Plan だとすぐに Limit を超えてしまう
- Mackerel *1
参考コード
*1:自分が初めて使ったからで知っている人にとっては注意点ではない