【連載Zabbix】Zabbix 3.0/3.2 基礎構築手順【Zabbix Advent Calendar 2016】

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

Zabbix Advent Calendar 2016の10日目の記事です。
カスタマーサポート課の伊藤です。
サーバーワークスZabbixスペシャリスト 九龍として今回はZabbix 3.0/3.2 の構築手順をご案内します。
Zabbix の構築は、Serverパッケージインストール、DB構築、フロントエンドパッケージインストール、が主な流れとなります。
Zabbix ServerとZabbixフロントエンド、ZabbixDBはそれぞれ、TCP/IPで接続しているので、ネットワーク的に疎通が取れれば、単一インスタンスでも、別々のインスタンスで構築しても動作します。
今回は簡単にするために単一インスタンスとして考えます。
分散構成を取りたい方は、文中のlocalhostとなっている部分をIPアドレスやFQDNに置き換えてトライして下さい。
データーベースは既に動作しているものとします。

リポジトリ登録

Zabbixはパッケージが配布されているので、それを使って導入を行います。

CentOS  / RHEL 

CentOSやRHELのパッケージはZabbix LLC から提供されていますので、そのパッケージを利用します。
なお、依存パッケージのバージョンが古いため、Zabbix 3.0 以降で公式にサポートされるのは
CentOS 7 / RHEL 7 以降となります。CentOS 6 / RHEL 6 用にはAgentとProxyは提供されますが、Serverパッケージは提供されません。

Zabbix 3.0

次のコマンドでZabbix 3.0 のリポジトリが登録されます

# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

Zabbix 3.2

Zabbix 3.2 のリポジトリを登録する場合は次のコマンドです。

# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

Amazon Linux

Zabbx LLCからはAmazon Linux向けのリポジトリは公開されていません。
今回は、私が管理しているServerworksのリポジトリを利用します。
※公式リリースではないので、ご利用は自己責任でお願いいたします。
永続的な提供をお約束する物ではありません。
リリース時の最新のAmazon Linuxを用いてコンパイルを行っています。環境が合わない場合は、SRPMも公開しておりますので、ご自身でコンパイルを行って下さい。

Zabbix 3.0

リポジトリファイルを作成して、次の内容を記載して下さい。

$ sudo vi /etc/yum.repos.d/serverworks.repo

ファイルの内容は以下の通りです。

[serverworks-zabbix]
name=Serverworks-Zabbix
baseurl=https://s3-ap-northeast-1.amazonaws.com/serverworks-yum-repos/zabbix/3.0/\$basearch
gpgcheck=0

Zabbix 3.2

リポジトリファイルを作成して、次の内容を記載して下さい。

$ sudo vi /etc/yum.repos.d/serverworks.repo

ファイルの内容は以下の通りです。

[serverworks-zabbix]
name=Serverworks-Zabbix
baseurl=https://s3-ap-northeast-1.amazonaws.com/serverworks-yum-repos/zabbix/3.2/\$basearch
gpgcheck=0

Debian

Debian 7とDebian 8が対応しています。

Zabbix 3.0

次のコマンドでZabbix 3.0 のリポジトリが登録されます

# wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-1+<codename>_all.deb
# dpkg -i zabbix-release_3.0-1+<codename>_all.deb
# apt-get update

Zabbix 3.2

Zabbix 3.2の場合は次のコマンドになります。

# wget http://repo.zabbix.com/zabbix/3.2/debian/pool/main/z/zabbix-release/zabbix-release_3.2-1+<codename>_all.deb
# dpkg -i zabbix-release_3.2-1+<codename>_all.deb
# apt-get update

Ubuntu

Ubuntu 14.04 LTS (codename: trusty)とUbuntu 16.04 LTS (codeame: xenial)が利用可能です。

Zabbix 3.0

次のコマンドでZabbix 3.0 のリポジトリが登録されます

# wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+<codename>_all.deb
# dpkg -i zabbix-release_3.0-1+<codename>_all.deb
# apt-get update

Zabbix 3.2

Zabbix 3.2の場合は次のコマンドになります。

# wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+<codename>_all.deb
# dpkg -i zabbix-release_3.2-1+<codename>_all.deb
# apt-get update

パッケージインストールから起動まで

実際にパッケージをインストールしていきます。
Zabbix 3.0/3.2で違いはありません。リポジトリ登録の手順で選択したバージョンによって入るバージョンが変わります。
ZabbixはデータベースとしてMySQL/PostgreSQL/Oracle/DB2が利用可能ですが、パッケージとしてはMySQL/PostgreSQL用が提供されています。
Oracle/DB2を利用したい方は、ご自身でコンパイルを行う必要があります。

CentOS / RHEL 

DBにMySQLを利用する場合

始めに必要なパッケージをインストールします。
環境により依存パッケージを求められる場合は、合わせてインストールしてください

# yum install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-agent zabbix-get zabbix-sender

データベースを作成します。

shell> mysql -uroot -p<your root password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘<new password for zabbix user on zabbix database>’;
mysql> quit;

初期データを作成したDBに投入します。
Zabbix 2.0/2.2 のころは、初期データが複数のファイルに分かれてましたが、3.0/3.2からは1つのファイルに統合されました。
zabbix-server-mysql-3.X.Y の部分はインストールしているバージョンにあわせて読み替えてください。

# zcat /usr/share/doc/zabbix-server-mysql-3.X.Y/create.sql.gz | mysql -u zabbix -p zabbix

コンフィグファイルを設定します。
php_value date.timezoneのコメントを外し、タイムゾーンを書き換えます

# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

#vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Tokyo

プロセスを起動します。

# systemctl start zabbix-server
# systemctl start httpd

DBにPostgreSQLを利用する場合

始めに必要なパッケージをインストールします。
環境により依存パッケージを求められる場合は、合わせてインストールしてください

# yum install zabbix-server-pgsql zabbix-web-pgsql zabbix-web-japanese zabbix-agent zabbix-get zabbix-sender

データベースを作成します。

shell> psql -U <username>
psql> create database zabbix;
psql> \q

初期データを作成したDBに投入します。
Zabbix 2.0/2.2 のころは、初期データが複数のファイルに分かれてましたが、3.0/3.2からは1つのファイルに統合されました。
zabbix-server-pgsql-3.X.Y の部分はインストールしているバージョンにあわせて読み替えてください。

# zcat /usr/share/doc/zabbix-server-pgsql-3.X.Y/create.sql.gz | psql -U <username> zabbix

コンフィグファイルを設定します。
php_value date.timezoneのコメントを外し、タイムゾーンを書き換えます

# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

#vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Tokyo

プロセスを起動します。

# systemctl start zabbix-server
# systemctl start httpd

Amazon Linux

DBにMySQLを利用する場合

始めに必要なパッケージをインストールします。
環境により依存パッケージを求められる場合は、合わせてインストールしてください

$ sudo yum install –enablerepo=epel iksemel iksemel-devel
$ sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-java-gateway zabbix-agent zabbix-get zabbix-sender httpd24 mysql56

データベースを作成します。

shell> mysql -uroot -p<your root password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘<new password for zabbix user on zabbix database>’;
mysql> quit;

初期データを作成したDBに投入します。
Zabbix 2.0/2.2 のころは、初期データが複数のファイルに分かれてましたが、3.0/3.2からは1つのファイルに統合されました。
zabbix-server-mysql-3.X.Y の部分はインストールしているバージョンにあわせて読み替えてください。

$sudo zcat /usr/share/doc/zabbix-server-mysql-3.X.Y/create.sql.gz | mysql -u zabbix -p zabbix

コンフィグファイルを設定します。
php_value date.timezoneのコメントを外し、タイムゾーンを書き換えます

$sudo vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

$sudo vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Tokyo

プロセスを起動します。

$sudo chkconfig zabbix-server on
$sudo chkconfig zabbix-agent on
$sudo chkconfig zabbix-java-gateway on
$sudo chkconfig httpd on

$sudo service zabbix-java-gateway start
$sudo service zabbix-agent start
$sudo service zabbix-server start
$sudo service httpd start

DBにPostgreSQLを利用する場合

始めに必要なパッケージをインストールします。
環境により依存パッケージを求められる場合は、合わせてインストールしてください

$ sudo yum install –enablerepo=epel iksemel iksemel-devel
$ sudo yum install zabbix-server-pgsql zabbix-web-pgsql zabbix-web-japanese zabbix-java-gateway zabbix-agent zabbix-get zabbix-sender httpd24

データベースを作成します。

shell> psql -U <username>
psql> create database zabbix;
psql> \q

初期データを作成したDBに投入します。
Zabbix 2.0/2.2 のころは、初期データが複数のファイルに分かれてましたが、3.0/3.2からは1つのファイルに統合されました。
zabbix-server-pgsql-3.X.Y の部分はインストールしているバージョンにあわせて読み替えてください。

$sudo zcat /usr/share/doc/zabbix-server-pgsql-3.X.Y/create.sql.gz | psql -U <username> zabbix

コンフィグファイルを設定します。
php_value date.timezoneのコメントを外し、タイムゾーンを書き換えます

$sudo vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

$sudo vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Tokyo

プロセスを起動します。

$sudo chkconfig zabbix-server on
$sudo chkconfig zabbix-agent on
$sudo chkconfig zabbix-java-gateway on
$sudo chkconfig httpd on

$sudo service zabbix-java-gateway start
$sudo service zabbix-agent start
$sudo service zabbix-server start
$sudo service httpd start

Debian / Ubuntu

DBにMySQLを利用する場合

始めに必要なパッケージをインストールします。
環境により依存パッケージを求められる場合は、合わせてインストールしてください

# apt-get install fonts-vlgothic
# apt-get install zabbix-server-mysql zabbix-frontend-php

データベースを作成します。

shell> mysql -uroot -p<your root password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘<new password for zabbix user on zabbix database>’;
mysql> quit;

初期データを作成したDBに投入します。

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u zabbix -p zabbix

コンフィグファイルを設定します。
php_value date.timezoneのコメントを外し、タイムゾーンを書き換えます

$sudo vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

#vi /etc/apache2/conf-enabled/zabbix.conf
php_value date.timezone Asia/Tokyo

プロセスを起動します。

# service zabbix-server start
# service apache2 restart

DBにPostgreSQLを利用する場合

始めに必要なパッケージをインストールします。
環境により依存パッケージを求められる場合は、合わせてインストールしてください

# apt-get install fonts-vlgothic
# apt-get install zabbix-server-pgsql zabbix-frontend-php

データベースを作成します。

shell> psql -U <username>
psql> create database zabbix;
psql> \q

初期データを作成したDBに投入します。

# zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | psql -U <username> zabbix

コンフィグファイルを設定します。
php_value date.timezoneのコメントを外し、タイムゾーンを書き換えます

$sudo vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

#vi /etc/apache2/conf-enabled/zabbix.conf
php_value date.timezone Asia/Tokyo

プロセスを起動します。

# service zabbix-server start
# service apache2 restart

フロントエンドの初期設定

フロントエンドの初期設定を行います。
ここからは、OSやパッケージには依存しません。

http://<ipアドレス|FQDN>/zabbix に接続します。
ApacheやNgnix等の設定によってはhttps://の場合もあります。

  1. Welcomeページが表示されます。[Next step]を押します。2016-12-09_14h43_42
  2. 必須環境のバージョンチェックが行われます。問題が無ければ[Next step]を押します。
    問題がある場合は、依存パッケージのパラメータやバージョンを修正します。2016-12-09_14h45_58
  3. DBへの接続情報を入力し、[Next step]を押します。
    DBの種類はパッケージの段階で選択されているので確認だけです。2016-12-09_14h46_23
  4. Zabbix-Serverプロセスへの接続情報と画面表示上の識別名を入力し、[Next step]を押します。2016-12-09_14h46_58
  5. 設定の確認画面が表示されます。問題が無ければ[Next step]を押します。2016-12-09_14h47_13
  6. 設定ファイルのパスが表示されます。[Finish]を押します。2016-12-09_14h47_25
  7. ログイン画面が表示されます。
    Username[Admin],Password[zabbix]でログインします。
    ※ログイン後、パスワードを変更することを推奨します。2016-12-09_14h47_40
  8. ログイン後の画面が表示されれば、Zabbixのインストールは完了です。2016-12-09_14h48_01

まとめ

今回は、Zabbix 3.0/3.2 のインストール手順をご紹介しました。
CentOS 7 / RHEL 7 /Oracle Linux 7, Amazon Linux, Debian 7/8 ,Ubuntu 14.04 LTS / Ubuntu 16.04 LTS であればリポジトリを利用することで、簡単にZabbixを構築することが出来ます。

来週はZabbixServerのチューニングについてお送りします。
それでは、次回もお楽しみに!!

AWS運用自動化サービス「Cloud Automator」