まっさらなサーバにZabbix 5.0をインストールする手順について記載します。
なお、インストール時にインターネット接続可能なことが前提条件となります。
#基本的にはZabbix公式のインストール手順に従って作成します。
項目 | 内容 |
---|---|
OS | CentOS 7.9 |
Zabbix | 5.0 LTS |
Database | PostgreSQL 9.2 |
Apaceh | 7.2 |
1.selinux無効化
まずはselinuxを無効化します。
# setenforce 0
# getenforce
Permissive
# vi /etc/selinux/config
-----
SELINUX=enforcing
↓
SELINUX=disabled
-----
2.firewalld無効化
firewalldを無効化し、自動起動も無効化します。
# systemctl stop firewalld
# systemctl disable firewalld
3.Zabbixインストール
Zabbixのインストールを行います。
公式インストール手順に従い、repositoryを追加してZabbix Server,Zabbix Agentをインストールします。
なお公式手順に追加して、zabbix agentは1だけでなく2もinstallしています。
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
# yum install zabbix-server-pgsql zabbix-agent zabbix-agent2.x86_64
《中略》
=====================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=====================================================================================
インストール中:
zabbix-agent x86_64 5.0.14-1.el7 zabbix 460 k
zabbix-server-pgsql x86_64 5.0.14-1.el7 zabbix 3.1 M
zabbix-agent2 x86_64 5.0.14-1.el7 zabbix 5.6 M
《中略》
4.Zabbixフロントエンドインストール
続いて、フロントエンドのインストールを行います。
# yum-config-manager --enable rhel-server-rhscl-7-rpms
読み込んだプラグイン:fastestmirror
なお、以下エラーが出る場合は追加でyum-utulsをインストールします。
zabbix_install_error# yum-config-manager --enable rhel-server-rhscl-7-rpms -bash: yum-config-manager: コマンドが見つかりません
zabbix_install_error_respond# yum -y install yum-utils 《中略》 ================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================== インストール中: yum-utils noarch 1.1.31-54.el7_8 base 122 k 《中略》
その後、リポジトリファイルを編集します。
# vi /etc/yum.repos.d/zabbix.repo
-----
[zabbix-frontend]
...
enabled=1
...
-----
ここで、フロントファイルのインストール前に、centos-release-scl
をインストールします。
こちらは、フロントファイルの依存性パッケージとしてphp72
系が必要となりますが、centos標準リポジトリでは提供されていないため、CentOS Software Collectionsを利用できるようにしておきます。
# yum install centos-release-scl
《中略》
===================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
===================================================================================
インストール中:
centos-release-scl noarch 2-3.el7.centos extras 12 k
《中略》
そして、公式インストール手順に従って、インストールに移ります。
また、追加で以下もインストールしておきます。日本語表示用のパッケージになります。
zabbix-web-japanese.noarch
# yum install zabbix-web-pgsql-scl zabbix-apache-conf-scl zabbix-web-japanese.noarch
《中略》
===================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
===================================================================================
インストール中:
zabbix-apache-conf-scl noarch 5.0.14-1.el7 zabbix-frontend 15 k
zabbix-web-pgsql-scl noarch 5.0.14-1.el7 zabbix-frontend 14 k
zabbix-web-japanese noarch 5.0.14-1.el7 zabbix-frontend 14 k
《中略》
なお、上述のcentos-release-sclをインストールしない場合、フロントエンドのインストール時に以下エラーがでます。
frontfile_install_error# yum install zabbix-web-pgsql-scl zabbix-apache-conf-scl 《中略》 =================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 =================================================================================== インストール中: zabbix-apache-conf-scl noarch 5.0.14-1.el7 zabbix-frontend 15 k zabbix-web-pgsql-scl noarch 5.0.14-1.el7 zabbix-frontend 14 k 《中略》 エラー: パッケージ: zabbix-web-deps-scl-5.0.14-1.el7.noarch (zabbix-frontend) 要求: rh-php72 エラー: パッケージ: zabbix-web-deps-scl-5.0.14-1.el7.noarch (zabbix-frontend) 要求: rh-php72-php-xml エラー: パッケージ: zabbix-web-deps-scl-5.0.14-1.el7.noarch (zabbix-frontend) 要求: rh-php72-php-mbstring エラー: パッケージ: zabbix-web-pgsql-scl-5.0.14-1.el7.noarch (zabbix-frontend) 要求: rh-php72-php-pgsql エラー: パッケージ: zabbix-web-deps-scl-5.0.14-1.el7.noarch (zabbix-frontend) 要求: rh-php72-php-bcmath エラー: パッケージ: zabbix-web-deps-scl-5.0.14-1.el7.noarch (zabbix-frontend) 要求: rh-php72-php-fpm エラー: パッケージ: zabbix-web-deps-scl-5.0.14-1.el7.noarch (zabbix-frontend) 要求: rh-php72-php-gd エラー: パッケージ: zabbix-web-deps-scl-5.0.14-1.el7.noarch (zabbix-frontend) 要求: rh-php72-php-ldap 《中略》
5.databaseインストール
zabbixは監視設定および取得情報を保存するために、外部databaseを利用します。oracle等も利用できますが、一般的なものはmysqlやpostgresqlとなりますため、今回はpostgresqlを利用します。
なお、postgresqlのバージョンについてはCentOS標準リポジトリのバージョンである9.2を利用しています。ただし、このバージョン9.2は相当古いものとなりますため、必要に応じて新しいバージョンのpostgresqlを導入すること検討したほうがよいでしょう。
それではインストールを行います。
# yum install -y postgresql*
《中略》
======================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
======================================================================================
インストール中:
postgresql x86_64 9.2.24-7.el7_9 updates 3.0 M
postgresql-contrib x86_64 9.2.24-7.el7_9 updates 553 k
postgresql-devel x86_64 9.2.24-7.el7_9 updates 952 k
postgresql-docs x86_64 9.2.24-7.el7_9 updates 6.9 M
postgresql-jdbc noarch 9.2.1002-8.el7_8 updates 453 k
postgresql-jdbc-javadoc noarch 9.2.1002-8.el7_8 updates 88 k
postgresql-odbc x86_64 09.03.0100-2.el7 base 273 k
postgresql-plperl x86_64 9.2.24-7.el7_9 updates 84 k
postgresql-plpython x86_64 9.2.24-7.el7_9 updates 97 k
postgresql-pltcl x86_64 9.2.24-7.el7_9 updates 60 k
postgresql-server x86_64 9.2.24-7.el7_9 updates 3.8 M
postgresql-static x86_64 9.2.24-7.el7_9 updates 95 k
postgresql-test x86_64 9.2.24-7.el7_9 updates 1.8 M
postgresql-upgrade x86_64 9.2.24-7.el7_9 updates 2.3 M
《中略》
続いてinit処理とサービス起動を行います。
init処理のオプションを指定していないので、この場合はデータベース系ディレクトリが/var/lib/pgsql/data
配下に作成されます。容量等の関係でディレクトリを変更する必要がある場合はpostgresqlのマニュアルを参照してinit処理を実行してください。
# postgresql-setup initdb
Initializing database ... OK
# systemctl start postgresql
# systemctl enable postgresql
6.databaseセットアップ
databaseのセットアップとして、zabbixがdatabaseを利用する際のユーザとデータベースを作成します。
まずはユーザを作成します。
ユーザ名はzabbixです。--pwpronpt
オプションをつけているため、ユーザ作成時にパスワードも設定します。
# sudo -u postgres createuser --pwprompt zabbix
Enter password for new role:
Enter it again:
続いて、zabbix用データベースを作成します。データべース名およびデータベースオーナー名をzabbixとしてデータベース作成を行います。
# sudo -u postgres createdb -O zabbix zabbix
その次に、作成したzabbixユーザがdatabaseにアクセスできるよう、アクセス許可設定を行います。
アクセス許可設定ファイルの/var/lib/pgsql/data/pg_hba.conf
ファイルを設定変更します。
vi /var/lib/pgsql/data/pg_hba.conf
-----
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
↓
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
#local all all peer
local all all md5
# IPv4 local connections:
#host all all 127.0.0.1/32 ident
host all all 127.0.0.1/32 md5
-----
その後、postgresqlを再起動して設定を反映します。
#systemctl restart postgresql
または、以下のコマンドを実行してpostgrsqlの再起動なしに設定だけを反映します。
postgresql_reflectsudo -u postgres pg_ctl reload -D /var/lib/pgsql/data/
その後、以下コマンドを発行し、zabbix用のデータベース・テーブル等を作成します。
# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
8.zabbix serverコンフィグ設定
zabbix serverのコンフィグ設定を行います。
必要となるのはdatabaseのzabbixユーザ用パスワードの設定になります。
# vi /etc/zabbix/zabbix_server.conf
-----
DBPassword=password
-----
9.phpセットアップ
web GUIとして利用するphpの設定を行います。
コンフィグファイル内のtimezoneの設定を変更します。
# vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
-----
; php_value[date.timezone] = Europe/Riga
↓
php_value[date.timezone] = Asia/Tokyo
-----
10.サービス起動、自動起動設定
CUIとしては最後の作業として、以下のサービスの起動及び自動起動設定を行います。
・zabbix-server
・zabbix-agent
・httpd
・rh-php72-php-fpm
# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
11.Web GUIセットアップ
以後、webブラウザからセットアップを行います。
ブラウザを起動し、http://[IPアドレス]/zabbix/
にアクセスします。
続いて、要求条項を満たしているかを確認します。
続いて、DB接続設定を投入します。
以下についてはデフォルトから変更を行います。
項目 | 設定 | デフォルト |
---|---|---|
Database host | 127.0.0.1 | localhost |
Password | [設定したパスワード] | [空白] |
Database TLS encryption | □ | ☑ |
zabbix serverの設定となりますが、ここは特に入力不要となります。
インストールサマリを確認し、[Next step]を押下します。
インストールが完了しますので、[Finish]を押下します。
zabbix serverのログイン画面となります。初期ログイン情報は以下となります。
項目 | 設定 |
---|---|
Username | Admin |
Password | zabbix |
コンソール画面が開きました。
これにてインストールは完了となります。