👁️

Raspberry PiにZabbix Serverを構築してサーバとIX2215を監視するよ

2023/09/18に公開

はじめに

Debian GNU/Linux 12 (bookworm) Zabbix Server 6.0 Zabbix Agent2 Apache2 mariadb Ver 15.1 Distrib 10.11.3-MariaDB NEC UNIVERGE IX2215
現在、Proxmox VEを用いてLXCコンテナを立てたりVMを立てたりして遊んでいます。
ラズパイ余ってるし、IXもあるしトラフィック監視とかしたい。

ラズパイにZabbix Serverを立て、監視対象であるサーバにZabbix Agent2をインストールし、IX2215のSNMPを有効化して監視します。

🛠監視する側の準備👀

Zabbix Server

https://www.zabbix.com/download?zabbix=6.0&os_distribution=raspberry_pi_os&os_version=12&components=server_frontend_agent&db=mysql&ws=apache
ラズパイにZabbixのリポジトリを登録してインストールしていきます。
今回はbookwormにアップデートしたラズパイに入れますが、バージョンに合わせてください。

wget https://repo.zabbix.com/zabbix/6.0/raspbian/pool/main/z/zabbix-release/zabbix-release_6.0-5+debian12_all.deb
sudo dpkg -i zabbix-release_6.0-5+debian12_all.deb
sudo apt update

諸々インストールします。

sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2

MariaDB

データベースの設定をしていきます。

sudo apt install mariadb-server
sudo mariadb -uroot -p
MariaDB> create database zabbix character set utf8mb4 collate utf8mb4_bin;
MariaDB> create user ユーザー名@localhost identified by 'パスワード';
MariaDB> grant all privileges on zabbix.* to ユーザー名@localhost;
MariaDB> set global log_bin_trust_function_creators = 1;
MariaDB> quit; 

インポートします。

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uユーザー名 -p zabbix 

log_bin_trust_function_creatorsオプションを無効に戻します。

sudo mariadb -uroot -p
MariaDB> set global log_bin_trust_function_creators = 0;
MariaDB> quit; 

コンフィグ

/etc/zabbix/zabbix_server.confに先程設定したものに編集します。

/etc/zabbix/zabbix_server.conf
DBName=データベース名
DBUser=ユーザー名
DBPassword=パスワード

Agent2のコンフィグをいじります。

/etc/zabbix/zabbix_agent2.conf
Server=ZabbixサーバのIP
ServerActive=ZabbixサーバのIP
Hostname=WebGUIで登録するホスト名

ServerとAgent2間の通信をPSKで暗号化します。

sudo su
openssl rand -hex 32 > /etc/zabbix/zabbix_agent2d.psk

/etc/zabbix/zabbix_agent2.confに追加します。

/etc/zabbix/zabbix_agent2.conf
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PSKを識別するための任意の文字列
TLSPSKFile=/etc/zabbix/zabbix_agent2d.psk

日本語化

WebGUIで日本語を表示するために、

sudo raspi-config

Localisation OptionsLocaleja_JP.UTF-8 UTF-8を選びます。
WebGUIで文字化けする箇所があるのでIPAフォントをインストールします。

sudo apt install fonts-ipafont-gothic

シンボリックリンクを作成します。

sudo ln -s /usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf /usr/share/zabbix/assets/fonts/ipagp.ttf
ls -l /usr/share/zabbix/assets/fonts
lrwxrwxrwx 1 root root 38 Sep 16 06:42 graphfont.ttf -> /etc/alternatives/zabbix-frontend-font
lrwxrwxrwx 1 root root 50 Sep 17 13:44 ipagp.ttf -> /usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf

/usr/share/zabbix/include/defines.inc.phpをいじります。

/usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'graphfont');
define('ZBX_FONT_NAME', 'graphfont');

         ↓

define('ZBX_GRAPH_FONT_NAME', 'ipagp');
define('ZBX_FONT_NAME', 'ipagp');

仕上げに...

Zabbix ServerとAgent2、Apache2を再起動し、起動時に開始するように設定します。

sudo systemctl restart zabbix-server zabbix-agent2 apache2
sudo systemctl enable zabbix-server zabbix-agent2 apache2

念のために動いているか確認します。

sudo systemctl status zabbix-server zabbix-agent2 apache2 

WebGUI

WebGUIにアクセスして設定していきます。

http://サーバのIP/zabbix


先程設定したユーザー名とパスワードを入力。

任意のサーバー名を入力。

デフォルトではユーザー名 Admin, パスワード zabbixとなっています。

暗号化を有効にする


先程設定したIdentityとPSKを入力。

🛠監視される側の準備🍠💬 👀

同じようにリポジトリを登録してからAgent2をインストールします。
↓のはUbuntu向けのパッケージなので各自変更してください。

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo apt update
sudo apt install zabbix-agent2

コンフィグ

Agent2のコンフィグをいじります。

/etc/zabbix/zabbix_agent2.conf
Server=ZabbixサーバのIP
ServerActive=ZabbixサーバのIP
Hostname=WebGUIで登録するホスト名

ServerとAgent2間の通信をPSKで暗号化します。

sudo su
openssl rand -hex 32 > /etc/zabbix/zabbix_agent2d.psk

/etc/zabbix/zabbix_agent2.confに追加します。

/etc/zabbix/zabbix_agent2.conf
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PSKを識別するための任意の文字列
TLSPSKFile=/etc/zabbix/zabbix_agent2d.psk

Agent2を再起動し、起動時に開始するように設定します。

sudo systemctl restart zabbix-agent2
sudo systemctl enable zabbix-agent2

ホスト作成

ホストタブから監視対象を追加します。
ホスト名は/etc/zabbix/zabbix_agent2.confで設定したものを入力。
適当にテンプレとグループを追加していきます。

こんな感じになったらオーケーです。

IX2215

IX2215のコンソールからSNMPを有効します。

# config
(config)# snmp-agent ip enable
(config)# snmp-agent ip community コミュニティ名 ro
(config)# snmp-agent ip host ZabbixServerのIP コミュニティ名 version 2
(config)# write memory

IX用のテンプレートをダウンロードして、設定→テンプレートでファイルをインポートします。
https://github.com/zabbix/community-templates/tree/main/Network_Devices/template_nec_univerge_ix/6.0
ホストを登録します。

マップ

Ctrlキー押しながらクリックすることでホスト間にリンクを繋げることができます。
設定ホストアイテムからキーをコピーして
リンクのラベルに

{?last(/ホスト名/キー)} 

を入力することでトラフィックなどをマップに表示できます。

参考

https://www.zabbix.com/documentation/3.0/en/manual/encryption/using_pre_shared_keys
https://www.ingenious.jp/articles/howto/zabbix-howto/zabbix-graph-garbled/
https://kusoneko.blogspot.com/2022/02/zabbix-ix2215-monitoring.html
https://bestmonitoringtools.com/create-zabbix-maps-with-examples/

Discussion