Pacemaker/Corosyncでクラスタ構築していたのですが、フェイルオーバーしてしまった時には通知が欲しいものです。
Pacemakerをインストールすると、Failover時にメール通知するMailTo
というResource Agentがデフォルトでインストールされます。
resource-agents/MailTo at master · ClusterLabs/resource-agents · GitHub
ただ、こういった通知系にはAmazon SNSがメンテナンス性がとても良く便利なので、フェールオーバー時にSNS通知してくれるリソースエージェントを作成してみました。
通知の件名は上に書いたMailTo
のリソースエージェントの中身に合わせてあります。
ただのシェルスクリプトなので、件名の文言変えたければ、このあたりをいじってください。
Subject="`get_subject_line $subject` Takeover in progress at `date` on $us"
Subject="`get_subject_line $subject` Migrating resource away at `date` from $us"
Amazon SNSはメール通知はもちろん、SlackなんかもEMail Integration使えば簡単に連携できます。
以下はsrv-01
からsrv-02
へのフェールオーバー時のSlack通知。