[Linux] Zabbix Server 6.0 のインストール

Linux

はじめに

業務で使用しているZabbixサーバをリプレースする為、Zabbix Server 6.0を構築します。

検証環境

Zabbix Serverの構成は、下記の通り。

仮想環境OSRocky Linux 8.7
ホスト名rocky8-01.local
IPアドレス192.168.0.150
Zabbix ServerZabbix Serverバージョン6.0.13
ApacheApcheバージョン2.4.37
MySQLMySQLバージョン8.0.30
rootユーザのパスワードrootp@sswd
zabbixデータベース名zabbix
zabbix用ユーザzabbix@localhost
zabbix用ユーザのパスワードzabbixp@sswd

作業内容

Apacheインストール

(1) Apacheをインストールします。

# dnf -y install httpd

 …省略…

インストール済み:
  apr-1.6.3-12.el8.x86_64                                    apr-util-1.6.1-6.el8.1.x86_64
  apr-util-bdb-1.6.1-6.el8.1.x86_64                          apr-util-openssl-1.6.1-6.el8.1.x86_64
  httpd-2.4.37-51.module+el8.7.0+1059+126e9251.x86_64        httpd-filesystem-2.4.37-51.module+el8.7.0+1059+126e9251.noarch
  httpd-tools-2.4.37-51.module+el8.7.0+1059+126e9251.x86_64  mailcap-2.1.48-3.el8.noarch
  mod_http2-1.15.7-5.module+el8.6.0+823+f143cee1.x86_64      rocky-logos-httpd-86.3-1.el8.noarch

完了しました!

 ※サービス起動設定は、後続の手順で実施します。

MySQLインストール

(1) MySQLをインストールします。

# dnf -y install mysql-server

 …省略…

インストール済み:
  checkpolicy-2.9-1.el8.x86_64                                libicu-60.3-2.el8_1.x86_64
  mariadb-connector-c-config-3.1.11-2.el8_3.noarch            mecab-0.996-2.module+el8.6.0+1057+4d6a1721.x86_64
  mysql-8.0.30-1.module+el8.6.0+1057+4d6a1721.x86_64          mysql-common-8.0.30-1.module+el8.6.0+1057+4d6a1721.x86_64
  mysql-errmsg-8.0.30-1.module+el8.6.0+1057+4d6a1721.x86_64   mysql-server-8.0.30-1.module+el8.6.0+1057+4d6a1721.x86_64
  perl-Carp-1.42-396.el8.noarch                               perl-Data-Dumper-2.167-399.el8.x86_64
  perl-Digest-1.17-395.el8.noarch                             perl-Digest-MD5-2.55-396.el8.x86_64
  perl-Encode-4:2.97-3.el8.x86_64                             perl-Errno-1.28-421.el8.x86_64
  perl-Exporter-5.72-396.el8.noarch                           perl-File-Path-2.15-2.el8.noarch
  perl-File-Temp-0.230.600-1.el8.noarch                       perl-Getopt-Long-1:2.50-4.el8.noarch
  perl-HTTP-Tiny-0.074-1.el8.noarch                           perl-IO-1.38-421.el8.x86_64
  perl-IO-Socket-IP-0.39-5.el8.noarch                         perl-IO-Socket-SSL-2.066-4.module+el8.6.0+957+15d660ad.noarch
  perl-MIME-Base64-3.15-396.el8.x86_64                        perl-Mozilla-CA-20160104-7.module+el8.6.0+965+850557f9.noarch
  perl-Net-SSLeay-1.88-2.module+el8.6.0+957+15d660ad.x86_64   perl-PathTools-3.74-1.el8.x86_64
  perl-Pod-Escapes-1:1.07-395.el8.noarch                      perl-Pod-Perldoc-3.28-396.el8.noarch
  perl-Pod-Simple-1:3.35-395.el8.noarch                       perl-Pod-Usage-4:1.69-395.el8.noarch
  perl-Scalar-List-Utils-3:1.49-2.el8.x86_64                  perl-Socket-4:2.027-3.el8.x86_64
  perl-Storable-1:3.11-3.el8.x86_64                           perl-Term-ANSIColor-4.06-396.el8.noarch
  perl-Term-Cap-1.17-395.el8.noarch                           perl-Text-ParseWords-3.30-395.el8.noarch
  perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch                perl-Time-Local-1:1.280-1.el8.noarch
  perl-URI-1.73-3.el8.noarch                                  perl-Unicode-Normalize-1.25-396.el8.x86_64
  perl-constant-1.33-396.el8.noarch                           perl-interpreter-4:5.26.3-421.el8.x86_64
  perl-libnet-3.11-3.el8.noarch                               perl-libs-4:5.26.3-421.el8.x86_64
  perl-macros-4:5.26.3-421.el8.x86_64                         perl-parent-1:0.237-1.el8.noarch
  perl-podlators-4.11-1.el8.noarch                            perl-threads-1:2.21-2.el8.x86_64
  perl-threads-shared-1.58-2.el8.x86_64                       policycoreutils-python-utils-2.9-20.el8.noarch
  protobuf-lite-3.5.0-15.el8.x86_64                           python3-audit-3.0.7-4.el8.x86_64
  python3-libsemanage-2.9-9.el8_6.x86_64                      python3-policycoreutils-2.9-20.el8.noarch
  python3-setools-4.3.0-3.el8.x86_64

完了しました!

(2) MySQLサービスの自動起動を有効にして、サービスを起動します。

# systemctl enable --now mysqld.service
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service

(3) MySQLサービスの稼働を確認します。

# systemctl status mysqld.service
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-02-06 09:48:03 EST; 29s ago

(4) MySQLサービスの自動起動設定の確認します。

# systemctl is-enabled mysqld
enabled

(5) MySQLの初期設定を行います。

# mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y    ←「y」を入力

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0    ←「0」を入力
Please set the password for root here.

New password:********    ←rootのパスワードを入力

Re-enter new password:********    ←rootのパスワードを入力

Estimated strength of the password: 50
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y    ←「y」を入力
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y    ←「y」を入力
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y    ←「y」を入力
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y    ←「y」を入力
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y    ←「y」を入力
Success.

All done!

Zabbixインストール

(1) Zabbix公式ドキュメントを確認します。

[公式]Zabbix6.0ドキュメント

[公式]Download and install Zabbix

(2) 「Download and install Zabbix」ページでサーバ構成を選択します。

以降は、「2 Install and configure Zabbix for your platform」に従いZabbix Serverのインストールを進めます。

(3) Zabbixリポジトリをインストールします。

# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
を取得中 警告: /var/tmp/rpm-tmp.LqWCWq: ヘッダー V4 RSA/SHA512 Signature、鍵 ID a14fe591: NOKEY Verifying... ################################# [100%] 準備しています... ################################# [100%] 更新中 / インストール中... 1:zabbix-release-6.0-4.el8 ################################# [100%] # dnf clean all 27 ファイルが削除されました

(4) Zabbix Server及び、Zabbix Agentパッケージ等をインストールします。

# dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

 …省略…

インストール済み:
  OpenIPMI-libs-2.0.31-3.el8.x86_64                                dejavu-fonts-common-2.35-7.el8.noarch
  dejavu-sans-fonts-2.35-7.el8.noarch                              fontconfig-2.13.1-4.el8.x86_64
  fontpackages-filesystem-1.44-22.el8.noarch                       fping-3.16-1.el8.x86_64
  gd-2.2.5-7.el8.x86_64                                            jbigkit-libs-2.1-14.el8.x86_64
  libX11-1.6.8-5.el8.x86_64                                        libX11-common-1.6.8-5.el8.noarch
  libXau-1.0.9-3.el8.x86_64                                        libXpm-3.5.12-9.el8_7.x86_64
  libjpeg-turbo-1.5.3-12.el8.x86_64                                libtiff-4.0.9-26.el8_7.x86_64
  libtool-ltdl-2.4.6-25.el8.x86_64                                 libwebp-1.0.0-5.el8.x86_64
  libxcb-1.13.1-1.el8.x86_64                                       libxslt-1.1.32-6.el8.x86_64
  mariadb-connector-c-3.1.11-2.el8_3.x86_64                        net-snmp-libs-1:5.8-25.el8_7.1.x86_64
  nginx-filesystem-1:1.14.1-9.module+el8.4.0+542+81547229.noarch   php-bcmath-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
  php-common-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64           php-fpm-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
  php-gd-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64               php-json-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
  php-ldap-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64             php-mbstring-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
  php-mysqlnd-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64          php-pdo-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
  php-xml-7.2.24-1.module+el8.4.0+413+c9202dda.x86_64              unixODBC-2.3.7-1.el8.x86_64
  zabbix-agent-6.0.13-release1.el8.x86_64                          zabbix-apache-conf-6.0.13-release1.el8.noarch
  zabbix-selinux-policy-6.0.13-release1.el8.x86_64                 zabbix-server-mysql-6.0.13-release1.el8.x86_64
  zabbix-sql-scripts-6.0.13-release1.el8.noarch                    zabbix-web-6.0.13-release1.el8.noarch
  zabbix-web-deps-6.0.13-release1.el8.noarch                       zabbix-web-mysql-6.0.13-release1.el8.noarch

完了しました!

(5) 初期Zabbixデータベースを作成します。

# mysql -u root -p
Enter password:********    ←rootパスワード

### 1. Zabbixデータベース作成
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.00 sec)

### 2. MySQLアカウント作成(ユーザー:zabbix, パスワード:任意)
mysql> create user zabbix@localhost identified by 'zabbixp@sswd';
Query OK, 0 rows affected (0.01 sec)

### 3. zabbixユーザに全ての権限を付与
mysql> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0.00 sec)

### 4. 一時的にバイナリロギングを有効化
mysql> set global log_bin_trust_function_creators = 1;
Query OK, 0 rows affected (0.00 sec)

### 5. MySQL終了
mysql> quit;
Bye

(6) 初期スキーマとデータをインポートします。

# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Enter password:********    ←zabbixパスワード

(7) バイナリロギングを無効化します。

# mysql -u root -p
Enter password:********    ←rootパスワード

### 1. バイナリロギングを無効化
mysql> set global log_bin_trust_function_creators = 0;
Query OK, 0 rows affected (0.00 sec)

### 2. バイナリロギングの設定値確認
mysql> SHOW VARIABLES LIKE 'log_bin_trust_function_creators';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | OFF   |
+---------------------------------+-------+
1 row in set (0.00 sec)

### 3. MySQL終了
mysql> quit;
Bye

(8) zabbix_serverの設定ファイルを編集します。

# sed -i".org" -e "s/\(# DBPassword=$\)/\1\nDBPassword=zabbixp@sswd/g" /etc/zabbix/zabbix_server.conf

(9) zabbix_serverの設定ファイルの変更を確認をします。

# diff /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.org
130d129
< DBPassword=zabbixp@sswd

(10) Zabbix関連のサービス再起動し、サービス自動起動設定を有効化します。

# systemctl restart zabbix-server zabbix-agent httpd php-fpm
# systemctl enable zabbix-server zabbix-agent httpd php-fpm
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-server.service → /usr/lib/systemd/system/zabbix-server.service.
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service → /usr/lib/systemd/system/zabbix-agent.service.
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.

OSファイアウォール設定

(1) firewallでhttpのアクセスを許可して、リロード(反映)します。

# firewall-cmd --zone=public --add-service=http --permanent
success

# firewall-cmd --reload
success

(2) firewallの設定を確認します。

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: cockpit dhcpv6-client http ssh
  ports:
  protocols:
  forward: no
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

ZabbixサーバWeb管理画面の初期設定

(1) WebブラウザでZabbixのWeb管理画面へアクセスします。
 ・URL:http://192.168.0.150/zabbix/

(2) [ようこそ]画面で使用する言語を選択して、[次のステップへ]をクリックします。

(3) [前提条件のチェック]画面で全て[OK]であることを確認して、[次のステップ]をクリックします。

(4) [データベース接続設定]画面でzabbixアカウントを入力して、[次のステップ]をクリックします。

(5) [設定]が画面で、[Zabbixサーバー名]を入力(任意)します。[デフォルトのタイムゾーン]で「(UTC+09:00) Asia/Tokyo」を選択して、[次のステップ]をクリックします。

(6) [インストール事前準備概要]で[次のステップ]をクリックします。

(7) [終了]をクリックします。以上で、Zabbix Serverのインストールは完了です

(8) 初期Zabbixアカウントでサインインします。
 ・ユーザー名: Admin
 ・パスワード: zabbix

(9) サインインが完了して、初期のダッシュボード画面が表示されます。

あとがき

初期Zabbixサーバのインストールまで完了しましたので、次回以降はZabbixの設定をしていきたいと思います。

コメント

タイトルとURLをコピーしました