【Zabbix】VirtualBoxでZabbixサーバーの環境を構築してみる(Windows)

業務で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にアクセスします。
私の場合、下記になります。

http://192.168.11.43/zabbix/

設定がうまくいっていると下記の画面が表示されます。

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です。

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