Amazon LinuxにZabbix1.8.15をインストールしてみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

zabbix-title

Zabbixとは、サーバー、ネットワーク、アプリケーションを監視するためのソフトウェアです。

要するに、管理する必要のある複数のサーバについて、各種メトリクス(例えばCPU使用率やディスク使用量、特定のサービスのプロセスが稼働しているかどうか、TCPポートが応答するか等)を監視するシステムです。このメトリクスを定期的に監視することにより、その履歴をグラフとして可視化したり、事前に設定した条件に従って障害を判定し、管理者に通知できます。

ZabbixはGNU General Public License (GPL) version 2のもとにリリースされているため、誰でも無償で利用可能です。

Amazon LinuxにZabbixをインストールする

まず、EC2インスタンスを起動しましょう。本エントリーの内容は、執筆時点で最新のAmazon Linux AMI 2012.09の64bit版で検証しています。

ZabbixはEPELリポジトリで提供されているため、以下のコマンドでインストールできます。

$ sudo yum install --enablerepo=epel \
  zabbix \
  zabbix-agent \
  zabbix-server \
  zabbix-server-mysql \
  zabbix-web \
  zabbix-web-mysql \
  mysql-server

次に、MySQLの初期設定を行います。yumによってインストールされたZabbixのバージョン(ここでは1.8.15)によって、初期化用のSQLファイルのパスが異なる可能性があることに注意してください。また、MySQLにおけるzabbixユーザのパスワード(下記では xxxxxxxx となっている部分)は適切に変えて設定しましょう。

$ sudo service mysqld start
$ sudo mysql -uroot
mysql> create database zabbix default character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'xxxxxxxx';
mysql> flush privileges;
mysql> exit
$ mysql -uroot zabbix </usr/share/doc/zabbix-server-mysql-1.8.15/create/schema/mysql.sql
$ mysql -uroot zabbix </usr/share/doc/zabbix-server-mysql-1.8.15/create/data/data.sql
$ mysql -uroot zabbix </usr/share/doc/zabbix-server-mysql-1.8.15/create/data/images_mysql.sql
[/bash]

/etc/zabbix/zabbix_server.conf を編集し、DBの設定を反映します。DBHostはデフォルト値がlocalhostなので、コメントアウトのままで構いません。DBUserもデフォルトでzabbixとなっています。DBPasswordについては項目がありませんので、DBに設定したパスワードを記述します。



続いて、PHPの設定を行います。ZabbixにはPHPのメモリ設定等、事前条件があるため、 /etc/php.ini において下記の値を確認の上、必要があれば修正してください。



最後に自動起動の設定を行い、zabbixを起動します。



以上で、コンソールからのインストール作業は完了です。

<h2 id="toc-zabbix">Zabbixの初期設定を行う</h2>

続いて、Webインターフェイスからの初期設定を行います。 http://(EC2ホスト名)/zabbix にアクセスすると、以下のようなウィザードが表れます。途中、特に入力の必要があるのは、ライセンスの同意とDB設定だけです。その他はデフォルトのままで構いません。

<img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix_install_1-2013-01-30_1143.png" alt="zabbix_install_1-2013-01-30_1143" width="661" height="499" class="aligncenter size-full wp-image-43848" />

<img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix_install_2-2013-01-30_1144.png" alt="zabbix_install_2-2013-01-30_1144" width="725" height="502" class="aligncenter size-full wp-image-43847" />

<img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix_install_3-2013-01-30_1144.png" alt="zabbix_install_3-2013-01-30_1144" width="754" height="511" class="aligncenter size-full wp-image-43846" />

<img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix_install_4-2013-01-30_1145.png" alt="zabbix_install_4-2013-01-30_1145" width="660" height="499" class="aligncenter size-full wp-image-43845" />

<img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix_install_5-2013-01-30_1145.png" alt="zabbix_install_5-2013-01-30_1145" width="662" height="501" class="aligncenter size-full wp-image-43844" />

<img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix_install_6-2013-01-30_1146.png" alt="zabbix_install_6-2013-01-30_1146" width="660" height="502" class="aligncenter size-full wp-image-43843" />

<img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix_install_7-2013-01-30_1147.png" alt="zabbix_install_7-2013-01-30_1147" width="666" height="503" class="aligncenter size-full wp-image-43842" />

<img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix_install_8-2013-01-30_1147.png" alt="zabbix_install_8-2013-01-30_1147" width="665" height="502" class="aligncenter size-full wp-image-43841" />

IDは「Admin」、passは「zabbix」でログインできます。

<img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix_installed-2013-01-30_1148.png" alt="zabbix_installed-2013-01-30_1148" width="585" height="247" class="aligncenter size-full wp-image-43840" />

ログインしたら、すぐに右上の「Profile」から「Change password」を選択し、パスワードを変えておきましょう。ついでにLanguageを「Japanese (JP)」にすることで、UIを日本語化できます。

ダッシュボードが以下のように表示されれば、インストール完了です。

<a href="https://dev.classmethod.jp/cloud/aws/zabbix1_8_15-on-amazon-linux/attachment/zabbix-dashboard-2013-01-30_1717/" rel="attachment wp-att-43864"><img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix-dashboard-2013-01-30_1717.png" alt="zabbix-dashboard-2013-01-30_1717" width="640" height="429" class="aligncenter size-full wp-image-43864" /></a>

<h2 id="toc-">自分自身を監視してみる</h2>

この状態では、まだZabbixは何も監視をしていません。ひとまず自身のサーバを監視してみましょう。「設定」>「ホスト」のページに遷移し、「無効」となっているステータスをクリックし、有効にします。

<a href="https://dev.classmethod.jp/cloud/aws/zabbix1_8_15-on-amazon-linux/attachment/zabbix_enable-2013-01-30_1159/" rel="attachment wp-att-43853"><img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix_enable-2013-01-30_1159-640x233.png" alt="zabbix_enable-2013-01-30_1159" width="640" height="233" class="aligncenter size-medium wp-image-43853" /></a>

再び「監視データ」>「ダッシュボード」に戻り、しばらくするとダッシュボードにいくつかの障害が報告されて来ます。FTPやPOP3が動いていない、等の報告です。元々動かしていないので、当然ですね。設定の整備の際に検討しましょう。

「監視データ」>「グラフ」を選択し、右端にある「グラフ」のドロップダウンで CPU Loads 等を選択すると、時系列のグラフが表示されたりします。

<a href="https://dev.classmethod.jp/cloud/aws/zabbix1_8_15-on-amazon-linux/attachment/zabbix-chart-garbled-2013-01-30_1804/" rel="attachment wp-att-43871"><img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/01/zabbix-chart-garbled-2013-01-30_1804-640x471.png" alt="zabbix-chart-garbled-2013-01-30_1804" width="640" height="471" class="aligncenter size-medium wp-image-43871" /></a>

…お気づきでしょうか。マルチバイト人種の宿命、文字化けです。

<h2 id="toc-1">画像内に埋め込まれるフォントの文字化けに対応する</h2>

まず、IPAフォントをインストールしましょう。


$ sudo yum -y install ipa-gothic-fonts

続いて /usr/share/zabbix/include/defines.inc.php を編集します。

38,39c38,39
< 	define('ZBX_FONTPATH',					'/usr/share/fonts/dejavu');	// where to search for font (GD > 2.0.18)
< 	define('ZBX_GRAPH_FONT_NAME',			'DejaVuSans');		// font file name
---
> 	define('ZBX_FONTPATH',					'/usr/share/fonts/ipa-gothic');	// where to search for font (GD > 2.0.18)
> 	define('ZBX_GRAPH_FONT_NAME',			'ipag');		// font file name
79c79
< 	define('ZBX_FONT_NAME',			'DejaVuSans');
---
> 	define('ZBX_FONT_NAME',			'ipag');

リロードすれば、グラフに日本語が正常に表示されているはずです。

zabbix-chart-2013-01-30_1808

これにて、一件落着。