2022年2月19日土曜日

Zabbix 6.0.0インストール手順 (MariaDB利用)

2022年2月15日にZabbixの最新バージョンであるZabbix 6.0.0がリリースされた。

リリースノートは以下にて確認できる。

本記事では、Zabbix 6.0.0をRed Hat系のLinuxにインストールする手順を記載する (DBはMariaDBを利用)。なお、以前のバージョンのインストール手順は以下にて記載しているため、もし差分が気になる場合は確認いただきたい。

環境

環境は以下の通り。LinuxディストリビューションはAlmaLinux 8.5を使用する。AlmaLinuxはRed Hat Enterprise Linux互換ディストリビューションであるため、Red Hat Enterprise LinuxやCentOSなどでも同様の手順でインストールできるはずだ。

後述するが、Zabbix 5.0.0の頃と違いMariaDBのバージョン指定が厳しくなっており、10.5~10.6のバージョンを選定する必要がある点に注意すること。

  • OS:AlmaLinux 8.5
  • DB:MariaDB 10.6.7
  • Web Server:Apache 2.4.37

なお、dnfを使うため、インターネット接続できる環境であることが前提となる。

インストール手順

1. SELinuxとfirewalldを停止する

これらが動いているとうまく動作しないことが多いので停止しておく。

# sed -i.org 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# systemctl stop firewalld
# systemctl disable firewalld
# reboot

2. MariaDBをインストール

dnfでMariaDBをインストールすると、AlmaLinux 8.5ではバージョン10.3がインストールされる。しかし、このバージョンはZabbix 6.0.0がサポートしないバージョンであり、zabbix-serverのサービス起動に失敗する。

以下、参考までに起動失敗時のログを記載する。「Unable to start Zabbix server due to unsupported MariaDB database server version」というエラーで起動失敗していることがわかる。

# tail -10 /var/log/zabbix/zabbix_server.log
  2023:20220211:151851.657 using configuration file: /etc/zabbix/zabbix_server.conf
  2023:20220211:151851.659
  2023:20220211:151851.659 Unable to start Zabbix server due to unsupported MariaDB database server version (10.03.28)
  2023:20220211:151851.659 Must be at least (10.05.00)
  2023:20220211:151851.659 Use of supported database version is highly recommended.
  2023:20220211:151851.659 Override by setting AllowUnsupportedDBVersions=1 in Zabbix server configuration file at your own risk.

そこで今回は、MariaDBのバージョン10.6をインストールする。その場合は、標準のリポジトリの利用はできないため、本家MariaDBのリポジトリからインストールを行う。

まず、リポジトリをセットアップするためのスクリプトであるmariadb_repo_setupをダウンロードする。

# curl -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 30081  100 30081    0     0  21394      0  0:00:01  0:00:01 --:--:-- 21379

プロキシ環境の場合はスクリプト実行に失敗するため、以下の通り環境変数でプロキシの設定を行う。

# vi mariadb_repo_setup
------------------------------
#!/usr/bin/env bash
# shellcheck disable=2016 disable=1091 disable=2059

export http_proxy=http://[プロキシのIP]:[ポート] ←★追加
export https_proxy=http://[プロキシのIP]:[ポート] ←★追加

~(以下略)~

mariadb_repo_setup実行する際には--mariadb-server-versionオプションにてバージョン10.6を指定する。これを忘れると最新の10.7がインストールされ、これはこれでZabbixにてサポート対象外のDBである旨の警告が表示される

# tail -10 /var/log/zabbix/zabbix_server.log
~(中略)~
 16912:20220216:064608.387 Unsupported DB! MariaDB version is 100703 which is higher than maximum of 100699
~(以下略)~

実行結果が以下の通りSuccessfully added trusted package signing keysと表示されていれば成功となる。

# bash mariadb_repo_setup --mariadb-server-version mariadb-10.6

# [info] Checking for script prerequisites.
# [info] MariaDB Server version 10.6 is valid
# [info] Repository file successfully written to /etc/yum.repos.d/mariadb.repo
# [info] Adding trusted package signing keys...
/etc/pki/rpm-gpg ~
~
# [info] Successfully added trusted package signing keys
# [info] Cleaning package cache...
36 ファイルが削除されました

# ls -l /etc/yum.repos.d/mariadb.repo
-rw-r--r-- 1 root root 780  2月 11 15:58 /etc/yum.repos.d/mariadb.repo

後は以下の通りdnfにてMariaDBをインストールすればよい。OS標準のリポジトリとパッケージ名が異なるので注意。

# dnf install MariaDB-server MariaDB-client -y
# mariadb --version
mariadb  Ver 15.1 Distrib 10.6.7-MariaDB, for Linux (x86_64) using readline 5.1

設定は特に変更せずデフォルトの状態で起動させておく。

# systemctl start mariadb
# systemctl enable mariadb

3. Zabbix 6.0.0をインストール

以下コマンドを実行することで、Zabbix 6.0.0rc1をインストールすることができる。Web画面を日本語化するため、zabbix-web-japaneseのパッケージもインストールすること。

# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent zabbix-web-japanese -y

4. DBの初期設定

DBの初期設定として、DB作成とユーザーへの権限付与を行う。

まずは、MariaDBに接続し、DB「zabbix」を作成する。DB「Zabbix」に対する全権限をユーザー「zabbix」に付与しておく。パスワードは好みで設定すればよい。

# mysql -uroot
MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> create user zabbix@localhost identified by 'password';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> quit;
Bye

Zabbix初期化用SQLファイルが用意されているので、以下コマンドで流し込みを行う。パスワードは先ほど作成したzabbixユーザのパスワードを指定する。特にエラー等なく、プロンプトが返ってくれば問題ない。

# zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
Enter password:
# echo $?
0

5. Zabbixの初期設定

/etc/zabbix/zabbix_server.confは、先ほど設定したDB「Zabbix」に接続するためのzabbixユーザのパスワードを設定する。

# vi /etc/zabbix/zabbix_server.conf
DBPassword=password

6. Zabbixを起動

以上で準備が整ったので、Zabbixを起動させる。

# systemctl restart zabbix-server zabbix-agent httpd php-fpm
# systemctl enable zabbix-server zabbix-agent httpd php-fpm

7. Web画面で初期セットアップを行う

以下URLにアクセスし、初期セットアップを行う。

http://<Zabbixサーバーのホスト名 or IPアドレス>/zabbix/

最初の画面では、以前のZabbix 5.0.0と異なり言語選択が可能となっている。とはいえ、特に英語で問題はないので、そのまま「Next step」を選択する。

「Check of pre-requisites」では、すべて「OK」となっていることを確認する。通常はデフォルト設定ですべて「OK」となっているはずである。

「Configure DB connection」では、事前に設定したパスワードを入力し、他はデフォルトのままとする。

「Settings」では、「Zabbix server name」がデフォルト空白なのでホスト名など入れてもよい。「Zabbix server name」で設定した名前が何に使われるかというと、操作画面の右上に表示されるだけのようなので、空白のままでも動作に支障はない。また、Zabbix 5.0.0と異なりここでタイムゾーンの設定ができるようになっているので、「(UTC+9:00) Asia/Tokyo」を選択しておこう。

「Pre-installation summary」で設定を再確認できる。

問題なければ以下のような画面が表示されるはずだ。これでインストール作業は完了となる。

8. Zabbix 6.0.0にログインする

初期設定が終わるとログイン画面に遷移するので、早速ログインしてみよう。初期ID/パスワードは以下の通り。

  • ID:Admin ※Aは大文字。大文字小文字の区別をするため注意
  • パスワード:zabbix

初回ログイン時は言語が英語になっているので、 左メニューの「Administration」→「General」→「GUI」を選択し、「Default language」を「Japanese (ja_JP)」に変更しておこう。

以上で完了となる。特に問題なければ、1時間もあればインストールできてしまう。ぱっと見はZabbix 5.0.0からインタフェースに大きな変更はないが、細かいところで変更は入っているようなので、今後使いながら確認していきたい。


0 件のコメント:

コメントを投稿

人気の投稿