こんにちは、ちゃりおです。
アラートとかをslackに通知するのとても便利ですよね。
今回はシェルスクリプトでslackに通知する方法についてです。
シェルスクリプトでslackに通知する
WebhookURLの取得
カスタムインテグレーションは非推奨なので、アプリケーションを作ります。
Slack カスタムインテグレーションが非推奨へ
Moving on from custom integrations
こちらのページのstart buildingからアプリケーションが作れます。
アプリケーションの名前とworkspaceを指定したら、Incoming Webhooksを有効にします。
下までスクロールして、「Add New Webhooks to Workspace」でwebhookを作成します。
任意のチャンネルを選んで作成すると、WebhookURLが追加されています。
(テスト用のworkspaceのため、チャンネルが#randomになっていますが、適したチャンネルを指定しましょう)
スクリプト
単純に通知するだけなら、curlするだけなのでシンプルに書けます。
少し書き足せば監視してアラートを通知みたいなのもできます。
#/bin/bash
# webhook_urlを置き換える
WEBHOOK_URL="https://hooks.slack.com/services/***************"
MESSAGE="alert通知です"
PAYLOAD="payload={\"attachments\": [{ \"color\": \"#D00000\", \"text\": \"$MESSAGE\"}] }"
curl -XPOST --data-urlencode "${PAYLOAD}" \
"$WEBHOOK_URL" > /dev/null
実行するとこんな感じです。
参考 Reference: Message payloads
色をつけたかったので、非推奨の「attachments」を使いました。
推奨は「blocks」みたいです。
まとめ
シェルスクリプトでSlackに通知をやってみました。
少し前の記事だとSlackの推奨が変わっていたりしました。
Slackはアップデートが多そうなので、記事の情報が古くなるまでが早いようです。
公式ドキュメントを確認の上、色々やっていきたいです。
監視に関わる人は一度は読みたい「入門 監視」こんにちは、ちゃりおです。
半分ほど、読んで積読していたのですがやっと読み終わりました。
印象的だったところを、紹介します。
...
SSMを使わずCloudwatchでEC2上のプロセス監視をしてみるこんにちは、ちゃりおです。
Cloudwatchでプロセス監視をしてみました。
procstatプラグインをつかうことで、以前より簡単...
インフラの結合テスト・負荷テストの時に使えるコマンド(CPU、メモリ、ディスク)サーバの結合テスト・負荷テストをたまに作ることがあります。
新人の頃は、何を作ればよいのか分からない状態でした。
最近作れるようにな...