やりたいこと
Salesforce の組織制限(オブジェクトストレージや API コール数など)が気付かない間に危険水域に達する前に定常的に監視したい
やったこと
最終的には Chatwork に通知したかったので Salesforce CLI で組織制限を取ってきて、それを見やすいよう awk で整形して Chatwork の API を叩くだけ。最終的には以下のようなコードになった。Slack や Teams に通知したいなら curl の部分をいい感じに変えれば似たようなことができるはず。
# $CW_TOKEN, $ROOM_IDは環境変数で指定する必要あり
body="$(sfdx force:limits:api:display -u DevHub | awk '{if($2 ~/^[0-9]+$/){if($2 != $3){p=$2/$3*100;printf "%-44s %-13.2f %-11d %-11d\n",$1,p,$2,$3}}else if($1 == "NAME"){printf "%-44s %-13s %-11s %-11s\n",$1,"REMAINING(%)",$2,$3}}')"
curl -sS -X POST -H "X-ChatWorkToken: ${CW_TOKEN}" -d "body=[code]${body}[/code]" "https://api.chatwork.com/v2/rooms/${ROOM_ID}/messages"
上記コードを cron などで定期的に叩けばお手軽監視が完成。
動作結果
以下の画像のような内容が通知される。制限が一切減ってない項目に関しては監視してもあまり意味がないため通知項目から外している。バリバリに使ってる組織であればもう少しいろんな項目が表示される

動作要件
- DevHub を有効にしている
- Salesforce CLI をインストールしている & 認証を通している
- Bash が動く
あとがき
もっと本格的に監視をしたければ自前で Apex 組むなり、コード改良して柔軟に通知できるようにしたほうがいいと思うので参考程度にご利用ください