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サーバ名を記入し、デフォルトのタイムゾーンを変更し、「次のステップ」をクリックします。
[設定パラメータの確認]画面が表示されるので、表示内容が正しいことを確認の上、「次のステップ」をクリックします。
[インストール]画面が表示されるので、「終了」をクリックします。
ZABBIXのGUIログイン画面が表示されるので、ユーザー名 [Admin], 初期パスワード [zabbix] でログイン可能であることを確認します。
ログインが成功すると、以下のようなZABBIXの管理画面が表示されます。
以上、ここまでがZABBIXサーバのインストールおよび初期セットアップとなります。ここから先は、監視対象のホストを追加したり、通知や監視対象項目の設定を行ったりと、本来の目的に応じた監視システムの利用フェーズに入ります。
インストールと初期設定アップにあまり時間ばかり取られてしまいたくないですので、本記事を記載してみました。参考になれば幸いです。