RaspberryPiにZabbix Agentを入れて監視する
初めに
Zabbixを立てたが、監視対象がないと萎えるのでRaspberryPiにAgentを入れて監視してみる事にした。
対象のRaspberryPiのOSは下記です。
$lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
手順
1. install
aptにてインストール出来るので、インストール作業を実施する。
sudo apt update
sudo apt install zabbix-agent
SystemDの管理下で動いていることは分かる。
※しかし、接続先のサーバなどが登録がないため、動作しているだけの状態です。
$ sudo systemctl status zabbix-agent
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-03-06 02:49:33 GMT; 1min 51s ago
Docs: man:zabbix_agentd
Main PID: 25613 (zabbix_agentd)
Tasks: 6 (limit: 1597)
CPU: 137ms
CGroup: /system.slice/zabbix-agent.service
├─25613 /usr/sbin/zabbix_agentd --foreground
├─25614 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
├─25615 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
├─25616 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
├─25617 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
└─25619 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
Mar 06 02:49:33 raspberrypi systemd[1]: Started Zabbix Agent.
Mar 06 02:49:33 raspberrypi zabbix_agentd[25613]: Starting Zabbix Agent [raspberrypi]. Zabbix 5.0.8 (revision d3c78f993a).
Mar 06 02:49:33 raspberrypi zabbix_agentd[25613]: Press Ctrl+C to exit.
2. 設定変更
設定は/etc/zabbix/zabbix_agentd.conf
に存在するのでこれを変更します。
sudo nano /etc/zabbix/zabbix_agentd.conf
Server,ServerActiveにはZabbixサーバのIPを設定してください。
Hostnameには任意の名前を設定してください。
※ザビックス側で確認しやすい名前がおすすめです。
Server={zabbix server name}
ServerActive={zabbix server name}
Hostname={device name}
設定を有効化するため、再起動をさせてください。
sudo systemctl restart zabbix-agent
3. サーバ側でホストを登録
Configuration
>Hosts
でホスト一覧を表示
Create host
でホストを追加
ここでは、RaspberryPi側で設定した{device name}
をホスト名にする。
これで作成。
4. グラフが表示されない問題
4.1 Agentにサーバから接続できない
グラフが表示されないのは、RaspberryPi側から10051ポートで通信疎通は出来ているが、RaspberryPiがわの10050ポートにサーバがアクセスできない事が原因だと思われる。
3.1.1 正しい場合
監視対象のサーバとZabbixサーバがお互いにアクセスできれば、お互いにやり取りできる。
3.1.2 現状
グローバルIPを持っているのが、自宅ルータ(ONU)になるため、Zabbixサーバはそこまでしかアクセスできない。
※外部への通信はブロックされていないため、アクセス可能
3.1.2 変更後
自宅ルータの設定でPortをフォワーディングする設定を追加しました。
簡単に言えば、「10050に来た通信は内部のxx.xx.xx.xxに転送してください」という設定。
これで、自宅のグローバルIPで10050に来た通信はRaspberryに転送できます。
※メーカごとに異なるので個別に検索をしてみてください。下記のように型名で検索するとすぐに出てきます。
※また、設定を有効にすると外部からの侵入を許すことになります。理解をした上で設定してください。3.2 Zabbixサーバ側ホスト設定を変更
Zabbixサーバ側も、どこにRaspberryPiが存在するか分かりません。
ですので、どこに接続するべきかの設定と、グラフのテンプレート設定を有効にします。
Configuration
>Hosts
でホスト一覧を表示
対象のホストを選択します。
画面中盤のinterface
横のAdd
をクリックします
Agentを選択してください。
IP addressに自宅のグローバルIPを設定してください。
自宅のIPアドレスは確認くん
などで確認できます。
画面上部のTemplates
をクリックしてください。
ここでは表示するグラフのテンプレートを選択する事ができます。
select
をクリックすると選択画面が表示されます。
この状態で設定を保存してあげてください。
3.3 グラフの表示確認
Monitoring
>Hosts
をクリックして、作成したホストのGraphs
を選択してください。
メモリやCPUのグラフが表示されれば完了です。
Discussion