Zabbix

2015/9/23更新

対応バージョン: 2.2.7

Ubuntu 15.04へのZabbixの導入手順について説明する。監視設定についてはここでは扱わず、導入手順のみ記す。

全てパッケージでのインストールとなるので関連する各プロダクトは以下のバージョンとなる。尚、Apacheはすでにインストールされているものとし、手順は割愛する。

Zabbix 2.2.7
Apache 2.4.10 (インストール済)
PHP 5.6.4
MySQL 5.6

インストール

以下のパッケージをインストールすると関連する全てのパッケージがインストールされる。

% sudo apt install zabbix-server-mysql zabbix-frontend-php php5-mysql

Zabbixサーバ自身を監視する場合はzabbix-agentもインストールする。

% sudo apt install zabbix-agent

PHP設定

Zabbixサーバの動作に必要なPHPのパラメータを数ヶ所変更し、タイムゾーンをAsia/Tokyoに設定する。

% sudo cp -p /etc/php5/apache2/php.ini{,.org}
% sudo vi /etc/php5/apache2/php.ini
:
  372 max_execution_time = 30 <- 300に変更
:
  382 max_input_time = 60 <- 300に変更
:
  660 post_max_size = 8M <- 16Mに変更
:
  884 ;date.timezone = <- コメントを外してAsia/Tokyoを設定
:

% diff /etc/php5/apache2/php.ini{,.org}
372c372
< max_execution_time = 300
---
> max_execution_time = 30
382c382
< max_input_time = 300
---
> max_input_time = 60
660c660
< post_max_size = 16M
---
> post_max_size = 8M
884c884
< date.timezone = Asia/Tokyo
---
> ;date.timezone =

Apache設定

/zabbixへのアクセスを/usr/share/zabbixにAliasする。

% cat /usr/share/doc/zabbix-frontend-php/examples/apache.conf
# Define /zabbix alias, this is the default
<IfModule mod_alias.c>
    Alias /zabbix /usr/share/zabbix
</IfModule>

% sudo cp /usr/share/doc/zabbix-frontend-php/examples/apache.conf /etc/apache2/sites-enabled/zabbix.conf

設定を有効にするためにApacheを再起動する。

% sudo systemctl restart apache2

MySQLサーバ設定

MySQLサーバの文字コードをUTF-8に設定する。

% sudo cp -p /etc/mysql/conf.d/mysql.cnf{,.org}
% sudo vi /etc/mysql/conf.d/mysql.cnf
:
(以下の行を追加)
[mysqld]
character-set-server = utf8

% diff /etc/mysql/conf.d/mysql.cnf{,.org}
2,4d1
< 
< [mysqld] 
< character-set-server = utf8 

設定を有効にするためにMySQLを再起動する。

% sudo systemctl restart mysql

MySQL初期データベース作成

Zabbixはデフォルトで「zabbix」というデータベースに設定や監視情報を格納するのでこのデータベースを作成して管理ユーザを作成する。

% mysql -u root -p
Enter password: *****
:
mysql> create database zabbix;
mysql> grant all privileges on zabbix.* to zabbix@'localhost' identified by '<任意のパスワード>';
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by '<任意のパスワード>';
mysql> flush privileges;
mysql> exit

データベースを作成したら初期データを定義する。

% cd /usr/share/zabbix-server-mysql
% zcat schema.sql.gz | mysql -u root -p zabbix
Enter password: *****

% zcat images.sql.gz | mysql -u root -p zabbix
Enter password: *****

% zcat data.sql.gz | mysql -u root -p zabbix
Enter password: *****

Zabbixサーバ設定

データベースの用意ができたらZabbixサーバを動作させるための設定を行う。といってもZabbixが動作するホストとデータベース作成時に指定したパスワードを設定するだけでよい。

% sudo cp -p /etc/zabbix/zabbix_server.conf{,.org}
% sudo vi /etc/zabbix/zabbix_server.conf
:
  79 # DBHost=localhost
  80 
  81 DBHost=localhost <- 追加
:
 117 # DBPassword=
 118 
 119 DBPassword=<パスワード> <- 追加
:

% diff /etc/zabbix/zabbix_server.conf{,.org}
81,82d80
< DBHost=localhost
< 
118,119d115
< 
< DBPassword=<パスワード>

また、Webインタフェースにて作成される/etc/zabbix/zabbix.conf.phpの空ファイルを作っておき、Apacheのプロセスが書き込みできるようにしておく。

% sudo touch /etc/zabbix/zabbix.conf.php
% sudo chown www-data:www-data /etc/zabbix/zabbix.conf.php

Zabbixサーバ起動

Zabbixは事前にデータベースの準備等が必要になることからデフォルトでは起動しない設定になっているのでこれを起動する設定に変更する。

% sudo sed -i".org" -e "s/^START=no/START=yes/" /etc/default/zabbix-server
% diff /etc/default/zabbix-server{,.org}
11c11
< START=yes
---
> START=no

ここまでできたらZabbixサーバを有効化して起動する。

% sudo systemctl enable zabbix-server
% sudo systemctl start zabbix-server

以下のURLにアクセスしてZabbixのWebインタフェースが表示されればサーバ側の設定は完了である。

http://localhost/zabbix

ウィザードに従って画面を進めていくとログイン画面にたどり着く。ここでのユーザ/パスワードはadmin/zabbixなのでログインしたらすぐに変更すること。

尚、Zabbixの監視設定については冒頭の通り割愛する。以下にIDCFクラウドの仮想サーバ(CentOS 7)上にZabbixサーバを導入する手順があるので参考にされたい。

関連資料・記事

Zabbixエージェント起動

Zabbixサーバ自身を監視したい場合はZabbixエージェントを動作させる。サーバと同一OS上で動作させる場合は設定ファイルを変更する必要はない。

% sudo systemctl enable zabbix-agent
% sudo systemctl start zabbix-agent

参考ページ