Locked

CentOS_TIPS_016

Zabbix3.0構築メモ

Zabbix3.0がリリースされましたのでCentOS6上で構築してみました。
なお、公式にはCentOS6はZabbix3系のターゲットOSではありません。
商用環境で使用する場合は、保守サポートを受けた方が良いでしょう。

  • 公式サイトURL

http://www.zabbix.com/jp/rn3.0.2

  • 参考URL

https://www.zabbix.com/documentation/3.0/manual/installation/install_from_packages#red_hat_enterprise_linuxcentos

http://kodai74.blogspot.jp/2016/02/zabbix-30.html

http://qiita.com/atanaka7/items/389f796b221cc0609379

バージョン情報

ここでは、以下のバージョンについて記載しています。

$ cat /etc/redhat-release
CentOS release 6.7 (Final)

CentOS6標準のphpはバージョン5.3系なので、要件を満たすため5.4系のパッケージをインストールしておきます。

$ scl -l
php54

$ scl enable php54 bash

$ php -v
PHP 5.4.16 (cli) (built: Nov 19 2014 08:05:17)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

Zabbixインストール

RHEL7用のsrc.rpmパッケージを取得し、CentOS6上でビルドします。

ビルドに必要なパッケージの中には標準に無いもの(以下、例としてiksemel-devel)もあります。
適宜インストールしておきます。

# yum --enablerepo=epel install iksemel-devel
  • ソースダウンロード

http://repo.zabbix.com/zabbix/3.0/rhel/7/SRPMS/zabbix-3.0.1-1.el7.src.rpm

パッケージを取得/展開し、ビルド用のディレクトリ下に配置します。

$ wget http://repo.zabbix.com/zabbix/3.0/rhel/7/SRPMS/zabbix-3.0.1-1.el7.src.rpm
$ mkdir temp
$ cd temp
$ rpm2cpio ../zabbix-3.0.1-1.el7.src.rpm | cpio -id

$ ls
config.patch                  zabbix-proxy.init
fonts-config.patch            zabbix-proxy.service
fping3-sourceip-option.patch  zabbix-server.init
zabbix-3.0.1.tar.gz           zabbix-server.service
zabbix-agent.init             zabbix-tmpfiles.conf
zabbix-agent.service          zabbix-web22.conf
zabbix-java-gateway.init      zabbix-web24.conf
zabbix-java-gateway.service   zabbix.spec
zabbix-logrotate.in           zabbix_java_gateway-sysd

$ mv zabbix.spec {RPMBUILD_TOPDIR}/SPECS/
$ mv *.patch {RPMBUILD_TOPDIR}/SOURCES/
$ mv zabbix* {RPMBUILD_TOPDIR}/SOURCES/

SPECファイルを、CentOS6でサーバのビルド可/php54に依存するよう修正、パッケージを作成します。
自前パッケージ管理/作成についてはこちらの記事をどうぞ。

以下はSPECファイル修正例です。

--- zabbix.spec.org
+++ zabbix.spec
@@ -25,7 +25,7 @@

 Buildroot:     %{_tmppath}/zabbix-%{version}-%{release}-root-%(%{__id_u} -n)

-%if 0%{?rhel} >=7
+%if 0%{?rhel} >=6
 %define build_server 1
 %endif

@@ -228,12 +228,12 @@
 Group:                         Application/Internet
 BuildArch:                     noarch
 Requires:                      httpd
-Requires:                      php >= 5.4
-Requires:                      php-gd
-Requires:                      php-bcmath
-Requires:                      php-mbstring
-Requires:                      php-xml
-Requires:                      php-ldap
+Requires:                      php54
+Requires:                      php54-php-gd
+Requires:                      php54-php-bcmath
+Requires:                      php54-php-mbstring
+Requires:                      php54-php-xml
+Requires:                      php54-php-ldap
 Requires:                      dejavu-sans-fonts
 Requires:                      zabbix-web-database = %{version}-%{release}
 Requires(post):                %{_sbindir}/update-alternatives
@@ -246,7 +246,7 @@
 Summary:                       Zabbix web frontend for MySQL
 Group:                         Applications/Internet
 BuildArch:                     noarch
-Requires:                      php-mysql
+Requires:                      php54-php-mysqlnd
 Requires:                      zabbix-web = %{version}-%{release}
 Provides:                      zabbix-web-database = %{version}-%{release}

@@ -257,7 +257,7 @@
 Summary:                       Zabbix web frontend for PostgreSQL
 Group:                         Applications/Internet
 BuildArch:                     noarch
-Requires:                      php-pgsql
+Requires:                      php54-php-pgsql
 Requires:                      zabbix-web = %{version}-%{release}
 Provides:                      zabbix-web-database = %{version}-%{release}

@@ -507,40 +507,6 @@
 install -Dm 0644 -p %{SOURCE15} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/zabbix-java-gateway.conf
 %endif

-%if 0%{?build_server}
-# copy sql files for servers
-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-server-mysql-%{version}
-install -dm 755 $docdir
-cat database/mysql/schema.sql > $docdir/create.sql
-cat database/mysql/images.sql >> $docdir/create.sql
-cat database/mysql/data.sql >> $docdir/create.sql
-gzip $docdir/create.sql
-
-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-server-pgsql-%{version}
-install -dm 755 $docdir
-cat database/postgresql/schema.sql > $docdir/create.sql
-cat database/postgresql/images.sql >> $docdir/create.sql
-cat database/postgresql/data.sql >> $docdir/create.sql
-gzip $docdir/create.sql
-%endif
-
-# copy sql files for proxyes
-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-proxy-mysql-%{version}
-install -dm 755 $docdir
-cp database/mysql/schema.sql $docdir/schema.sql
-gzip $docdir/schema.sql
-
-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-proxy-pgsql-%{version}
-install -dm 755 $docdir
-cp database/postgresql/schema.sql $docdir/schema.sql
-gzip $docdir/schema.sql
-
-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-proxy-sqlite3-%{version}
-install -dm 755 $docdir
-cp database/sqlite3/schema.sql $docdir/schema.sql
-gzip $docdir/schema.sql
-
-
 %clean
 rm -rf $RPM_BUILD_ROOT

@@ -876,7 +842,7 @@

 %files proxy-mysql
 %defattr(-,root,root,-)
-%doc AUTHORS ChangeLog COPYING NEWS README
+%doc AUTHORS ChangeLog COPYING NEWS README database/mysql/schema.sql
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_proxy.conf
 %dir /usr/lib/zabbix/externalscripts
 %config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-proxy
@@ -893,7 +859,7 @@

 %files proxy-pgsql
 %defattr(-,root,root,-)
-%doc AUTHORS ChangeLog COPYING NEWS README
+%doc AUTHORS ChangeLog COPYING NEWS README database/postgresql/schema.sql
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_proxy.conf
 %dir /usr/lib/zabbix/externalscripts
 %config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-proxy
@@ -910,7 +876,7 @@

 %files proxy-sqlite3
 %defattr(-,root,root,-)
-%doc AUTHORS ChangeLog COPYING NEWS README
+%doc AUTHORS ChangeLog COPYING NEWS README database/sqlite3/schema.sql
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_proxy.conf
 %dir /usr/lib/zabbix/externalscripts
 %config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-proxy
@@ -945,7 +911,7 @@
 %if 0%{?build_server}
 %files server-mysql
 %defattr(-,root,root,-)
-%doc AUTHORS ChangeLog COPYING NEWS README
+%doc AUTHORS ChangeLog COPYING NEWS README database/mysql/schema.sql database/mysql/images.sql database/mysql/data.sql
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_server.conf
 %dir /usr/lib/zabbix/alertscripts
 %dir /usr/lib/zabbix/externalscripts
@@ -963,7 +929,7 @@

 %files server-pgsql
 %defattr(-,root,root,-)
-%doc AUTHORS ChangeLog COPYING NEWS README
+%doc AUTHORS ChangeLog COPYING NEWS README database/postgresql/schema.sql database/postgresql/images.sql database/postgresql/data.sql
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_server.conf
 %dir /usr/lib/zabbix/alertscripts
 %dir /usr/lib/zabbix/externalscripts

作成したパッケージをインストール。

# yum install zabbix-agent zabbix-server-mysql zabbix-web-mysql
...
依存性を解決しました

================================================================================
 パッケージ               アーキテクチャ
                                      バージョン                リポジトリー
                                                                           容量
================================================================================
インストールしています:
 zabbix-agent             x86_64      3.0.1-1.CentOS6_7         private   316 k
 zabbix-server-mysql      x86_64      3.0.1-1.CentOS6_7         private   635 k
 zabbix-web-mysql         noarch      3.0.1-1.CentOS6_7         private   4.0 k
依存性関連でのインストールをします。:
 dejavu-sans-fonts        noarch      2.33-1.el6                base      2.2 M
 zabbix-web               noarch      3.0.1-1.CentOS6_7         private   4.6 M

トランザクションの要約
================================================================================
インストール         5 パッケージ

総ダウンロード容量: 7.7 M
インストール済み容量: 37 M
これでいいですか? [y/N]

zabbix3.0.2も同様にパッケージ作成/インストールできることを確認しました。

  • ソースダウンロード

http://repo.zabbix.com/zabbix/3.0/rhel/7/SRPMS/zabbix-3.0.2-1.el7.src.rpm

SPECファイルの修正を行わずともCentOS6用サーバ/ウェブパッケージが作成できるようになっています。
(SQLファイル等、当記事との差がありますので、その辺りは適宜読み替えていただきたく。)

ただ、依存関係を取っ払っただけ(PHP5.3のままで動作するかは別問題)のようなので、インストール先の環境は別途要チェックかと思われます。
httpdも依存関係から切り離された関係で、設定ファイルが配置されなくなる等の変更があり、個別に対応が必要になります。

--- zabbix.spec.3.0.1
+++ zabbix.spec.3.0.2
@@ -1,5 +1,5 @@
 Name:          zabbix
-Version:       3.0.1
+Version:       3.0.2
 Release:       1%{?alphatag:.%{alphatag}}%{?dist}
 Summary:       The Enterprise-class open source monitoring solution
 Group:         Applications/Internet
@@ -25,7 +25,7 @@

 Buildroot:     %{_tmppath}/zabbix-%{version}-%{release}-root-%(%{__id_u} -n)

-%if 0%{?rhel} >=7
+%if 0%{?rhel} >=6
 %define build_server 1
 %endif

@@ -227,6 +227,7 @@
 Summary:                       Zabbix web frontend common package
 Group:                         Application/Internet
 BuildArch:                     noarch
+%if 0%{?rhel} >= 7
 Requires:                      httpd
 Requires:                      php >= 5.4
 Requires:                      php-gd
@@ -234,6 +235,7 @@
 Requires:                      php-mbstring
 Requires:                      php-xml
 Requires:                      php-ldap
+%endif
 Requires:                      dejavu-sans-fonts
 Requires:                      zabbix-web-database = %{version}-%{release}
 Requires(post):                %{_sbindir}/update-alternatives
@@ -246,7 +248,9 @@
...(以下略)...

# yum update zabbix-agent zabbix-server-mysql zabbix-web-mysql
...
依存性を解決しました

================================================================================
 パッケージ               アーキテクチャ
                                      バージョン                リポジトリー
                                                                           容量
================================================================================
更新:
 zabbix-agent             x86_64      3.0.2-1.CentOS6_7         private   318 k
 zabbix-server-mysql      x86_64      3.0.2-1.CentOS6_7         private   1.7 M
 zabbix-web-mysql         noarch      3.0.2-1.CentOS6_7         private   4.0 k
依存性関連での更新をします。:
 zabbix-web               noarch      3.0.2-1.CentOS6_7         private   4.8 M

トランザクションの要約
================================================================================
アップグレード       4 パッケージ

総ダウンロード容量: 6.8 M
これでいいですか? [y/N]

zabbix3.0.3がリリースされました。パッケージングに大きな変更は無いようです。

  • ソースダウンロード

http://repo.zabbix.com/zabbix/3.0/rhel/7/SRPMS/zabbix-3.0.3-1.el7.src.rpm

--- zabbix.spec.3.0.2
+++ zabbix.spec.3.0.3
@@ -1,5 +1,5 @@
 Name:          zabbix
-Version:       3.0.2
+Version:       3.0.3
 Release:       1%{?alphatag:.%{alphatag}}%{?dist}
 Summary:       The Enterprise-class open source monitoring solution
 Group:         Applications/Internet
@@ -1000,6 +1000,10 @@


 %changelog
+* Sun May 22 2016 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.3-1
+- update to 3.0.3
+- fix java gateway systemd script to use java options
+
 * Wed Apr 20 2016 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.2-1
 - update to 3.0.2
 - remove ZBX-10459.patch

# yum update zabbix-agent zabbix-server-mysql zabbix-web-mysql
...
依存性を解決しました

================================================================================
 パッケージ               アーキテクチャ
                                      バージョン                リポジトリー
                                                                           容量
================================================================================
更新:
 zabbix-agent             x86_64      3.0.3-1.CentOS6_8         private   319 k
 zabbix-server-mysql      x86_64      3.0.3-1.CentOS6_8         private   1.7 M
 zabbix-web-mysql         noarch      3.0.3-1.CentOS6_8         private   4.0 k
依存性関連での更新をします。:
 zabbix-web               noarch      3.0.3-1.CentOS6_8         private   4.8 M

トランザクションの要約
================================================================================
アップグレード       4 パッケージ

総ダウンロード容量: 6.8 M
これでいいですか? [y/N]

zabbix3.0.4がリリースされました。パッケージングに大きな変更は無いようです。

  • ソースダウンロード

http://repo.zabbix.com/zabbix/3.0/rhel/7/SRPMS/zabbix-3.0.4-1.el7.src.rpm

--- zabbix.spec.3.0.3
+++ zabbix.spec.3.0.4
@@ -1,5 +1,5 @@
 Name:          zabbix
-Version:       3.0.3
+Version:       3.0.4
 Release:       1%{?alphatag:.%{alphatag}}%{?dist}
 Summary:       The Enterprise-class open source monitoring solution
 Group:         Applications/Internet
@@ -1000,6 +1000,9 @@


 %changelog
+* Sun Jul 24 2016 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.4-1
+- update to 3.0.4
+
 * Sun May 22 2016 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.3-1
 - update to 3.0.3
 - fix java gateway systemd script to use java options

# yum update
...
================================================================================
 パッケージ               アーキテクチャ
                                      バージョン                リポジトリー
                                                                           容量
================================================================================
更新:
 zabbix-agent             x86_64      3.0.4-1.CentOS6_8         private   320 k
 zabbix-get               x86_64      3.0.4-1.CentOS6_8         private   224 k
 zabbix-server-mysql      x86_64      3.0.4-1.CentOS6_8         private   1.7 M
 zabbix-web               noarch      3.0.4-1.CentOS6_8         private   4.8 M
 zabbix-web-mysql         noarch      3.0.4-1.CentOS6_8         private   4.0 k

トランザクションの要約
================================================================================
アップグレード       5 パッケージ

総ダウンロード容量: 7.0 M

zabbix3.0.5がリリースされました。
zabbix-java-gateway.serviceの内容に変更があったようです。

  • ソースダウンロード

http://repo.zabbix.com/zabbix/3.0/rhel/7/SRPMS/zabbix-3.0.5-1.el7.src.rpm

--- zabbix.spec.3.0.4
+++ zabbix.spec.3.0.5
@@ -1,5 +1,5 @@
 Name:          zabbix
-Version:       3.0.4
+Version:       3.0.5
 Release:       1%{?alphatag:.%{alphatag}}%{?dist}
 Summary:       The Enterprise-class open source monitoring solution
 Group:         Applications/Internet
@@ -1000,6 +1000,11 @@


 %changelog
+* Sun Oct 02 2016 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.5-1
+- update to 3.0.5
+- use zabbix user and group for Java Gateway
+- add SuccessExitStatus=143 for Java Gateway servie file
+
 * Sun Jul 24 2016 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.4-1
 - update to 3.0.4

# yum update
...
================================================================================
 パッケージ               アーキテクチャ
                                      バージョン                リポジトリー
                                                                           容量
================================================================================
更新:
 zabbix-agent             x86_64      3.0.5-1.CentOS6_8         private   322 k
 zabbix-get               x86_64      3.0.5-1.CentOS6_8         private   226 k
 zabbix-server-mysql      x86_64      3.0.5-1.CentOS6_8         private   1.7 M
 zabbix-web               noarch      3.0.5-1.CentOS6_8         private   4.8 M
 zabbix-web-mysql         noarch      3.0.5-1.CentOS6_8         private   4.0 k

トランザクションの要約
================================================================================
アップグレード       5 パッケージ

総ダウンロード容量: 7.0 M

2016.12に、zabbix3.0.6/3.0.7がリリースされました。何れもパッケージングに大きな変更は無いようです。

  • ソースダウンロード

http://repo.zabbix.com/zabbix/3.0/rhel/7/SRPMS/zabbix-3.0.6-1.el7.src.rpm

http://repo.zabbix.com/zabbix/3.0/rhel/7/SRPMS/zabbix-3.0.7-1.el7.src.rpm

--- zabbix.spec.3.0.5
+++ zabbix.spec.3.0.6
@@ -1,5 +1,5 @@
 Name:          zabbix
-Version:       3.0.5
+Version:       3.0.6
 Release:       1%{?alphatag:.%{alphatag}}%{?dist}
 Summary:       The Enterprise-class open source monitoring solution
 Group:         Applications/Internet
@@ -1000,6 +1000,9 @@


 %changelog
+* Thu Dec 08 2016 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.6-1
+- update to 3.0.6
+
 * Sun Oct 02 2016 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.5-1
 - update to 3.0.5
 - use zabbix user and group for Java Gateway

# yum update
...
================================================================================
 パッケージ               アーキテクチャ
                                      バージョン                リポジトリー
                                                                           容量
================================================================================
更新:
 zabbix-agent             x86_64      3.0.6-1.CentOS6_8         private   325 k
 zabbix-get               x86_64      3.0.6-1.CentOS6_8         private   227 k
 zabbix-server-mysql      x86_64      3.0.6-1.CentOS6_8         private   1.7 M
 zabbix-web               noarch      3.0.6-1.CentOS6_8         private   4.8 M
 zabbix-web-mysql         noarch      3.0.6-1.CentOS6_8         private   4.0 k

トランザクションの要約
================================================================================
アップグレード       5 パッケージ

総ダウンロード容量: 7.0 M

--- zabbix.spec.3.0.6
+++ zabbix.spec.3.0.7
@@ -1,5 +1,5 @@
 Name:          zabbix
-Version:       3.0.6
+Version:       3.0.7
 Release:       1%{?alphatag:.%{alphatag}}%{?dist}
 Summary:       The Enterprise-class open source monitoring solution
 Group:         Applications/Internet
@@ -1000,6 +1000,9 @@


 %changelog
+* Wed Dec 21 2016 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.7-1
+- update to 3.0.7
+
 * Thu Dec 08 2016 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.6-1
 - update to 3.0.6

# yum update
...
================================================================================
 パッケージ               アーキテクチャ
                                      バージョン                リポジトリー
                                                                           容量
================================================================================
更新:
 zabbix-agent             x86_64      3.0.7-1.CentOS6_8         private   325 k
 zabbix-get               x86_64      3.0.7-1.CentOS6_8         private   228 k
 zabbix-server-mysql      x86_64      3.0.7-1.CentOS6_8         private   1.7 M
 zabbix-web               noarch      3.0.7-1.CentOS6_8         private   4.8 M
 zabbix-web-mysql         noarch      3.0.7-1.CentOS6_8         private   4.0 k

トランザクションの要約
================================================================================
アップグレード       5 パッケージ

総ダウンロード容量: 7.0 M

zabbix3.0.8がリリースされました。
パッケージングされているファイルでは、zabbix-proxy.service/zabbix-server.service辺りに修正が入っているようです。

  • ソースダウンロード

http://repo.zabbix.com/zabbix/3.0/rhel/7/SRPMS/zabbix-3.0.8-1.el7.src.rpm

--- zabbix.spec.3.0.7
+++ zabbix.spec.3.0.8
@@ -1,5 +1,5 @@
 Name:          zabbix
-Version:       3.0.7
+Version:       3.0.8
 Release:       1%{?alphatag:.%{alphatag}}%{?dist}
 Summary:       The Enterprise-class open source monitoring solution
 Group:         Applications/Internet
@@ -1000,6 +1000,10 @@


 %changelog
+* Mon Feb 27 2017 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.8-1
+- update to 3.0.8
+- add TimeoutSec for systemd service file
+
 * Wed Dec 21 2016 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.7-1
 - update to 3.0.7

# yum update
...
================================================================================
 パッケージ               アーキテクチャ
                                      バージョン                リポジトリー
                                                                           容量
================================================================================
更新:
 zabbix-agent             x86_64      3.0.8-1.CentOS6_8         private   326 k
 zabbix-get               x86_64      3.0.8-1.CentOS6_8         private   229 k
 zabbix-server-mysql      x86_64      3.0.8-1.CentOS6_8         private   1.7 M
 zabbix-web               noarch      3.0.8-1.CentOS6_8         private   4.8 M
 zabbix-web-mysql         noarch      3.0.8-1.CentOS6_8         private   4.0 k

トランザクションの要約
================================================================================
アップグレード       5 パッケージ

総ダウンロード容量: 7.1 M

zabbix3.0.9がリリースされました。
パッケージングされているファイルでは、systemd起動スクリプト関連で3.0.8による修正が再修正されたようです。

  • ソースダウンロード

http://repo.zabbix.com/zabbix/3.0/rhel/7/SRPMS/zabbix-3.0.9-1.el7.src.rpm

@@ -1,5 +1,5 @@
 Name:          zabbix
-Version:       3.0.8
+Version:       3.0.9
 Release:       1%{?alphatag:.%{alphatag}}%{?dist}
 Summary:       The Enterprise-class open source monitoring solution
 Group:         Applications/Internet
@@ -1000,6 +1000,13 @@


 %changelog
+* Sun Apr 23 2017 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.9-1
+- update to 3.0.9
+- add TimtoutSec=0 to systemd service file
+
+* Thu Mar 02 2017 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.8-2
+- remove TimeoutSec for systemd
+
 * Mon Feb 27 2017 Kodai Terashima <kodai.terashima@zabbix.com> - 3.0.8-1
 - update to 3.0.8
 - add TimeoutSec for systemd service file

# yum update
...
================================================================================
 パッケージ               アーキテクチャ
                                      バージョン                リポジトリー
                                                                           容量
================================================================================
更新:
 zabbix-agent             x86_64      3.0.9-1.CentOS6_9         private   327 k
 zabbix-get               x86_64      3.0.9-1.CentOS6_9         private   230 k
 zabbix-server-mysql      x86_64      3.0.9-1.CentOS6_9         private   1.7 M
 zabbix-web               noarch      3.0.9-1.CentOS6_9         private   4.8 M
 zabbix-web-mysql         noarch      3.0.9-1.CentOS6_9         private   4.0 k

トランザクションの要約
================================================================================
アップグレード       5 パッケージ

総ダウンロード容量: 7.1 M

MySQL設定

MySQLは、OS標準のものを使用します。
設定はWordPress使用時と同じです。

$ more /etc/my.cnf
[mysqld]
...
character-set-server=utf8

[mysql]
default-character-set=utf8

$ mysql -u root -p
mysql> show variables like 'character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

Zabbix用のデータベース作成/スキーマ等の初期設定、サーバ設定を行います。

$ mysql -u root -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'PASSWORD';
mysql> flush privileges;
mysql> exit

$ mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-3.0.1/schema.sql
$ mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-3.0.1/images.sql
$ mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-3.0.1/data.sql

--- a/zabbix/zabbix_server.conf
+++ b/zabbix/zabbix_server.conf
@@ -79,6 +79,7 @@ PidFile=/var/run/zabbix/zabbix_server.pid
 # Mandatory: no
 # Default:
 # DBHost=localhost
+DBHost=localhost

 ### Option: DBName
 #      Database name.
@@ -113,6 +114,7 @@ DBUser=zabbix
 # Mandatory: no
 # Default:
 # DBPassword=
+DBPassword=PASSWORD

 ### Option: DBSocket
 #      Path to MySQL socket.

zabbixサーバの起動。

# chkconfig zabbix-server on
# service zabbix-server start

zabbix agentの起動。

# chkconfig zabbix-agent on
# service zabbix-agent start

Webインターフェース設定

標準ではhttp://example.jp/zabbix/としてアクセス可能なよう設定ファイルが配置されます。

$ head /etc/httpd/conf.d/zabbix.conf
#
# Zabbix monitoring system php web frontend
#

Alias /zabbix /usr/share/zabbix

<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny

3.0.2以降のSPECファイルでは、/etc/httpd/conf.d下にファイルがインストールされなくなりました。
コンフィグファイルはドキュメントとして配置されますので、それらをコピーする等の対応が必要となります。

■SPECファイルより抜粋
(...略...)
# drop config files in place
%if 0%{?rhel} >= 7
install -Dm 0644 -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/zabbix
.conf
%else
install -Dm 0644 -p %{SOURCE1} conf/httpd22-example.conf
install -Dm 0644 -p %{SOURCE2} conf/httpd24-example.conf
%endif
(...略...)
%if 0%{?rhel} >= 7
%config(noreplace) %{_sysconfdir}/httpd/conf.d/zabbix.conf
%else
%doc conf/httpd22-example.conf conf/httpd24-example.conf
%endif
%{_datadir}/zabbix
(...略...)

最初のアクセス時に初期設定が行われることと、デフォルトの管理者アカウント/パスワードが「Admin/zabbix」固定なので、アクセス制限等を行ったうえで適用した方が良いでしょう。

apacheへの適用。

# service httpd configtest && service httpd reload

http://example.jp/zabbix/としてアクセス可能なことを確認します。

最初のアクセス時、初期設定画面が表示されるので、適宜設定を行います。
設定完了/ログイン後、管理者アカウント/パスワードを変更します。

日本語フォント設定

標準でインストールされるフォントでは、グラフ等画像内の日本語が正しく出力されません。
alternativesによって切替可能になっていますので、適切なフォントを使用するよう設定します。

$ alternatives --display zabbix-web-font
zabbix-web-font -ステータスは自動です。
リンクは現在 /usr/share/fonts/dejavu/DejaVuSans.ttf を指しています。
/usr/share/fonts/dejavu/DejaVuSans.ttf - 優先項目 10
現在の「最適」バージョンは /usr/share/fonts/dejavu/DejaVuSans.ttf です。

例えば、以下のような日本語フォントが使えます。

# yum list ipa-pgothic-fonts vlgothic-p-fonts
...
インストール済みパッケージ
ipa-pgothic-fonts.noarch 003.02-4.1.el6 @anaconda-CentOS-201112091719.x86_64/6.2
vlgothic-p-fonts.noarch  20091202-2.el6 @anaconda-CentOS-201112091719.x86_64/6.2

フォントをipa-pgothicに切替。
優先順位は標準の「10」より大きい数字で任意の値を設定します。以下の例では「20」を指定。

# alternatives --install /usr/share/zabbix/fonts/graphfont.ttf zabbix-web-font /usr/share/fonts/ipa-pgothic/ipagp.ttf 20

$ alternatives --display zabbix-web-font
zabbix-web-font -ステータスは自動です。
リンクは現在 /usr/share/fonts/ipa-pgothic/ipagp.ttf を指しています。
/usr/share/fonts/dejavu/DejaVuSans.ttf - 優先項目 10
/usr/share/fonts/ipa-pgothic/ipagp.ttf - 優先項目 20
現在の「最適」バージョンは /usr/share/fonts/ipa-pgothic/ipagp.ttf です。

通信暗号化設定

Zabbix3.0より、コンポーネント間の通信を暗号化できるようになりました。
エージェントとの通信をPSK(Pre-Shared Key)による暗号化/設定します。

サーバ/エージェントともにTLSサポートされていることが要件となります。

# grep TLS /var/log/zabbix/zabbix_server.log
  2152:20160331:134556.079 TLS support:               YES

# grep TLS /var/log/zabbix/zabbix_agentd.log
  2314:20160331:134926.420 TLS support:           YES
  • サーバ側作業

共有鍵の生成は、サーバ側/エージェント側のどちらで行っても構わないのですが、ここではサーバ側で行うものとします。

psktoolを使用するためgnutls-utilsをインストールしておきます。

# yum install gnutls-utils

共有鍵の管理用ディレクトリとして/etc/zabbix/certを作成。

# cd /etc/zabbix
# mkdir cert
# chown root:zabbix cert
# chmod 0750 cert

共有鍵を生成。
「agent-name」は任意の文字列/後に「PSKアイデンティティ」としてzabbixサーバに設定します。

# cd cert
# touch password.psk
# chown root:zabbix password.psk
# chmod 0640 password.psk
# psktool -u {agent-name} -s 64 -p password.psk
Generating a random key for user '{agent-name}'
Key stored to password.psk

作成されるファイルを管理する必要はないのですが、複数台ホストのエントリを管理するような場合、2件目以降は重複しないようにした方がよいでしょう。

# grep -qv '^{agent-next}:' password.psk && psktool -u {agent-next} -s 64 -p password.psk

エージェント側に保存するPSKを確認/取得します。
保存されたデータは{アカウント名:共有鍵}の形式となっていますが、エージェント側のファイルに保存するのはコロン以降の「共有鍵」部分のみです。

# grep '^{agent-name}:' password.psk | cut -d: -f2
0123abcd...

ウェブインターフェースより「設定」→「ホスト」/該当のホストをクリック→「暗号化」と遷移し、ホストへの接続を「PSK」に変更/ホストからの接続の「PSK」にチェックを入れ、「PSKアイデンティティ」と「PSK」を設定/更新します。

  • エージェント側作業

エージェント側に共有鍵を作成します。

# cd /etc/zabbix
# mkdir cert
# chown root:zabbix cert
# chmod 0750 cert
# cd cert
# touch zabbix_agentd.psk
# chown root:zabbix zabbix_agentd.psk
# chmod 0640 zabbix_agentd.psk

PSKを書き込み/保存します。

--- /dev/null
+++ zabbix_agentd.psk
@@ -0,0 +1 @@
+0123abcd...

エージェントの設定ファイルを修正。

--- a/zabbix/zabbix_agentd.conf
+++ b/zabbix/zabbix_agentd.conf
@@ -392,3 +392,8 @@
 # Mandatory: no
 # Default:
 # TLSPSKFile=
+
+TLSConnect=psk
+TLSAccept=psk
+TLSPSKIdentity={agent-name}
+TLSPSKFile=/etc/zabbix/cert/zabbix_agentd.psk

エージェントを再起動。

# service zabbix-agent restart