Raspberry Pi 2でZabbixサーバを構築する(Agent導入)

Mon Jan 9, 2017 in server using tags raspberrypi , home-network , homenas1 , homemon1 , homemon2 , homepxy1 , homepot1

FortiGate 60DとRaspberry Piを使用して家庭内インターネット接続環境を構築します。 最終的には以下のような構成を想定しています。

前回はZabbix Serverを導入しました。 今回はhomenas1homemon1homemon2homepxy1homepot1にZabbix Agentを導入していきます。

Zabbix Agentのインストール

Zabbix Agentをインストールします。

$ sudo -E apt-get install zabbix-agent
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libcurl3-gnutls libpci3 pciutils
以下のパッケージが新たにインストールされます:
  libcurl3-gnutls libpci3 pciutils zabbix-agent
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 1 個。
819 kB のアーカイブを取得する必要があります。
この操作後に追加で 2,344 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main libpci3 armhf 1:3.2.1-3 [48.2 kB]
取得:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main libcurl3-gnutls armhf 7.38.0-4+deb8u5 [225 kB]
取得:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main pciutils armhf 1:3.2.1-3 [251 kB]
取得:4 http://mirrordirector.raspbian.org/raspbian/ jessie/main zabbix-agent armhf 1:2.2.7+dfsg-2+deb8u1 [296 kB]
819 kB を 2秒 で取得しました (346 kB/s)
以前に未選択のパッケージ libpci3:armhf を選択しています。
(データベースを読み込んでいます ... 現在 33530 個のファイルとディレクトリがインストールされています。)
.../libpci3_1%3a3.2.1-3_armhf.deb を展開する準備をしています ...
libpci3:armhf (1:3.2.1-3) を展開しています...
以前に未選択のパッケージ libcurl3-gnutls:armhf を選択しています。
.../libcurl3-gnutls_7.38.0-4+deb8u5_armhf.deb を展開する準備をしています ...
libcurl3-gnutls:armhf (7.38.0-4+deb8u5) を展開しています...
以前に未選択のパッケージ pciutils を選択しています。
.../pciutils_1%3a3.2.1-3_armhf.deb を展開する準備をしています ...
pciutils (1:3.2.1-3) を展開しています...
以前に未選択のパッケージ zabbix-agent を選択しています。
.../zabbix-agent_1%3a2.2.7+dfsg-2+deb8u1_armhf.deb を展開する準備をしています ...
zabbix-agent (1:2.2.7+dfsg-2+deb8u1) を展開しています...
man-db (2.7.0.2-5) のトリガを処理しています ...
systemd (215-17+deb8u5) のトリガを処理しています ...
libpci3:armhf (1:3.2.1-3) を設定しています ...
libcurl3-gnutls:armhf (7.38.0-4+deb8u5) を設定しています ...
pciutils (1:3.2.1-3) を設定しています ...
zabbix-agent (1:2.2.7+dfsg-2+deb8u1) を設定しています ...

Creating config file /etc/zabbix/zabbix_agentd.conf with new version
libc-bin (2.19-18+deb8u6) のトリガを処理しています ...
systemd (215-17+deb8u5) のトリガを処理しています ...
$

Zabbix Agentの設定

Zabbix Agentを設定します。 以下ではhomepxy1を設定した際の例を記載します。

$ sudo cp -p /etc/zabbix/zabbix_agentd.conf{,.org}
$ ls -l /etc/zabbix/zabbix_agentd.conf*
-rw-r--r-- 1 root root 7570  9月 18 03:38 /etc/zabbix/zabbix_agentd.conf
-rw-r--r-- 1 root root 7570  9月 18 03:38 /etc/zabbix/zabbix_agentd.conf.org
$
$ sudo vi /etc/zabbix/zabbix_agentd.conf
#Server=127.0.0.1
Server=192.168.30.10,192.168.30.20

#ServerActive=127.0.0.1
ServerActive=192.168.30.10,192.168.30.20

#Hostname=Zabbix server
Hostname=homepxy1
$

Zabbix Agentを再起動します。

$ sudo systemctl restart zabbix-agent
$ sudo systemctl enable zabbix-agent
Synchronizing state for zabbix-agent.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d zabbix-agent defaults
Executing /usr/sbin/update-rc.d zabbix-agent enable
$

iptablesの通信許可(iptablesを設定しているホストのみ)

Zabbix Serverとの通信を許可する。

#Zabbix-Agentへの通信は許可
$ sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.30.0/24 --dport 10050 -j ACCEPT

#Zabbix-Serverへの通信は許可
$ sudo iptables -A OUTPUT -m state --state NEW -m tcp -p tcp -d 192.168.30.0/24 --dport 10051 -j ACCEPT

iptablesの設定を保存します。

$ sudo netfilter-persistent save
run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save
run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save
$

Zabbix Serverでの監視登録

  • Zabbixへのログイン

ブラウザからZabbix ServerのURL(http://IPアドレス/zabbix)にアクセスしてログインします。

  • 監視対象ホストの追加

Configuration -> Hostsを選択します。

Create hostを選択し、Hostタブの以下の項目を入力します。

Host name: homepxy1
Groups: Linux servers
Agent interfaces: 192.168.20.10

Templatesタブの以下の項目を入力します。

Linked templates: Template OS Linux

Saveをクリックします。

  • 監視対象ホストの追加確認

Hostsのリストに追加したホスト名が表示されていること、StatusがMonitoredになっていることを確認します。

以下は対象ホストをすべて登録した状態になります。

以上