イベント・セミナー

オープンソースの統合監視管理、ZabbixとHinemosの機能と選択のポイント

オープンソースの統合監視ツールとして、日本ではZabbixとHinemosが広く使われています。今回はこの2つについて概要をご紹介するとともに、選択のポイントについて解説します。

このページは、2013 年 2 月 22 日開催の OSC2013 Tokyo/Spring で行った講演のセミナー資料「オープンソースでの統合監視管理について 〜 Zabbix、Hinemos の機能と選択のポイント〜 (PDF 形式 PDF 形式/ 824 KB / 28 ページ)」をもとに作成しています。

運用、管理する体制を見なおしてみましょう

貴社ではシステムの運用、管理をどのように行っていますでしょうか。 まずはどのような要素があるか、列挙してみます。

  • バックアップ
    システムを冗長化していても、最悪の場合データが消えてしまう可能性は常に存在します。このような最悪の事態に備えて、別の媒体にバックアップを取得することはとても重要です。
  • バージョンアップ
    ソフトウェアの新しいバージョンを適用する作業です。セキュリティの問題を修正したバージョンは、速やかに適用する必要があります。
  • ユーザ管理
    ユーザの登録、変更、削除を行います。正しくユーザを管理することは、セキュリティ確保のための重要な要素です。
  • ログ管理
    増え続けるログに対して、適切にファイルをローテーションしたり、古いログをアーカイブ(もしくは削除)します。怠るとログファイルでディスク容量が不足したりします。
  • 稼働監視
    システムが正常に稼働していることを監視し、異常時には管理者に通知します。具体的には生死監視、ログ監視(ログに異常が無いか)、リソース監視(CPUリソースやDiskが不足していないか)などを行います。
  • セキュリティ管理
    セキュリティが確保されているかどうか、管理します。前述のバージョンアップやユーザ管理を含み、ウィルスチェックや、定期的なアセスメントなどを行います。
  • 性能管理
    ユーザに対して一定以上の性能(レスポンス)が出せているか、管理を行います。性能を監視し、閾値を下回った場合は原因調査や対策を実施します。
  • 構成管理
    システムを構成する要素を管理します。インストールされているソフトウェアのバージョンや、パラメータ設定などについて、その変更履歴を管理します。

このように、システムの運用、管理というのは、やるべきことが沢山あります。

オープンソースの統合監視ツール、ZabbixとHinemos

このように大変なシステムの運用、管理の作業を助けてくれるのが、「統合監視ツール」であり、オープンソースの運用監視ツールとして代表的なものが、ZabbixとHinemosになります。

なお、システムの運用や管理に役立つオープンソースは他にもあります。 以下に代表的なものを掲載します。

ZabbixとHinemosは、この中で「運用監視」と呼ばれる分野について特に優れたツールです。

Hinemosの紹介

Hinemosは、株式会社NTTデータ によって開発された、オープンソースの統合監視ツールです。バッチジョブの実行を管理する「ジョブ管理機能」があることが特徴です。

  • 開発: 株式会社NTTデータ
  • 監視画面: 専用GUIクライアント
  • サーバ: JBoss
  • 設定:専用GUI
  • データ保存形式: RDB(PostgreSQL)
  • ジョブ管理機能があるのが特色。一括管理機能(ファイル配布、RPMインストール、マシンの起動、停止など)
  • 国産なので日本語のドキュメントは整備されている
  • 有償オプションが充実し、パートナー制度により、サポートやHinemosをベースにした製品が充実

Hinemosの構成例を以下に示します。

Hinemosの画面イメージを以下に示します。

Hinemosの設定の流れ

Hinemosの設定の流れは以下の通りです。

  1. リポジトリにホストを登録します。ホストをグルーピングし、「スコープ」として定義します。
  2. 情報をどこに通知するのかといった情報(メールアドレスなど)を登録します。
  3. スコープと通知とを結びつけて、監視項目や監視条件を設定します。

Hinemosの導入にあたって

Hinemosを導入するにあたって、留意する事項を以下に示します。

  • 設定がシンプル
  • 全てイメージしやすい日本語表示
  • 設定項目が単純だと楽に設定ができる
  • スコープへの一括反映
  • マネージャーと監視対象機器のネットワーク疎通は必須、複雑なネットワーク構成に対応できない
  • マネージャーが監視項目を直接取りに行くので監視対象が多いとマネージャーがボトルネックになる、また、処理分散ができない
  • グラフ機能の加工ができない
  • WEB上での情報がすくない

Zabbixの紹介

Zabbixはラトビアの企業であるZabbix 社により開発されている、オープンソースの統合管理ツールです。軽量で、特に監視機能が優れています。

  • ライセンスがGPL
  • Webブラウザで操作できる
  • データ保存はRDBMS(MySQL, PostgreSQL, Oracle, sqlite)
  • 軽量
  • sshやtelnetでエージェントレス監視、スクリプトによるカスタム監視で自由自在
  • 対応プラットフォームが多い(OSにパッケージが用意されている場合も)
  • Zabbixプロキシも設置できて拠点間-処理分散に対応
  • Zabbixを操作するAPIを標準搭載
  • テンプレートの一括インポート、エクスポート

Zabbixの構成例を以下に示します。

Zabbixの冗長化構成の例を以下に示します。
DRBDを用いてデータを複製し、Pacemaker/Heartbeatによって障害時の切り替えを行う構成が一般的です。

Zabbixでの監視においては、「エージェント」を監視対象サーバに導入します。 これにより、Zabbixサーバの仕事の一部を「エージェント」が代替することで、サーバの負担を軽減します。

Zabbixで使われる用語について、説明します。

Zabbixの設定の流れ

Zabbixの設定の流れは以下の通りです。

  1. 監視対象ホストを、監視サーバに登録します。
  2. 監視項目を設定します。
  3. 監視時の条件を設定します。
  4. 条件を満たしたときに実行するアクションを定義します。

Zabbixでは、監視設定のテンプレートが数多く用意されています。 これらを利用することで、簡単に設定を行うことができます。

Zabbixの画面を以下に示します。

Zabbixの導入にあたって

Zabbixを導入するにあたって、留意する事項を以下に示します。

  • httpd、php、データベースなど個別にセットアップ
  • 慣れてないとインストールは少々手間
  • インターフェイスは直感的。ホスト→アイテム→トリガー→イベント→アクションの流れが分かれば簡単
  • プロキシによる分散管理、障害が発生した時にスクリプトを実行できるなど高機能
  • 複雑な構成に対応しやすい柔軟性のある設定
  • WEB上で多くの情報を得られる
  • キーやトリガーの書き方を覚える必要がある

ZabbixとHinemos、どちらを使えばいい?

基本的な監視であれば、Hinemos、 Zabbix、どちらでも利用することができます。 しかし、プログラム実行も管理したい場合、一括管理機能を使いたい場合はHinemosを、 豊富な監視機能を使いたい場合、大量のシステムを監視する場合ならZabbixを、お勧めします。

参考情報一覧

ITLeader「OSS俯瞰図239」: http://it.impressbm.co.jp/e/2012/05/15/4331
Hinemos: http://www.hinemos.info/
Zabbix: http://www.zabbix.com/
ZABBIX-JP サイト: http://www.zabbix.jp/
Zabbix HA化: https://www.zabbix.org/wiki/Docs/howto/high_availability