Zabbix3.0構築メモ
Zabbix3.0がリリースされましたのでCentOS6上で構築してみました。
なお、公式にはCentOS6はZabbix3系のターゲットOSではありません。
商用環境で使用する場合は、保守サポートを受けた方が良いでしょう。
- 公式サイトURL
http://www.zabbix.com/jp/rn3.0.2
- 参考URL
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