サーバーモニタリングツールZabbixをインストールする

2014年02月05日 19時51分

201402051951OZAC00.png

はじめに

Zabbixは、1998年にアレクセイ・ウラジシェフ(Alexei Vladishev)氏によって開発されたサーバー監視ツールであり、GPLv2ライセンスで公開されているフリーソフトウェアです。今回は、Nagiosと並んで最も利用されているZabbixを用いた監視システムの構築方法を解説します。

前提条件

構築に必要なサーバー要件および、導入パッケージは下記のとおりです。

  1. 作業環境
    OSWindows 7 Ultimate 32bit
    CygwinSetup Version 2.831
    VirtualBox4.3.6 r91406
    Vagrant1.4.1
  2. サーバ要件
    Zabbixサーバーホスト名zabbix-server
    IPアドレス192.168.0.50
    OSCentOS 6.5 i386
    Apache2.2.15
    PHP5.4.24
    MySQL5.5.35
    サードパーティリポジトリEPEL/remi
    Zabbixクライアントホスト名zabbix-client
    IPアドレス192.168.0.20
    OSCentOS 6.5 i386
    サードパーティリポジトリEPEL

    Zabbixのメール通知機能を利用するためには、SMTPサーバーが必要です。
    本記事では、Zabbixサーバー上でSMTPサーバー(postfix)を立ち上げ、ローカルユーザー宛のメールの送信が行えるようにしています。
    また、メールクライアントとしてMuttをインストールしています。

  3. 導入するパッケージ
    サーバーパッケージ名バージョン
    Zabbixサーバーzabbix-server1.8.19
    zabbix-server-mysql
    zabbix-web-mysql
    zabbix-agent
    ipa-pgothic-fonts003.02
    Zabbixクライアントzabbix-agent1.8.19

Zabbixサーバーの構築

  1. Zabbixコアパッケージのインストール

    EPELリポジトリから、Zabbixのコアパッケージをインストールします。

    $ sudo yum --enablerepo=epel -y install zabbix-server zabbix-server-mysql
    
    201402051951OZAC01.png
    201402051951OZAC02.png
  2. データベース設定

    Zabbixは、デフォルトでMySQLをデータベースサーバーとして利用しますので、Zabbixで使用するユーザー名および、データベースの作成と権限設定を行うSQLファイルを作成します。

    $ cat<<EOF>zabbix_mysql.sql
    CREATE USER zabbix;
    CREATE DATABASE zabbix;
    GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'admin';
    FLUSH PRIVILEGES;
    EOF
    

    作成したSQLファイルを実行します。

    $ mysql -u root -padmin < zabbix_mysql.sql
    

    ここでは、rootユーザーのパスワードとして"admin"を指定しています。

    201402051951OZAC03.png

    作成したユーザーを用いて、データベース設定を確認します。パスワードには、先に実行したSQLファイルで指定したパスワードを指定します。

    $ mysql -u zabbix -padmin -e 'status'
    
    201402051951OZAC04.png
  3. サーバー設定ファイルの編集

    サーバー設定ファイル(zabbix_server.conf)に、データベースパスワードを設定します。

    $ sudo sed -i -e "s|^# DBPassword.*|DBPassword=admin|" /etc/zabbix/zabbix_server.conf
    
    201402051951OZAC05.png
  4. Zabbixサーバーの起動と自動起動設定

    Zabbixサーバーを起動し、自動起動設定を行います。

    $ sudo service zabbix-server start
    $ sudo chkconfig zabbix-server on
    
    201402051951OZAC06.png
  5. Zabbixウエブパッケージのインストール

    ブラウザ上で、Zabbixサーバーの管理を行うウエブパッケージをインストールします。

    $ sudo yum --enablerepo=epel,remi -y install zabbix-web-mysql
    
    201402051951OZAC07.png
    201402051951OZAC08.png
  6. 日本語フォントのインストール

    Zabbixは、標準で日本語をサポートしていますが、Zabbixが表示するグラフ内の日本語に文字化けが発生しますので、日本語フォントをインストールした後に、PHPファイルに日本語フォントを設定します。

    $ sudo yum -y install ipa-pgothic-fonts
    $ sudo ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf /usr/share/fonts/dejavu/ipagp.ttf
    $ sudo sed -i -e "s|DejaVuSans|ipagp|" /usr/share/zabbix/include/defines.inc.php
    
    201402051951OZAC09.png
    201402051951OZAC10.png
  7. PHP設定ファイルの編集

    PHP設定ファイル(/etc/php.ini)のpost_max_size/max_execution_time/max_input_time/memory_limit/upload_max_filesizeパラメタを変更します。

    $ sudo sed -i \
    -e "s|^post_max_size.*|post_max_size = 32M|" \
    -e "s|^max_execution_time.*|max_execution_time = 600|" \
    -e "s|^max_input_time.*|max_input_time = 600|" \
    -e "s|^memory_limit.*|memory_limit = 256M|" \
    -e "s|^upload_max_filesize.*|upload_max_filesize = 16M|" \
    /etc/php.ini
    
    201402051951OZAC11.png
  8. HTTPサーバーの再起動

    PHPの設定変更を反映するために、HTTPサーバーを再起動します。

    $ sudo service httpd restart
    
    201402051951OZAC12.png
  9. 監視エージェントのインストール

    サーバーの監視を行うため、監視エージェントをインストールした後、監視エージェントを起動し自動起動の設定を行います。

    $ sudo yum --enablerepo=epel -y install zabbix-agent
    $ sudo service zabbix-agent start
    $ sudo chkconfig zabbix-agent on
    
    201402051951OZAC13.png
    201402051951OZAC14.png
  10. ウエブインターフェースによるインストール

    ここまでの作業で、Zabbixサーバーの基本的な設定は終了しましたので、これから先はウエブを用いて設定内容の確認などの作業を行います。ブラウザで下記のURLにアクセスします。

    http://192.168.0.50/zabbix/
    

    アクセスすると、ウィザード形式でインストールを進めることができます。

    201402051951OZAC15.png
    201402051951OZAC16.png

    ライセンス許諾に同意します。

    PHPの設定内容がチェックされ、全ての項目がOKなら次に進みます。

    201402051951OZAC17.png

    PHPから、Zabbixデータベースへの接続を確認します。
    手順2で設定したユーザー名とパスワードをUser、Passwordに指定し、「Test connection」をクリックしてデータベース接続を確認します。

    201402051951OZAC18.png
    201402051951OZAC19.png

    インストール情報が表示されますので、ウィザードで指定した内容が反映されているか確認します。

    201402051951OZAC20.png
    201402051951OZAC21.png
    201402051951OZAC22.png

    Finishをクリックすると、管理者ログイン画面が表示されます。

    201402051951OZAC23.png
    201402051951OZAC24.png
  11. 管理者ログイン

    デフォルトでは、ユーザー名: admin、パスワード: zabbixが設定されますので、このアカウントを用いて管理画面にログインします。

    201402051951OZAC25.png
    201402051951OZAC26.png
  12. 日本語表示設定

    ログイン直後の表示は、英語表示になっていますので、日本語に変更します。
    Profileをクリックし、LanguageJapanese (JP)に変更後、Saveをクリックすると日本語表示に切り替わります。

    201402051951OZAC27.png
    201402051951OZAC28.png
  13. 監視状況の変更

    インストール直後は、監視サーバーの監視が行われませんので、監視を有効にします。
    設定-ホストをクリックして、表示された監視サーバーのステータスを無効から有効に変更します。

    監視データをクリックすると、監視サーバーの監視が開始されたことが確認できます。

    201402051951OZAC29.png
    201402051951OZAC30.png
    201402051951OZAC31.png
    201402051951OZAC32.png

    以上で、Zabbixサーバーの構築は終了です。

Zabbixクライアントの構築

  1. 監視エージェントのインストール

    EPELリポジトリから、パッケージをインストールします。

    $ sudo yum --enablerepo=epel -y install zabbix-agent
    
    201402051951OZAC33.png
    201402051951OZAC34.png
  2. 監視エージェントの設定

    エージェント設定ファイル(/etc/zabbix/zabbix_agentd.conf)に、監視サーバーのIPアドレス、クライアントのホスト名、接続を受け付けるIPアドレスを指定します。

    $ (echo "Server=192.168.0.50";echo "Hostname=zabbix-cient";echo "ListenIP=192.168.0.20") | sudo tee -a /etc/zabbix/zabbix_agentd.conf
    
    201402051951OZAC35.png
  3. 監視エージェントの起動と自動起動設定
    $ sudo service zabbix-agent start
    $ sudo chkconfig zabbix-agent on
    
    201402051951OZAC36.png

    以上で、クライアントの構築は終了です。

監視対象サーバーの登録

監視対象サーバーにエージェントを導入した後、Zabbixサーバー上で対象サーバーを追加します。

  1. 監視ホストの作成

    設定-ホストから、ホストの作成をクリックし、追加するサーバー名および、IPアドレスを指定します。

    201402051951OZAC37.png
    201402051951OZAC38.png

    保存ボタンをクリックすると、サーバーが追加されます。

    201402051951OZAC39.png
  2. テンプレートの適用

    監視対象サーバーを追加した直後は、監視項目を定義したテンプレートが登録されていませんので、テンプレートを適用します。

    設定-テンプレートからTemplate_Linuxを選択します。

    201402051951OZAC40.png
    201402051951OZAC41.png

    その他|グループZabbix serversを選択すると、ホストグループに属するホスト名がリストされますので、テンプレートを適用するホストを追加します。

    201402051951OZAC42.png
    201402051951OZAC43.png

    保存ボタンをクリックすると、指定したテンプレートにホストが追加されます。

    201402051951OZAC44.png
    201402051951OZAC45.png