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+_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+_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+_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+_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://
ApacheやNgnix等の設定によってはhttps://の場合もあります。
- Welcomeページが表示されます。[Next step]を押します。
- 必須環境のバージョンチェックが行われます。問題が無ければ[Next step]を押します。
問題がある場合は、依存パッケージのパラメータやバージョンを修正します。 - DBへの接続情報を入力し、[Next step]を押します。
DBの種類はパッケージの段階で選択されているので確認だけです。 - Zabbix-Serverプロセスへの接続情報と画面表示上の識別名を入力し、[Next step]を押します。
- 設定の確認画面が表示されます。問題が無ければ[Next step]を押します。
- 設定ファイルのパスが表示されます。[Finish]を押します。
- ログイン画面が表示されます。
Username[Admin],Password[zabbix]でログインします。
※ログイン後、パスワードを変更することを推奨します。 - ログイン後の画面が表示されれば、Zabbixのインストールは完了です。
まとめ
今回は、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のチューニングについてお送りします。
それでは、次回もお楽しみに!!