■ はじめに
今回はZabbixを使って監視サーバを構築しました。
最初は順調に進むかと思いきや、かなり多くのエラーにぶつかりましたが、結果的に無事ダッシュボードにログインできるところまで到達しました。
本記事では、実際の構築手順と詰まったポイントをまとめます。
■ 環境
- OS:Ubuntu 24.04
- VPS:さくらVPS
- Zabbix:7.0系
■ 構築手順
① Zabbixリポジトリ追加
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo apt update
② パッケージインストール
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent mysql-server -y
③ DB作成
sudo mysql -uroot
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '任意のパスワード';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
④ 初期データ投入
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
⑤ Zabbix設定
sudo vim /etc/zabbix/zabbix_server.conf
DBPassword=設定したパスワード
⑥ サービス起動
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
⑦ Webアクセス
http://<IPアドレス>/zabbix
■ 詰まったポイント
① パッケージ依存エラー
原因:OSとZabbixのバージョン不一致
→ Ubuntu 24.04対応のZabbixを使用して解決
② DB接続エラー
Access denied for user 'zabbix'
原因:ユーザ/パスワード不一致
→ DBユーザを作り直して解決
③ Unknown database エラー
Unknown database 'zabbix'
原因:DB未作成
→ CREATE DATABASEで解決
④ dbversion エラー
table "dbversion" was not found
原因:初期データ未投入
→ server.sqlを流し込み
⑤ 権限エラー
You do not have the SUPER privilege
原因:MySQL制約
→ log_bin_trust_function_creators を有効化
⑥ テーブル重複エラー
Table 'role' already exists
原因:途中で失敗したDB
→ DB削除して再作成
■ 結果
Zabbixのダッシュボードにログイン成功。
監視サーバの構築が完了しました。

■ 学んだこと
- バージョンの整合性は重要
- DBは途中失敗したら作り直すのが早い
- エラーは一つずつ潰せば必ず進む
■ 今後
- トリガー設定
- アラート通知
- 他サーバ監視
まで進めていきたいと思います。
■ 4月6日 追記
トリガーを設定し、サーバーに負荷をかけてうまく動くか確認してみました。
■ トリガー設定手順
① ダッシュボードから操作
Zabbixのダッシュボードを開き、左上の「Top hosts by CPU utilization」から対象のサーバー名をクリックします。
「CONFIGURATION」内の「Triggers」を選択します。
遷移先画面の右上、「Create trigger」をクリックする。↓

↓図の項目を入力し、保存する。(テストなので他項目は一旦スルーします)

② サーバーコンソールから負荷をかけてみる
yes > /dev/null &
👉CPUが100%になる。
③ Zabbixダッシュボードにてアラートを確認
ダッシュボードにもどり、検知されているか確認します。
…

無事検知されました。↑
■ 学んだこと
・Zabbixのトリガー設定
今後は他のトリガー設定も試していこうと思います。
■ 今後
・通知設定【メール・Slackなど】
・他サーバ監視
ができればと思っています。
