Amazon LinuxにZabbix1.8.15をインストールしてみた
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://dev.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://dev.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://dev.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://dev.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://dev.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://dev.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://dev.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://dev.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://dev.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://dev.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://dev.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://dev.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');
リロードすれば、グラフに日本語が正常に表示されているはずです。
これにて、一件落着。