【自宅サーバー】Zabbix 7.4 + Ubuntu 24.04で監視環境を構築してみた!
こんにちは、ペスケです!
今回は、自宅サーバーの健康状態をチェックするために、運用監視ソフトウェアの定番Zabbix(ザビックス)を導入した際の手順をまとめていきます。
半年後の自分が「あれ、どうやるんだっけ?」と困らないための備忘録ですが、これから自宅サーバー監視を始めたい方の参考になれば幸いです!
1. 今回のサーバー構成
まずは、今回構築に使用したマシンスペックをご紹介。余っているPCを活用したシンプルな構成です。
| 項目 | スペック |
| CPU | Intel Core i5 |
| メモリ | 8GB |
| SSD | 250GB |
| OS | Ubuntu 24.04 LTS |
本来はデータの冗長性を考えてNASなどを用意するのが理想ですが、今回は「まずは動かすこと」を優先して、シングル構成で構築していきます!
2. Zabbixのインストール準備
まずは公式サイトのダウンロードページにアクセスし、環境に合わせたパッケージを選択します。
今回の選択肢:
- Zabbix Version: 7.4 (最新版)
- OS: Ubuntu (24.04)
- Zabbix Component: Server, Frontend, Agent
- Database: PostgreSQL
- Web Server: Nginx
リポジトリの登録
Windowsのコマンドプロンプト等からSSHでサーバーに接続し、root権限で作業を進めます。
# リポジトリのダウンロードとインストール
wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu24.04_all.deb
dpkg -i zabbix-release_latest_7.4+ubuntu24.04_all.deb
apt update
# 必要なパッケージのインストール
apt install zabbix-server-pgsql zabbix-frontend-php php8.3-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
Code language: PHP (php)
注意: リポジトリのURLは時期によって変わるため、必ず公式サイトの最新情報を確認してくださいね!
3. データベースのセットアップ
今回はMySQLではなく、PostgreSQLを使用します。
ユーザーとDBの作成
Bash
# データベースユーザーの作成(パスワードを設定)
sudo -u postgres createuser --pwprompt zabbix
# データベースの作成
sudo -u postgres createdb -O zabbix zabbix
# 初期データのインポート
zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
Code language: PHP (php)
Zabbixサーバーの設定変更
設定ファイルを開き、データベースのパスワードを紐付けます。
sudo nano /etc/zabbix/zabbix_server.conf
Ctrl + W で DBPassword を検索し、コメントアウト(#)を外して設定したパスワードを記入します。
DBPassword=あなたのパスワード
4. Webサーバー(Nginx)の設定
ブラウザから管理画面にアクセスできるように設定します。
sudo nano /etc/zabbix/nginx.conf
以下の箇所のコメントアウトを外し、ポート番号とサーバーのIPアドレスを指定します。
listen 8080;
server_name 192.168.xx.xx 100.xx.xx.xx; # ローカルIPやTailscaleのIPCode language: CSS (css)
外部(Tailscaleなど)からアクセスする場合は、そのIPアドレスも並べて書いておくと便利です!
5. サービスの起動
最後に、設定を反映させて各プロセスを起動・有効化します。
# 再起動して設定反映
sudo systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm
# 自動起動の設定
sudo systemctl enable zabbix-server zabbix-agent nginx php8.3-fpmCode language: CSS (css)
まとめ
以上で、サーバー側のコマンドライン作業は完了です!
公式サイトの手順は非常に優秀ですが、OSのバージョンやDBの選択肢によってコマンドが変わるので、そこだけは要注意。
次回は、ブラウザからアクセスしてWeb UIの初期設定を進めていきたいと思います。お楽しみに!
※アイキャッチ画像はAI生成画像を使用しています
