Raspberry Piを監視サーバーに

Raspberry Piを監視サーバーにすべくセットアップする。

0.環境

今回の環境は、ハードウェアにRaspberry Pi 3 model B+を使います。
先ずはRaspberry Pi Imagerから、RaspberryPi OS LITE(64-BIT)をmicroSD cardにイメージを焼きます。

便利なことに、ホスト名、初期ユーザーとそのパスワード、WiFi設定(今回は使っていません)、ロケール設定、SSHの設定が指定できてしまうという。楽になりましたね。

1.初期設定

Raspberry Pi OS LITE は、2025年3月現在、Debianベース(12.9)になります。
パッケージ管理ソフトはaptが使われているので、まずはアップグレードまでは終わらせてしまいましょう。

user@hostname:~ $ sudo passwd root
新しい パスワード:
新しい パスワードを再入力してください:
passwd: パスワードは正しく更新されました
user@hostname:~ $ sudo apt update


user@hostname:~ $ sudo apt upgrade


この操作後に追加で 4,221 kB のディスク容量が消費されます。
続行しますか? [Y/n] Y


user@hostname:~ $

2.導入

今回はZabbixで構築します。
Zabbixのサイトに、動作環境をポチポチ選択すると、インストールの流れが表示されるサイト(https://www.zabbix.com/download)があるので、それに従って進めてみたいと思います。
今回の導入環境の選択肢は次になります。

2-1.Zabbixの導入と設定

まずはZabbixのリポジトリを登録。

user@hostname:~ $ su -
パスワード:
root@hostname:~# wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb


zabbix-release_latest_7.2+deb 100%[=================================================>] 6.93K --.-KB/s 時間 0s

2025-03-09 00:13:26 (40.1 MB/s) - `zabbix-release_latest_7.2+debian12_all.deb.1' へ保存完了 [7096/7096]

root@hostname:~# dpkg -i zabbix-release_latest_7.2+debian12_all.deb
以前に未選択のパッケージ zabbix-release を選択しています。
(データベースを読み込んでいます ... 現在 78553 個のファイルとディレクトリがインストールされています。)
zabbix-release_latest_7.2+debian12_all.deb を展開する準備をしています ...
zabbix-release (1:7.2-1+debian12) を展開しています...
zabbix-release (1:7.2-1+debian12) を設定しています ...
root@hostname:~# apt update


N: リポジトリ 'https://repo.zabbix.com/zabbix/7.2/stable/debian bookworm InRelease' がアーキテクチャ 'armhf' をサポートしないため設定ファイル 'main/binary-armhf/Packages' の取得をスキップ
root@hostname:~#

続けて、Zabbix Serverとそのフロントエージェントなどを導入。

root@hostname:~# apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent


28.6 MB のアーカイブを取得する必要があります。
この操作後に追加で 120 MB のディスク容量が消費されます。
続行しますか? [Y/n] Y


root@hostname:~#

Zabbixで利用するDBの初期設定を行います。

root@hostname:~# mysql -u root -p
Enter password: <rootユーザーパスワード>
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 42
Server version: 10.11.6-MariaDB-0+deb12u1 Debian 12

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)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.003 sec)

MariaDB [(none)]> create user zabbix@localhost identified by '<zabbix@localhostのパスワード>';
Query OK, 0 rows affected (0.288 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0.011 sec)

MariaDB [(none)]> set global log_bin_trust_function_creators = 1;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> quit;
Bye
root@hostname:~# ls /usr/share/zabbix/sql-scripts/mysql/server.sql.gz
/usr/share/zabbix/sql-scripts/mysql/server.sql.gz
root@hostname:~# zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -u zabbix -p zabbix
Enter Password: <zabbix@localhostのパスワード>
root@hostname:~# mysql -u root -p
Enter password: <rootユーザーパスワード>
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 47
Server version: 10.11.6-MariaDB-0+deb12u1 Debian 12

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)]> set global log_bin_trust_function_creators = 0;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> quit;
Bye
root@hostname:~#

2-2. Zabbixサーバーの設定

Zabbixの設定ファイルに、DBへの接続に使うパスワードを設定します。

root@hostname:~# ls /etc/zabbix/zabbix_server.conf
/etc/zabbix/zabbix_server.conf
root@hostname:~# cp -p /etc/zabbix/zabbix_server.conf{,.org}
root@hostname:~# vi /etc/zabbix/zabbix_server.conf
root@hostname:~# diff /etc/zabbix/zabbix_server.conf{.org,}
124a125
> DBPassword=<zabbixのDBに接続する時のパスワード>
root@hostname:~#

3. Zabbix起動

Zabbixの関連サービスを起動します。

root@hostname:~# systemctl restart zabbix-server zabbix-agent apache2
root@hostname:~# systemctl enable zabbix-server zabbix-agent apache2
Synchronizing state of zabbix-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zabbix-server
Synchronizing state of zabbix-agent.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zabbix-agent
Synchronizing state of apache2.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable apache2
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-server.service → /lib/systemd/system/zabbix-server.service.
root@hostname:~# systemctl status zabbix-server | grep "Active:"
Active: active (running) since Wed 2025-03-12 00:54:13 JST; 2min 58s ago
root@hostname:~# systemctl status zabbix-agent | grep "Active:"
Active: active (running) since Wed 2025-03-12 00:54:13 JST; 3min 15s ago
root@hostname:~# systemctl status apache2 | grep "Active:"
Active: active (running) since Wed 2025-03-12 00:54:14 JST; 3min 30s ago
root@hostname:~#

無事サービスのステータスが起動状況(Active)になった事を確認できました。

4. 接続~初期設定

サービスは起動したようなので、ブラウザでアクセス(http://<導入サーバーIP>/zabbix/)してみる。
すると、setup.phpに飛ばされるので初期設定を行っていきます。

4-1. 言語設定

Japanese(ja_JP)を選択すると、即座に日本語の画面に切り替わる。
とりあえず[次のステップ]を押下。

4-2. 前提条件のチェック

こちらは、手順通りに入れていれば、特段NGはないはず。
そのまま[次のステップ]を押下。

4-3. データベース接続設定

ここまでの導入手順で着ていたら、以下の様になります。
データベースのポートは念のため、ちゃんと指定しておきます。
終わったら[次のステップ]を押下。

4-4. 設定

こちらはホスト名と、タイムゾーン、テーマカラーの選択をして、[次のステップ]を押下。
通常なら、ホスト名をいれて、タイムゾーンに「(UTC+09:00) Asia/Tokyo」を選択することになります。

4-5. 確認

設定パラメータの確認が表示されたら、内容確認して、[次のステップ]を押下。

4-6. 完了

初期設定が完了したら、[終了]を押下するとログイン画面に遷移します。

5. 初回ログイン

初回ログインでは、ユーザー名:Admin、パスワードを:zabbixとしてログインします。

ログインしたら、管理画面が表示されます。(下画面は、テーマをDarkにしたものになります。)
あとは、管理対象サーバーをぶら下げて行って、監視を充実させて行くだけです。

参考
https://www.raspberrypi.com/software
https://www.zabbix.com/download