Pacemakerのフェイルオーバの際に、よくMailTo
リソースエージェントを使ってメール通知を行いますが、メールだけではなくLINEグループにも通知をしたいと思います。
バージョン
Pacemaker:1.1.12
Resource-Agents:3.9.6
準備
Line Notifyの準備
Line Notifyの設定については、以前書いたものがあるので、それを参考にしてください。
参考: fail2banのban通知をLine Notifyを使ってLINEグループに通知する
今回は、トークン名はTEST、グループ名はPacemakerでトークンを作成しました。
リソースエージェントの準備
今回は、MailTo
リソースエージェントをコピーしたものを編集します。
MailTo2ファイルをコピーして作ります。
# cp /usr/lib/ocf/resource.d/heartbeat/MailTo /usr/lib/ocf/resource.d/heartbeat/MailTo2
MailTo2リソースエージェントを編集します。
curl -X POST
の行を、MailToStart()
とMailToStop ()
それぞれ1行ずつ追加します。
`XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'はLine Notifyで取得したトークンに差し替えます。
MailToStart() {
Subject="`SubjectLine $subject` Takeover in progress at `date` on $us"
MailProgram "$Subject" $1
curl -X POST -H 'Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' -F "message=Hi! Takeover in progress at `date` on $us" https://notify-api.line.me/api/notify
ha_pseudo_resource MailTo_${OCF_RESOURCE_INSTANCE} start
}
MailToStop () {
Subject="`SubjectLine $subject` Migrating resource away at `date` from $us"
MailProgram "$Subject" $1
curl -X POST -H 'Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' -F "message=Hi! Migrating resource away at `date` on $us" https://notify-api.line.me/api/notify
ha_pseudo_resource MailTo_${OCF_RESOURCE_INSTANCE} stop
}
確認
MailToから、先ほど作ったMailTo2に変更もしくは追加して、確認してみます。
うまく設定できていれば、フェイルオーバ(もしくはマイグレート)する度に、メールだけではなく、LINEグループにも通知が届きます。
