夜になって夏バテから復帰したのでMackerelに登録してみた。2週間のフリートライアル中に色々試したい。マカレルのスペル難しくてなかなか覚えられない。
iStatsを使ってMacBook ProのCPU温度を取得して送るだけのやつを書いた。毎日暑いのでマシンが夏バテする前に気付いてあげたい。
curlコマンドでJSONをPOSTするだけでよいのでとても簡単。サービスメトリック画面にAPIキー込みのコマンドが表示されていて、コピペしてすぐ使えるのも易しかった。
CPU_TEMP=$(istats cpu temp --value-only | xargs) echo $CPU_TEMP curl https://api.mackerelio.com/api/v0/services/サービス名/tsdb \ -H 'X-Api-Key: keyyyyyyy' \ -H 'Content-Type: application/json' \ -X POST -d '[{"name": "cpu-temp-degree", "time": '$(date +%s)', "value": '$CPU_TEMP'}]'
$ istats cpu temp
に--value-only
オプションを付けることで数値 (℃)だけが取得できる予定だったのだけど、実際の結果は50.12
のように末尾に半角空白が付いていた。
これのせいで "Invalid JSON Format", "unmatched close brace/bracket" みたいなエラーが出てきて困っていたが、出力値をxargsにpipeすることでtrimできて解決した。
無事に動いている。
crontabコマンドで10分おきに動かすようにセットしたので、自動でレポートが送信され続ける。飽きるまで眺めていたい。