5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Zabbix 5.0をインストールして監視サーバを構築する(CentOS7.9 + PostgreSQL + Apache)

Last updated at Posted at 2021-08-29

まっさらなサーバにZabbix 5.0をインストールする手順について記載します。
なお、インストール時にインターネット接続可能なことが前提条件となります。

#基本的にはZabbix公式のインストール手順に従って作成します。

項目 内容
OS CentOS 7.9
Zabbix 5.0 LTS
Database PostgreSQL 9.2
Apaceh 7.2

#1.selinux無効化
まずはselinuxを無効化します。

selinux無効化
# setenforce 0
# getenforce 
Permissive

# vi /etc/selinux/config

-----
SELINUX=enforcing
↓
SELINUX=disabled
-----

#2.firewalld無効化
firewalldを無効化し、自動起動も無効化します。

selinux無効化
# systemctl stop firewalld
# systemctl disable firewalld

#3.Zabbixインストール
Zabbixのインストールを行います。
公式インストール手順に従い、repositoryを追加してZabbix Server,Zabbix Agentをインストールします。
なお公式手順に追加して、zabbix agentは1だけでなく2もinstallしています。

zabbix_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フロントエンドインストール
続いて、フロントエンドのインストールを行います。

zabbix_install②
# 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: コマンドが見つかりません
>```

>
```text:zabbix_install_error_respond
# yum -y install yum-utils
《中略》
==================================================================================
 Package             アーキテクチャー   バージョン           リポジトリー    容量
==================================================================================
インストール中:
 yum-utils           noarch             1.1.31-54.el7_8      base           122 k
 《中略》

https://akamist.com/blog/archives/942

その後、リポジトリファイルを編集します。

repofile_edit
# vi /etc/yum.repos.d/zabbix.repo

-----
[zabbix-frontend]
...
enabled=1
...
-----

ここで、フロントファイルのインストール前に、centos-release-sclをインストールします。
こちらは、フロントファイルの依存性パッケージとしてphp72系が必要となりますが、centos標準リポジトリでは提供されていないため、CentOS Software Collectionsを利用できるようにしておきます。

scl_install
# yum install centos-release-scl
《中略》
===================================================================================
 Package              アーキテクチャー    バージョン         リポジトリー     容量
===================================================================================
インストール中:
 centos-release-scl   noarch              2-3.el7.centos     extras           12 k

《中略》

そして、公式インストール手順に従って、インストールに移ります。
また、追加で以下もインストールしておきます。日本語表示用のパッケージになります。
zabbix-web-japanese.noarch

frontfile_install
# 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を導入すること検討したほうがよいでしょう。

それではインストールを行います。

postgresql_install
# 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_init
# postgresql-setup initdb
Initializing database ... OK

# systemctl start postgresql
# systemctl enable postgresql

#6.databaseセットアップ
databaseのセットアップとして、zabbixがdatabaseを利用する際のユーザとデータベースを作成します。

まずはユーザを作成します。
ユーザ名はzabbixです。--pwpronptオプションをつけているため、ユーザ作成時にパスワードも設定します。

postgresql_init
# sudo -u postgres createuser --pwprompt zabbix
Enter password for new role: 
Enter it again: 
続いて、zabbix用データベースを作成します。データべース名およびデータベースオーナー名をzabbixとしてデータベース作成を行います。
postgresql_init
# sudo -u postgres createdb -O zabbix zabbix
その次に、作成したzabbixユーザがdatabaseにアクセスできるよう、アクセス許可設定を行います。 アクセス許可設定ファイルの`/var/lib/pgsql/data/pg_hba.conf`ファイルを設定変更します。
pg_hba.conf_edit
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を再起動して設定を反映します。
postgresql_restart
#systemctl restart postgresql

または、以下のコマンドを実行してpostgrsqlの再起動なしに設定だけを反映します。

postgresql_reflect
sudo -u postgres pg_ctl reload -D /var/lib/pgsql/data/
その後、以下コマンドを発行し、zabbix用のデータベース・テーブル等を作成します。
database_create
# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix

#8.zabbix serverコンフィグ設定
zabbix serverのコンフィグ設定を行います。
必要となるのはdatabaseのzabbixユーザ用パスワードの設定になります。

zabbix_server.conf_edit
# vi /etc/zabbix/zabbix_server.conf

-----
DBPassword=password
-----

#9.phpセットアップ
web GUIとして利用するphpの設定を行います。
コンフィグファイル内のtimezoneの設定を変更します。

php_conf_edit
# 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

services_setup
# 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/にアクセスします。

image.png

続いて、要求条項を満たしているかを確認します。

image.png
image.png
image.png

続いて、DB接続設定を投入します。
以下についてはデフォルトから変更を行います。

項目 設定 デフォルト
Database host 127.0.0.1 localhost
Password [設定したパスワード] [空白]
Database TLS encryption

image.png

zabbix serverの設定となりますが、ここは特に入力不要となります。

image.png

インストールサマリを確認し、[Next step]を押下します。

image.png

インストールが完了しますので、[Finish]を押下します。

image.png

zabbix serverのログイン画面となります。初期ログイン情報は以下となります。

項目 設定
Username Admin
Password zabbix

image.png

コンソール画面が開きました。
これにてインストールは完了となります。

image.png

#参考
https://www.zabbix.com/documentation/5.0/manual

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?