ZABBIX 7.0 のインストール

本記事では、LinuxOS上にZABBIXサーバをインストールする手順を記載します。ZABBIXは監視システムとして広く利用されていますので、ZABBIXを使用したシステム監視を学んでおくと損はありません。今回は、サーバOSをCentOS Stream 9とした前提で記載しています。

スポンサーリンク

ZABBIXの場合、httpd、 php、データベース等のインストールを先んじて行っておく必要があります。ZABBIXサーバをインストールして管理画面にログインするまでに結構な手数を要しますので、最低限必要な手順のみをここでは時系列に記載していきます。

作業の流れは、Apache httpd ⇒ php ⇒ MariaDB ⇒ ZABBIX の順に導入していきます。

事前作業

サーバのホスト名を設定しておきます。(ここでは、sv01.srv.tv という値を設定)

[root@localhost ~]# hostnamectl set-hostname sv01.srv.tv
[root@localhost ~]# hostname
sv01.srv.tv

ファイアウォールの状態を確認しておきます。(OSインストール直後のデフォルトの状態は起動中(running)になっています)

[root@localhost ~]# firewall-cmd –state
running

[root@localhost ~]# firewall-cmd –list-services
cockpit dhcpv6-client ssh

SELinuxの状態を確認しておきます。(OSインストール直後のデフォルトの状態は有効(Enforcing)になっています)

[root@localhost ~]# getenforce
Enforcing SELinux は有効な状態

Apache httpdのインストール

Apache httpdをインストールします。

[root@sv01 ~]# dnf -y install httpd

Firewalldの設定を行います。 (httpd は [80/TCP] を使用)

[root@sv01 ~]# firewall-cmd –add-service=httpd
success
[root@sv01 ~]# firewall-cmd –runtime-to-permanent
success

httpdのサービス自動起動を有効にし、サービスを起動します。

[root@sv01 ~]# systemctl enable –now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

ここまで設定出来たら、リモートの端末からブラウザを開いて [http://<sv01.srv.tvのIPアドレス>] にアクセスして、HTTP Server Test Pageが表示されることを確認します。 

PHPのインストール

現在有効なPHP のモジュールを確認します。

[root@sv01 ~]# dnf module list php
CentOS Stream 9 – AppStream
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP scripting language
php 8.2 common [d], devel, minimal PHP scripting language
ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled

他バージョンが有効な場合は一旦リセットして有効バージョンを切り替えます。

[root@sv01 ~]# dnf module reset php
[root@sv01 ~]# dnf module -y enable php:8.2
==========================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
モジュールストリームの有効化中:
php 8.2
トランザクションの概要
完了しました!

PHP 8.2 を指定してインストールします。

[root@sv01 ~]# dnf module -y install php:8.2/common

PHPのバージョンを確認します。

[root@sv01 ~]# php -v
HP 8.2.13 (cli) (built: Nov 21 2023 09:55:59) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.13, Copyright (c) Zend Technologies

MariaDBのインストール

MariaDB をインストールして、データベースサーバーを構築します。

[root@sv01 ~]# dnf -y install mariadb-server

デフォルトの文字コードを設定します。

[root@sv01 ~]# vi /etc/my.cnf.d/charset.cnf
新規作成
デフォルトの文字コードを設定
未設定の場合のデフォルトは [latin1]
絵文字等 4 バイト長の文字を扱う場合は [utf8mb4]
[mysqld]
character-set-server = utf8mb4
[client]
default-character-set = utf8mb4

MariaDBのサービス自動起動を有効にし、サービスを起動します。

[root@sv01 ~]# systemctl enable –now mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.

Firewalldの設定を行います。 (MariaDB は [3306/TCP] を使用)

[root@sv01 ~]# firewall-cmd –add-service=mysql
success
[root@sv01 ~]# firewall-cmd –runtime-to-permanent
success

MariaDBの初期設定を行います。

[root@sv01 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
haven’t set the root password yet, you should just press enter here.
Enter current password for root (enter for none):[Enter]
OK, successfully used password, moving on…
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer ‘n’.
Switch to unix_socket authentication [Y/n] n
… skipping.
You already have your root account protected, so you can safely answer ‘n’.
Change the root password? [Y/n] n
… skipping.
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB 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? [Y/n] 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? [Y/n] y
… Success!
By default, MariaDB 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? [Y/n] 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? [Y/n] y
… Success!
Cleaning up…
All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

MariaDBの初期の状態を確認しておきます。

[root@sv01 ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.5.22-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]> select user,host,password from mysql.user;
+————-+———–+———-+
| User | Host | Password |
+————-+———–+———-+
| mariadb.sys | localhost | |
| root | localhost | invalid |
| mysql | localhost | invalid |
+————-+———–+———-+
3 rows in set (0.002 sec)
MariaDB [(none)]> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
+——————–+
3 rows in set (0.001 sec)
MariaDB [(none)]> exit
Bye

ZABBIXのインストール

はじめに、必要なパッケージ、および Zabbix のリポジトリを追加します。

[root@sv01 ~]# dnf -y install php-mysqlnd php-gd php-xml php-bcmath php-ldap

[root@sv01 ~]# dnf -y install https://repo.zabbix.com/zabbix/7.0/centos/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm

ZABBIXサーバをインストールします。

[root@sv01 ~]# dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2

データベース(MariaDB)の設定を行います。

[root@sv01 ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.5.22-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.00 sec)
[password] は任意のパスワードに置き換え
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@’localhost’ identified by ‘password’;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye

ZABBIXユーザーのパスワードを設定します。

[root@sv01 ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql –default-character-set=utf8mb4 -uzabbix -p zabbix
Enter password: password #上記で設定した任意のパスワードに読みかえ

MariaDBの状態を確認しておきます。(User およびDatabaseにzabbixが追加されていることを確認)

[root@sv01 ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 45
Server version: 10.5.22-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]> select user,host,password from mysql.user;
+————-+———–+——————————————-+
| User | Host | Password |
+————-+———–+——————————————-+
| mariadb.sys | localhost | |
| root | localhost | invalid |
| mysql | localhost | invalid |
| zabbix | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+————-+———–+——————————————-+
4 rows in set (0.010 sec)

MariaDB [(none)]> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| zabbix |
+——————–+
4 rows in set (0.001 sec)

MariaDB [(none)]> exit
Bye

ZABBIXサーバの設定を行います。

[root@sv01 ~]# vi /etc/zabbix/zabbix_server.conf
96行目 : 追記
DBHost=localhost
132行目 : Zabbix DB のパスワード追記
DBPassword=password #上記で設定した任意のパスワードに読みかえ

ZABBIXのサービス自動起動を有効にし、サービスを起動します。

[root@sv01 ~]# systemctl enable –now zabbix-server
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-server.service → /usr/lib/systemd/system/zabbix-server.service.

Firewalldの設定を行います。 (ZABBIX 関連ポートを許可)

[root@sv01 ~]# firewall-cmd –add-port={10051/tcp,10050/tcp}
success
[root@sv01 ~]# firewall-cmd –runtime-to-permanent
success

Zabbix サーバー自身も監視できるように、 Zabbix Agent を設定します。

[root@sv01 ~]# vi /etc/zabbix/zabbix_agent2.conf
80行目 : Zabbix サーバーを指定
Server=127.0.0.1
133行目 : Zabbix サーバーを指定
ServerActive=127.0.0.1
144行目 : 自身のホスト名に変更
Hostname=sv01.srv.tv

Zabbix Agent のサービス自動起動を有効にし、サービスを起動します。

[root@dlp ~]# systemctl enable –now zabbix-agent2
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service → /usr/lib/systemd/system/zabbix-agent2.service.

ここまで設定出来たら、リモートの端末からブラウザを開いて [http://<sv01.srv.tvのIPアドレス>/zabbix/] にアクセスして、ZABBIXの管理画面が表示されることを確認します。言語表記を日本語に変更して、「Next step」をクリックします。

[前提条件のチェック]画面が表示されるので、ステータスが全てOKであることを確認して、「次のステップ」をクリックします。

[データベースの接続設定]画面が表示されるので、「パスワード」欄に、zabbixユーザーのパスワードを入力し、「次のステップ」をクリックします。

[設定]画面が表示されるので、zabbixサーバ名を記入し、デフォルトのタイムゾーンを変更し、「次のステップ」をクリックします。

画像に alt 属性が指定されていません。ファイル名: zab7_mgt_gui_04.png

[設定パラメータの確認]画面が表示されるので、表示内容が正しいことを確認の上、「次のステップ」をクリックします。

[インストール]画面が表示されるので、「終了」をクリックします。

ZABBIXのGUIログイン画面が表示されるので、ユーザー名 [Admin], 初期パスワード [zabbix] でログイン可能であることを確認します。

ログインが成功すると、以下のようなZABBIXの管理画面が表示されます。

以上、ここまでがZABBIXサーバのインストールおよび初期セットアップとなります。ここから先は、監視対象のホストを追加したり、通知や監視対象項目の設定を行ったりと、本来の目的に応じた監視システムの利用フェーズに入ります。

インストールと初期設定アップにあまり時間ばかり取られてしまいたくないですので、本記事を記載してみました。参考になれば幸いです。

この記事が気に入ったら
いいね ! しよう

スポンサーリンク

おすすめ

error: Content is protected !!