Zabbix 3.0をUbuntu 14.04にインストール(MySQL編)

Ubuntuに関しても手順がよくわからないという声を聞くので書いてみました。

# 事前準備

## OSのインストール
Ubuntu Server 14.04.4 LTSをインストールします。
私は、後でリモートから作業がしやすくなるよう、OpenSSH serverだけはインストールしておくようにしています。

基本的な操作は、最初に作成した管理用のアカウントを利用して設定します。
どうしてもrootユーザーでなければならないところだけ、rootユーザーを使用するようにします。

## 日本語環境設定
インストール時の設定や選択が不十分であった場合、キーボードが利用しているキーボードとキーバインドが異なっていたり、日本語のロケールの情報がインストールされていなかったりすることがあります。その場合は、以下の手順でキーボードの設定とlanguage-packのインストールを行います。

日本語キーボードを利用していて、英字キーボードのキーバインドになってしまっている場合は以下のように実行します。

```
$ sudo dpkg-reconfigure keyboard-configuration
```

日本語のlanguage-packは以下のようにしてインストールします。

```
$ sudo aptitude install language-pack-ja-base language-pack-ja
```

デフォルトのロケールを日本語にするのであれば、以下のように実行します。

```
$ sudo update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
```

反映は、直後のOS再起動時に行われることを確認することとします。

## 日本語フォントのインストール
ZabbixのWebインターフェースで、日本語のTrueTypeフォントを利用するので、事前にインストールしておきます。

```
$ sudo apt-get install fonts-vlgothic
```

最低限のOSの準備ができたら、OSを最新の状態に更新して再起動しておきます。

```
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo reboot
```


# DBMSのインストール
Ubuntu用のパッケージで、Zabbixサーバーをインストールする時に自動的にデータベースの作成を行おうとされたときに、デフォルトの文字コードでデータベースを作成されてしまわないよう、事前にDBMSをインストールしてデフォルトの文字コードを設定しておきます。

まずは、パッケージのインストールです。

```
$ sudo apt-get install mysql-server
```

インストール時にrootのパスワードを設定し、そのパスワードを忘れないようにしましょう。

そして、MySQLのデフォルト設定として、/etc/mysql/my.cnfのmysqldセクションに以下の設定を追加しておきます。

```
character-set-server = utf8
collation-server     = utf8_bin
skip-character-set-client-handshake
innodb_file_per_table
```

設定を反映させるため、mysqldを再起動しておきます。

```
$ sudo service mysql restart
```

# Zabbix 3.0のインストール

## Zabbix LLCのリポジトリ登録

Zabbix LLCが公開しているUbuntu 14.04(Trusty)用のリポジトリを登録して、リポジトリ情報をupdateしておきます。

```
$ wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+trusty_all.deb
$ sudo dpkg -i zabbix-release_3.0-1+trusty_all.deb
$ sudo apt-get update
```

## Zabbixのパッケージインストール

```
$ sudo apt-get install zabbix-agent zabbix-server-mysql zabbix-frontend-php
```

あと、3.0.1をインストールしてみた際に、snmpパッケージがインストールされていないとzabbix_server.logに大量のエラーが出力されたので、それを回避するためにsnmpパッケージもインストールしておきます。

```
$ sudo apt-get install snmp
```


# 初期データベースの作成

## データベースアクセス用のアカウント作成

まずは、データベースの作成とZabbixからのアクセス用のアカウントを作成します。

```
$ mysql -uroot -p
Enter password:
mysql> create database zabbix;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password' ;
mysql> exit
$
```

## テーブル作成と初期データ登録
パッケージ内にデータベース作成用のファイルが圧縮されて用意されているので、それを利用して作成したデータベースに読み込ませます。

```
$ zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uroot zabbix -p
Enter password:
$
```


# Zabbixの設定ファイル更新
ここまでの設定のままであれば、最低限の設定としては、DBPasswordを設定するだけです。
DB作成時のパスワードをDBPasswordに設定してください。

```
$ sudo vi /etc/zabbix/zabbix_server.conf
```

設定内容は以下の通りです。

```
DBPassword=password
```


# ZabbixのWebインターフェース用設定修正
Zabbixのパッケージのデフォルトでは、PHPのtimezoneの設定がコメントアウトされているので、設定を有効にしてタイムゾーンが日本ならば、Asia/Tokyoに設定します。

```
$ sudo vi /etc/apache2/conf-enabled/zabbix.conf
```

設定箇所は以下の部分です。

```
php_value date.timezone Asia/Tokyo
```

# 各種デーモンの起動
設定が終了したら、各種デーモンを起動します。
apache2に関しては、Zabbixの各種パッケージのインストール前に起動してしまっているようなので、restartします。

```
$ sudo service zabbix-agent start
$ sudo service zabbix-server start
$ sudo service apache2 restart
```


# Webインターフェースへのアクセス

Webブラウザを利用して、
http://ZabbixサーバーのIPアドレス/zabbix/
にアクセスします。

あとは、CentOSなどと同じ手順になります。


# トラブルシューティング

## グラフの日本語文字列が文字化け
事前準備内で、日本語のフォントをインストールしましたか？

インストールしてしなかったのならば、日本語フォントのインストールと設定の初期化を以下のように実行してみてください。

```
$ sudo apt-get install fonts-vlgothic
$ sudo dpkg-reconfigure zabbix-frontend-php
$ sudo service apache2 reload
```