テンプレートやGUIにより設定が容易な統合監視ツール「Zabbix」
サーバーを監視するためのツールにはさまざまなものがあるが、その1つに「Zabbix」がある。Zabbixはオープンソースで開発されている多機能な監視ツールで、設定を容易に行えるテンプレート機能やWebブラウザ上で操作できるGUIが特徴だ。本記事ではZabbixの概要と、ZabbixによるLinuxサーバーの監視方法について紹介する。
テンプレート機能や豊富な監視設定が特徴のZabbix
サーバー運用において重要なのが、サーバーやそこで動作しているアプリケーションが正常に動作しているかを監視することだ。監視方法としてはさまざまなものがあるが、多くの場合専用の監視用ツールを利用するのが一般的である。監視用ツールとしては「Nagios」や「MRTG」などが有名であるが、今回は豊富な監視機能を持つ「Zabbix」という統合監視ツールを使ってLinuxサーバーを監視する方法について紹介しよう。
Zabbixは、ラトビアのZabbix SIAが開発するオープンソースの統合監視ツールである(ライセンスはGPL)。「Zabbixエージェント」と呼ばれるソフトウェアを監視対象にインストールすることで詳細な監視が行えるほか、SNMPを使った監視や監視対象サーバーの各種ポートにアクセスして監視を行うポーリング監視機能も備えている。
ZabbixではさまざまなOSや機器向けの設定項目がまとめられた「テンプレート」が多数用意されており、監視したいサーバーを登録してテンプレートを選択するだけですぐに一通りの監視が行える。監視や設定はWebブラウザを使ったGUIで行えるため、OSやデバイスを問わずに監視や設定作業が可能だ。
Zabbixの構成
Zabbixは「Zabbix Server(サーバー)」および「Zabbix Agent(エージェント)」、そしてWebフロントエンドというコンポーネントから構成されている。Zabbixサーバーは監視および監視データの収集、設定などの管理を行うコンポーネントだ。後述のZabbixエージェントからの情報収集などはこのZabbixサーバーが実行する。
Zabbixエージェントは監視対象とするサーバーにインストールするソフトウェアで、ZabbixサーバーはZabbixエージェントを通じて監視対象サーバーの状態を取得する。WebフロントエンドはPHPで実装されたWebアプリケーションで、Zabbixサーバーが収集したデータを表示したり、各種設定を行う機能を持つ。
今回は監視を行う構成として、図1のような環境を想定している。ここではZabbixサーバーとWebフロントエンドを同じサーバー上で動作させているが、これらを別のサーバーで動作させることも可能だ。
なお、以下では監視対象サーバーおよびZabbixサーバーのOSにRed Hat Enterprise Linux(RHEL) 6.4互換のLinuxディストリビューション「CentOS 6.4」を使用して環境構築方法を紹介している。