1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Salesforce で手軽に組織制限を監視する

Posted at

やりたいこと

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 などで定期的に叩けばお手軽監視が完成。

動作結果

以下の画像のような内容が通知される。制限が一切減ってない項目に関しては監視してもあまり意味がないため通知項目から外している。バリバリに使ってる組織であればもう少しいろんな項目が表示される
スクリーンショット 2020-06-02 0.19.25.png

動作要件

  • DevHub を有効にしている
  • Salesforce CLI をインストールしている & 認証を通している
  • Bash が動く

あとがき

もっと本格的に監視をしたければ自前で Apex 組むなり、コード改良して柔軟に通知できるようにしたほうがいいと思うので参考程度にご利用ください

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?