Zabbixは無料で使えるネットワーク監視パッケージで、ネットワークの各Hostの状態 (CPU使用状況、メモリ・ストレージ使用量、ネットワーク速度等)をリアルタイムで監視できる。 ここではMariaDBとApacheを使ってZabbixを構築する。
まずはMariaDB、Apache2をインストールする。MariaDBはこちらを参照。
Apache2をインストールする。
$ sudo apt install apache2
次にZabbixをインストールする。
$ wget https://repo.zabbix.com/zabbix/6.2/debian/pool/main/z/zabbix-release/zabbix-release_6.2-1%2Bdebian11_all.deb
$ sudo dpkg -i zabbix-release_6.2-1+debian11_all.deb
$ sudo apt update
$ sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Zabbixデータベースの作成
下記は同じサーバーにZabbix serverとMySQLを入れる場合だが、もし異なるサーバーに入れたい場合は下記のlocalhostの部分を適宜変える。
例:
$ mysql -u root -p
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by '<パスワード>';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
$ zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
$ mysql -u root -p
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
ZabbixからMySQLに接続できるようにする。/etc/zabbix/zabbix_server.confに以下を追記。
DBPassword=<パスワード>
もし、Zabbix serverとMySQLのサーバーが異なるhostで運用する場合以下も追記
(中略)
DBHost=<MySQLサーバーのIPアドレス>
(中略)
DBPort=<MySQLのport(MariaDBのdefaultは3306)>
Zabbixの再起動と自動起動の設定。
$ sudo systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2
クライアント側でもzabbix-agentをインストールする。
sudo apt install zabbix-agent
$ sudo systemctl restart zabbix-agent
$ sudo systemctl enable zabbix-agent
次にサーバーを指定する。/etc/zabbix/zabbix_agentd.confのServerとServerActiveを書き換える。
### Option: Server
(中略)
Server=<サーバーのIP>
(中略)
### Option: ServerActive
(中略)
ServerActive=<サーバーのIP>
Raspberry piの場合以下を追記するとZabbixでCPUの温度を監視できる。
UserParameter=system.cpu.temperature,cat /sys/class/thermal/thermal_zone0/temp