イベントハンドラとは? 前回の記事で見たように、Serfエージェントをサーバ上で起動することで、簡単にネットワーク上にクラスタを構成できます。クラスタを構成後、Serfはネットワーク上で相互に死活監視するだけでなく、クラスタのメンバ管理(ホスト名・IPアドレス・タグ等を共有)を行えます。この監視状況やメンバの変化という「イベント」に応じて、シェルスクリプトやコマンドを実行する機能が「イベントハンドラ」です。 イベントハンドラは単純にコマンド実行するだけでなく、環境変数を通してSerfからスクリプトに様々なデータを渡せます。この仕組みを使い、コマンド実行時に動的に変わる引数(ホスト名・IPアドレス・タグ等)の指定や、動的に変わる環境に対する設定変更を行えます。 そのため、イベントハンドラの理解・習得が、Serfを使って自動化を進めるうえで欠かせません。とは言え、さほど難しい概念ではありません