Zabbix7.0 LTSが2024年06月04日にリリースされました。
AmazonLinux2023にも正式に対応しているため、Zabbix6系以前よりも格段とインストールが簡単になっていました。
AWS上でZabbixを構築して使用している方には嬉しいアップデートです。
今回はZabbix7.0をAmazonLinux2023にインストールする方法を解説します。
システム構成
今回使用したソフトウェアとバージョンは以下のとおりです。
- Zabbix Server: 7.0.4
- Zabbix Agent: 7.0.4
- OS: Amazon Linux 2023.5.20241001
- Webサーバ: Apache/2.4.62 (Amazon Linux)
- PHP: PHP 8.3.10
- DB: MariaDB 10.5.25
また、EC2インスタンスに紐づくセキュリティグループのインバウンドルールで下記を許可しておきます。
- SSH(22/TCP)
- HTTP(80/TCP)
- 10050/TCP(Zabbix Agentで使用)
- 10051/TCP(Zabbix Serverで使用)
コマンドはすべてrootユーザーで実行しています。
MariaDBのインストール
Zabbix7.0では、MariaDBの10.5.00-11.5.Xがサポート対象になっています。
標準リポジトリにMariaDB 10.5.25が入っているので、dnfでインストールします。
MariaDBをインストールする
# dnf install mariadb105-server
(省略)
# mariadb --version
mariadb Ver 15.1 Distrib 10.5.25-MariaDB, for Linux (x86_64) using EditLine wrapper
MariaDBを起動する
# systemctl enable mariadb
# systemctl start mariadb
# systemctl status mariadb
● mariadb.service - MariaDB 10.5 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: disabled)
Active: active (running) since Sun 2024-10-13 13:55:47 UTC; 18s ago
(省略)
mysql_secure_installation を実行する
初期状態では、パスワードなしでrootユーザーでMariaDBに接続できるようになっています。
mysql_secure_installationでrootユーザーのパスワードを設定しておきます。
「Change the root password?」で新しいパスワードを設定します。他の質問はそのままEnterで問題ありません。
# mysql_secure_installation
(省略)
Change the root password? [Y/n] Y
New password: <新しいパスワード>
Re-enter new password: <新しいパスワード>
Password updated successfully!
Reloading privilege tables..
... Success!
(省略)
Thanks for using MariaDB!
rootユーザーでログインできるか確認しておきます。
# mysql -uroot -p<パスワード>
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 16
Server version: 10.5.25-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)]>
Zabbixのインストール
Zabbixリポジトリを登録する
# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/amazonlinux/2023/x86_64/zabbix-release-7.0-6.amzn2023.noarch.rpm
# dnf clean all
Zabbixをインストールする
Zabbix Server関連のパッケージと、Zabbix Agentをインストールします。
Zabbixの管理画面を日本語化したい場合は、zabbix-web-japaneseもインストールします。
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts
dnf install zabbix-agent
dnf install zabbix-web-japanese
Zabbix用データベースの作成
Zabbix用データベースとユーザーを作成する
MariaDBにデータベースとユーザーを作成します。
# mysql -uroot -p<パスワード>
MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
MariaDB [(none)]> create user zabbix@localhost identified by 'zabbixユーザーの新しいパスワード';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
後のインポート手順のためにlog_bin_trust_function_creatorsの値を一時的に変更します。完了したらquitでMariaDBからログアウトします。
MariaDB [(none)]> set global log_bin_trust_function_creators = 1;
MariaDB [(none)]> quit;
Bye
Zabbix用DBスキーマとデータをインポートする
$ zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | \
mysql --default-character-set=utf8mb4 -uzabbix -p<zabbixユーザーのパスワード> zabbix
インポートが完了したら、log_bin_trust_function_creatorsを元に戻します。
# mysql -uroot -p<rootユーザーのパスワード>
MariaDB [(none)]> set global log_bin_trust_function_creators = 0;
MariaDB [(none)]> quit;
Bye
Zabbixサーバーの起動
zabbix_server.confを編集する
Zabbixの設定ファイルに、MariaDB上に作成した「zabbix」ユーザーのパスワードを設定します。
DBPasswordのコメントアウトを外し、zabbixユーザーのパスワードを追記します。
# vi /etc/zabbix/zabbix_server.conf
-------------------------------------------
# DBPassword=
↓
DBPassword=<zabbixユーザーのパスワード>
-------------------------------------------
Zabbixサーバーを起動する
# systemctl start zabbix-server httpd php-fpm
# systemctl enable zabbix-server httpd php-fpm
Zabbixサーバーが起動しているか確認します。
# systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; preset: disabled)
Active: active (running) since Mon 2024-10-14 03:19:52 UTC; 2min 6s ago
Main PID: 5751 (zabbix_server)
Zabbixサーバーの初期設定
ZabbixのWebインターフェースを開く
ブラウザから下記URLにアクセスし、初期設定画面を開きます。
http://<EC2インスタンスのIPアドレス>/zabbix/
画面にしたがって設定する
今回は表示言語を日本語に設定します。
Default language「Japanese(ja_JP)」を選択して、「次のステップ」をクリックします。
すべてのソフトウェアの前提条件が満たされていることを確認して、「次のステップ」をクリックします。
「パスワード」にMariaDB上のzabbixユーザーのパスワードを入力して、「次のステップ」をクリックします。
「Zabbixサーバー名」に任意の名前、「デフォルトタイムゾーン」にAsia/Tokyo、「デフォルトのテーマ」を好きなテーマに設定し、「次のステップ」をクリックします。
設定した内容に間違いがなければ、「次のステップ」をクリックします。
下記の画面が表示されれば、初期設定の完了です。「終了」をクリックして設定を完了します。
Zabbixにログインする
初期設定が完了すると、ログイン画面が表示されます。下記の初期ユーザーとパスワードでログインします。
- ユーザー: Admin
- パスワード: zabbix
ログインに成功すると、ダッシュボードが表示されます。
初期パスワードを変更する場合は、「ユーザー設定」→「プロファイル」→「パスワード変更」をクリックします。
「現在のパスワード」に初期パスワード(zabbix)、「パスワード」と「パスワード(確認)」に新しいパスワードを入力し、「更新」をクリックします。
更新するとログアウトされるので、設定したパスワードでもう一度ログインします。
これでZabbixサーバーのインストールは完了です。
Zabbix Agentの起動
Zabbix Agentを起動する
ホストの監視データをZabbixサーバーに送るために、Zabbix Agentを起動します。
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
# systemctl status zabbix-agent
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; preset: disabled)
Active: active (running) since Mon 2024-10-14 06:17:09 UTC; 37min ago
Main PID: 15876 (zabbix_agentd)
(省略)
Zabbixダッシュボードの「監視データ」→「ホスト」を開くと、Zabbix Agentが動作しているホストの状態を見ることができます。
初期状態では、Zabbixサーバー自身がホスト登録されています。「最新データ」や「グラフ」などから、ホストの監視データを確認することができます。
おまけ: 他インスタンスにZabbix Agentを入れて監視する
Zabbixサーバー以外のインスタンスにZabbix Agentを入れて、Zabbixサーバーから監視できるようにしてみます。
今回はZabbixサーバーと同じAmazonLinux2023にインストールします。
Zabbixリポジトリを登録
# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/amazonlinux/2023/x86_64/zabbix-release-7.0-6.amzn2023.noarch.rpm
# dnf clean all
Zabbix Agentをインストール
# dnf install zabbix-agent
Zabbix Agentを起動
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
# systemctl status zabbix-agent
# systemctl status zabbix-agent
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; preset: disabled)
Active: active (running) since Mon 2024-10-14 07:42:33 UTC; 2min 33s ago
Main PID: 26180 (zabbix_agentd)
(省略)
起動が確認できたら、Zabbix Agentの設定ファイルを編集します。
# vi /etc/zabbix/zabbix_agentd.conf
-------------------------------------------
Server=127.0.0.1
↓
Server=<ZabbixサーバーのIPアドレス>
ServerActive=127.0.0.1
↓
ServerActive=<ZabbixサーバーのIPアドレス>
Hostname=Zabbix server
↓
Hostname=<任意の名前(ここではzabbix agentで設定します)>
-------------------------------------------
設定ファイルを保存したら、Zabbix Agentを再起動しておきます。
# systemctl restart zabbix-agent
次にZabbixダッシュボードからホスト登録をします。
「データ収集」→「ホスト」→「ホストの作成」をクリックします。
新しいホストの作成画面が表示されるので、下記のように入力して、「追加」をクリックします。
- ホスト名: <zabbix_agentd.confで設定したHostname名>
- テンプレート: Linux by Zabbix agent(Templates/Operating systemsから選択)
- ホストグループ: Linux servers
- インターフェース:
- タイプ: エージェント
- IPアドレス: <Zabbix AgentをインストールしたインスタンスのIPアドレス>
- 監視するもの: サーバー
追加すると新しくホスト登録されます。しばらくして「エージェントの状態」が緑色になれば、正常に監視できています。
以上でZabbix Agentのインストールとホスト登録は完了です。
コメント