検索
連載

徹底比較! 運用監視を自動化するオープンソースソフトウェア10製品の特徴、メリット・デメリットをひとまとめ特集:運用自動化ツールで実現する、クラウド時代の運用スタイル(2)(5/12 ページ)

運用自動化のポイントを深掘りする本特集。今回は「個々の作業項目の自動化」に焦点を当て、「Zabbix」「JobScheduler」「Sensu」など、運用・監視系の主要OSS、10種類の特徴、使い方などを徹底解説する。

Share
Tweet
LINE
Hatena
※本記事はアフィリエイトプログラムによる収益を得ています

Serfのプロフィール

 SerfはHashiCorp社が開発した独創的なサーバー監視ソフトウェアだ。集中管理サーバーは持たず、サーバー間で独自にノードを構成し、メッセージ交換を行うことでサーバーの監視や管理を実現する。

 ライセンスはMPLで全機能を無償で利用することが可能。2013年8月23日にver 0.1.0が公開され、現在の最新バージョンは2014年7月10日にリリースされたver 0.6.3と、短期間に活発な更新が行われている。

特徴

 ロゴにもそのイメージが表現されているように、同じクラスター内でSerfが動作しているサーバー間でノード連携を行っている。このため集中管理サーバーが存在せず、各サーバー間で連携を行うことで動作する。主な機能は以下の5つ。

  1. Serfをインストールされたサーバー間でクラスターを構成する
  2. 指定されたトリガー発生時に、クラスター内のサーバーにメッセージを送信できる
  3. クラスターメンバーの障害を検知し、その発生を通知するメッセージを送信できる
  4. クラスターメンバーの追加や削除のイベントをクラスターメンバーに通知するメッセージを送信できる
  5. メッセージを受けた際のイベントハンドラーを定義し、イベントに対応した処理を起動できる

 イベントは、メンバーの管理に関する「join」(serf agent接続)、「leave」(serf agent切り離し)、「failed」(serf agent監視不可)が標準で定義されており、カスタムイベントの登録も可能だ。また、イベント発生に対応したイベントハンドラーのスクリプトも定義できる。

 イベントハンドラーは、主にクラスターメンバーの管理 (membership) 、障害検知および復旧 (failure detection and recovery) 、カスタムイベントの伝搬 (custom event propagation)を行う。chefのCookbookからSerfインストール用のchefレシピなどの呼び出しも可能だ。

 メッセージの伝搬自体はGossipプロトコルが利用されており、非常に高速に行われる。従来の集中管理型のシステム監視ソフトウェアに比べても障害の検知などの速度は速い。ただし、システム間の整合性を確保するため、ノード間サーバーはNTPなどで時刻を合わせておく必要がある。

 公式サイトから、Serfのインストーラーがダウンロード可能。実行するのに必要なものは「Serf」というバイナリファイル一つのみで、ノードの設定など、エージェント間連携を行うために必要な情報は実行時のコマンド引数として定義する。サービスとして自動起動する場合は、スクリプトなどで起動処理を作成する必要がある。

 対象はLinux OSのみ。Chefを利用し、CookbookからSerfインストール用のChefレシピを利用してインストールを行うと、自動起動のスクリプトが同時に生成される。

優位性と劣位性

優位性

  1. Serf自体は非常に軽量でインストールされたサーバーへの負荷も少ない
  2. Linux/Windows/MacOS X/FreeBSD/OpenBSDと、対象OSが多い
  3. イベントハンドラーから実行する処理は、実行可能な形式であればどのようなものも動作させることが可能

劣位性

  1. 自動起動などの機能が存在しないため、OSレベルでの設定が必要となる
  2. イベントやイベントハンドラーの定義に、JSON形式などの定義ファイルの作成が必要となる
  3. 製品の特性や挙動を十分理解して処理を設計する必要がある
  4. 文献や情報自体も少なく、使用方法やセキュリティへの考慮など研究が必要となる

利用シチュエーション

  1. アプリケーションインストールや更新やパッチ適用などの自動実行
  2. オートスケールやクラスタリングなどの自律制御
  3. オーケストレーション製品との連携による、ノード作成・削除の自律制御

 メッセージ送信によるノード間連携で自動的に処理が実行されるため、インフラ構築自動化に活用が可能と考えられる。システム監視用の集中管理サーバーが不要なため、オートスケールなどでサーバーの増減が発生したり、Immutable Infrastructure(Disposable Infrastructure)のコンセプトで設計されたシステムの監視基盤として活用が考えられる。新しいコンセプトの製品であり、これからさらに製品の進化や用法の研究が進むことで、より利便性が向上することが期待されている。

Copyright © ITmedia, Inc. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る