以前、Slack 通知を Node.js でもやってみるという記事を書きました。
ssh ログイン時に slack 通知するという記事を見かけたのですが、書かれた時期がやや古いものでした。
2020 年版 「ssh ログインした時、 slack に通知してみる」記事です。
目次
参考
動作環境
- CentOS Linux release 7.7.1908 (Core)
- v6.17.1(ローカル)
- v12.12.0(nodenv)
実装
準備
Webhook URL が必要です。
Rails から Slack に通知してみるに方法の記載があるので、そちらを参照してください。
ひな形作成
適当なディレクトリで以下を実行し準備します。
1 | npm init -y |
パッケージ導入
1 | npm install --save npm install @slack/webhook |
通知クライアント実装
1 | const { IncomingWebhook } = require("@slack/webhook"); |
確認
一旦、以下のコマンドで実行します。
1 | [root@localhost logon_slack]# ls |
実行すると、次のように slack に通知されます。
ssh ログイン時に実行させる
ssh ログイン時に実行させるため、.bash_profile
からssh_logon_slack.js
を呼び出すようにします。
以下のように追記します。
1 | #login時にslack通知 |
先の方法では、ディレクトリ移動してから実行し、ホームディレクトリへ戻るようになっています。
これは、nodenv で指定した node(v12.12.0)を使用できるようにしたかったからです。
ssh ログイン時に実行させる 2
先の方法では、nodenv で指定した node(v12.12.0)を使いましたが、ローカルにインストールした node(v6.17.1)でも実行可能でした。
なので、ディレクトリ移動せず、以下の記述で実行可能でした。
1 | #login時にslack通知 |
ssh でログインして確認
ssh クライアントを使って設定したサーバにログインします。
ログインすると、先に確認したのと同様に slack に通知が出ます。
今回は、ssh ログインした時 slack 通知するようにしました。
slack からの通知でほかにもできることを考えたいところです。
ではでは。