【Zabbix】VirtualBoxでZabbixサーバーの環境を構築してみる(Windows)
.png)
業務でZabbixを利用する機会があったので、勉強用に自分のPCに好き放題いじれるZabbix環境をDocker上に作ってみました。
ただ、諸事情でDockerではなくVirtualBoxで環境を構築する必要が出てきたので、VirtualBoxでもZabbix環境を構築してみました。
当記事の執筆にあたり、下記Zennの記事を参考にさせていただいております。
Zabbixであそぼ(SandBox環境構築編)
Zennの記事に比べて、スクショを交えて初心者にもわかりやすいような手順メモになっていると思います。
目次
Rocky Linux 9をダウンロードする
下記の公式ページからRocky Linux 9をダウンロードします。(10だとうまくいきませんでした)
https://rockylinux.org/ja-JP/download
ダウンロードするISOはMinimalです。

VitualBoxで仮想マシンを構成する
新規仮想マシンを作成する
まずは新規ボタンをクリックして、新規仮想マシンの設定を行います。

ISOイメージに先ほどダウンロードしたISOファイルを設定します。
名前はわかればなんでもOKです。
設定が終わったら次へをクリックします。

任意のユーザー名とパスワードを設定します。
ローカルなので、セキュリティはあまり気にせずユーザー名もパスワードもodanekoにしました。
設定が終わったら次へをクリックします。

ハードウェアの設定は特に変更せず、次へをクリックします。

仮想ハードディスクの設定も特に変更せず、次へをクリックします。

完了ボタンをクリックします。

自動で仮想マシンが起動しますが、エラーが出てくるのでOKボタンをクリックします。
OKボタンをクリックすると仮想マシンがシャットダウンされます。

仮想マシンの設定を変更する
左側の仮想マシン一覧から先ほど作成したマシンを選択し、設定をクリックします。

コントローラー:IDEにダウンロードしたISOを設定します。

ネットワークにブリッジアダプターを割り当て、OKボタンをクリックします。

仮想マシンを起動、Rocky Linuxをインストールする
設定した仮想マシンを選択し、起動をクリックします。

下記の画面が出てくると思うので、一番上のInstall Rocky Linux 9.6を選択して、Enterキーを押します。

なんかいろいろ動き始めます。

Rocky Linuxのインストール画面が表示されるので、日本語を選択して続行をクリックします。

インストール先を設定する
インストール先をクリックします。

適切な構成になっているはずなので、完了をクリックします。

rootパスワードを設定する
rootパスワードの設定をクリックします。

①②に任意のパスワードを入力→③rootアカウントをロックのチェックを外す→完了をクリックします。

ユーザーを作成する
ユーザーの作成をクリックします。

①フルネームとユーザー名に任意のユーザー名を入力
→②2つにチェックを入れる
→③任意のパスワードを入力
→④完了をクリックします。

Rocky Linuxをインストールする
インストールの開始をクリックします。

しばらくするとインストールが完了しますので、システムの再起動をクリックします。

ログインの確認をする
まずはrootでログインしてみます。

問題なくログインできたら、exitでログアウトします。
exit

今度は作成したユーザーでログインしてみます。

TeraTermから仮想マシンに接続する
仮想マシン上では本来のPCからコマンドのコピペができないため、ここからはTeraTermで仮想マシンに接続して、引き続き環境構築を行います。
IPアドレスを確認する
下記のコマンドを実行し、IPアドレスを確認します。
ip a

TeraTermから接続する
ホストに先ほど確認したIPアドレスを入力して、OKをクリックします。

警告が出てきますが、気にせず続行をクリックします。

ユーザー名、パスワード(パスフレーズ)を入力してOKをクリックします。
rootでも作成したユーザーでもOKです。

ログインに成功すると下記のメッセージが表示されます。

Zabbixをインストールする
システムのパッケージを更新する
sudo dnf -y update
途中、パスワードを要求されるので入力→Enterキーを押します。

Zabbixリポジトリをインストールする
下記のZabbix公式のダウンロードページにアクセスし、今回の環境に合わせてポチポチと選択していきます。
https://www.zabbix.com/jp/download

下にスクロールするとZabbixインストール用のコマンドが表示されていますので、基本的にこの手順にのっとってインストールを進めていきます。

下記のコマンドを実行し、EPELで提供されているZabbixがインストールされているか確認します。
インストールされていなければOKです。
sudo ls /etc/yum.repos.d/epel.repo

Zabbixリポジトリをインストールします。
sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm
sudo dnf clean all

Zabbixのパッケージをインストールする
sudo dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

途中、何回かy/Nの質問をされるので、yを入力します。



MySQLをインストールする
sudo dnf -y install mysql-server


MySQLの設定をする
MySQLを起動する
sudo systemctl start mysqld.service

MySQLが自動的に起動するように設定する
続いて、仮想マシンを起動したとき、MySQLが自動的に起動するように設定します。
sudo systemctl enable mysqld.service

セキュリティ設定を行う
mysql_secure_installation
対話形式で進んでいくので、下記のスクショを参考に回答していってください。



データベースを作成する
MySQLにログインする
rootを使ってログインします。
mysql -u root -p
パスワードを聞かれるので、先ほどの「セキュリティ設定」で設定したパスワードを入力します。

データベースを作成する
create database zabbix character set utf8mb4 collate utf8mb4_bin;

ユーザーを作成する
ユーザー名:zabbix、パスワード:rockyzabbix
create user zabbix@localhost identified by 'rockyzabbix';

ユーザーに権限を付与する
grant all privileges on zabbix.* to zabbix@localhost;

一時的にバイナリログを有効化する
set global log_bin_trust_function_creators = 1;

ログアウトする
quit;

初期データを投入する
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
パスワードを要求されるので、ユーザー作成時に設定したrockyzabbixを入力します。

再度MySQLにログインする
スクショではrootでログインしていますが、先ほど作成したzabbixでも大丈夫です(たぶん)。
mysql -u root -p

バイナリログを無効に戻す
set global log_bin_trust_function_creators = 0;

ログアウトする
quit;

Zabbixの設定をする
ZabbixとMySQLを紐づける
まずはconfファイルを開きます。
sudo vi /etc/zabbix/zabbix_server.conf

エディタ画面になったら、iを押すと編集モードになります。
ユーザーのパスワード設定の部分のコメントアウトを解除(#を削除)して、パスワードを設定します。
DBPassword=rockyzabbix

入力後、escを押す→:wqを入力してEnter(保存してエディタを抜ける)で元の画面に戻ります。

再起動する
設定を反映させるために一度再起動します。
sudo systemctl restart zabbix-server zabbix-agent httpd php-fpm
sudo systemctl enable zabbix-server zabbix-agent httpd php-fpm


ファイアウォールの設定
現在のファイアウォールの状態を確認する
sudo systemctl status firewalld
active (running)になっていれば、ファイアウォールが有効な状態なのでOKです。

HTTPと80番ポートを許可
まず、80番ポートの通信を許可します。
sudo firewall-cmd --add-port=80/tcp --zone=public --permanent

続いて、http通信を許可します。
sudo firewall-cmd --add-service=http --zone=public --permanent

スクリーンショットを取り忘れてしまったのですが、HTTPと80番ポートが許可されているか、確認しておきます。
sudo firewall-cmd --list-ports --zone=public --permanent
sudo firewall-cmd --list-services --zone=public --permanent
ファイアウォールをリロード(設定の反映)
sudo firewall-cmd --reload

ブラウザでZabbixの管理画面を確認
TeraTermでのログイン時に確認したIPアドレスの後ろに/zabbix/をつけたURLにアクセスします。
私の場合、下記になります。
設定がうまくいっていると下記の画面が表示されます。

Zabbix管理画面の設定
管理画面の日本語化
日本語化パッケージをインストール
sudo dnf -y install glibc-locale-source glibc-langpack-ja zabbix-web-japanese

タイムゾーンを変更
timedatectl set-timezone Asia/Tokyo

ロケーションを変更
sudo localectl set-locale LANG=ja_JP.utf8
スクショは撮り忘れました・・・
キーマップを変更
sudo localectl set-keymap jp106

設定の確認
localectl
下記の内容になっていればOKです。

管理画面の言語を日本語に変更
言語のプルダウンで日本語が選択できるようになっているはずなので、日本語を選択します。

日本語を選択すると、下記の画面になります。

パラメータの設定
次のステップをクリックします。

前提条件がすべてOKであることを確認して、次のステップをクリックします。

データベースの接続設定
ユーザーなどはデフォルトで入力されているはずなので、パスワードを入力します。
パスワードはrockyzabbixです。
パスワードを入力後、次のステップをクリックします。

タイムゾーンを変更
タイムゾーンをAsia/Tokyoに変更し、次のステップをクリックします。

パラメータの確認
次のステップをクリックします。

下記の完了画面が表示されたらOKです。

管理画面にサインイン
ユーザー名:Admin、パスワード:zabbixでサインインします。

Zabbixのダッシュボードが表示されたらOKです。

以上になります。
お読み頂き、ありがとうございました。