イベントハンドラとは? 前回の記事で見たように、Serfエージェントをサーバ上で起動することで、簡単にネットワーク上にクラスタを構成できます。クラスタを構成後、Serfはネットワーク上で相互に死活監視するだけでなく、クラスタのメンバ管理(ホスト名・IPアドレス・タグ等を共有)を行えます。この監視状況やメンバの変化という「イベント」に応じて、シェルスクリプトやコマンドを実行する機能が「イベントハンドラ」です。 イベントハンドラは単純にコマンド実行するだけでなく、環境変数を通してSerfからスクリプトに様々なデータを渡せます。この仕組みを使い、コマンド実行時に動的に変わる引数(ホスト名・IPアドレス・タグ等)の指定や、動的に変わる環境に対する設定変更を行えます。 そのため、イベントハンドラの理解・習得が、Serfを使って自動化を進めるうえで欠かせません。とは言え、さほど難しい概念ではありません
![第2回 Serfのイベントハンドラで自動化を使いこなす | gihyo.jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/f1ad3c0786d3d16c5ef5f5649eb3362b568cf7c1/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2FICON%2F2015%2F1377_serf-consul.png)