2017年8月24日木曜日

Raspberry PiにZabbix Agentをインストールする

Raspberry Piで取得したセンサー情報をZabbixに連携して監視できるようにしたいと思い、とりあえずZabbix Agentをインストールすることにした。

今回使用するRaspberry PiのOSはRaspbianとなり、バージョンは以下となる。

$ lsb_release -a
------------------------------
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 8.0 (jessie)
Release:        8.0
Codename:       jessie
------------------------------

apt-getで簡単インストール

Raspbianへのzabbix-agentはapt-getで簡単にインストールできる。

$ sudo apt-get install zabbix-agent
------------------------------
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています       
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libpci3 pciutils
以下のパッケージが新たにインストールされます:
  libpci3 pciutils zabbix-agent
アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。
595 kB のアーカイブを取得する必要があります。
この操作後に追加で 1,883 kB のディスク容量が消費されます。
続行しますか? [Y/n] y

~(中略)~

libpci3:armhf (1:3.2.1-3) を設定しています ...
pciutils (1:3.2.1-3) を設定しています ...
zabbix-agent (1:2.2.7+dfsg-2+deb8u3) を設定しています ...

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

バージョンを確認すると、2.2.7となっていた。2014年10月の記載があり、予想よりも古いエージェントがインストールされるという印象。

$ zabbix_agentd -V
------------------------------
Zabbix Agent (daemon) v2.2.7 (revision 50148) (24 October 2014)
Compilation time: Aug 12 2017 04:46:02
------------------------------

apt-getが使えない場合のインストール (※未検証)

インターネットへの接続ができずapt-getによるインストールができない場合は、直接ファイルを落としてインストールする。ダウンロード先は以下となる。

http://mirrordirector.raspbian.org/raspbian/pool/main/p/pciutils/
libpci3_3.2.1-3_armhf.deb
pciutils_3.2.1-3_armhf.deb

http://mirrordirector.raspbian.org/raspbian/pool/main/z/zabbix/
zabbix-agent_2.2.7+dfsg-2+deb8u3_armhf.deb

上記3つのファイルをダウンロードして、"dpkg -i"でインストールすればよいはず。

$ sudo dpkg -i libpci3_3.2.1-3_armhf.deb
$ sudo dpkg -i pciutils_3.2.1-3_armhf.deb
$ sudo dpkg -i zabbix-agent_2.2.7+dfsg-2+deb8u3_armhf.deb

Zabbix Agentの初期設定

/etc/zabbix/zabbix_agentd.confに必要な設定を記載する。この設定ファイルはコメント行も含めると、かなり長いものとなっているが、実際に必要な設定は以下のみとなる。

$ cat /etc/zabbix/zabbix_agentd.conf | grep -v -e "^#" -e "^$"
------------------------------
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix-agent/zabbix_agentd.log
LogFileSize=1
Server=<Zabbix ServerのIPアドレス>
ServerActive=<Zabbix ServerのIPアドレス>
Hostname=<Agetn側のホスト名 ※Zabbix Serverに登録するホスト名と合わせる>
AllowRoot=1   ←★注
Include=/etc/zabbix/zabbix_agentd.conf.d/
------------------------------

注) AllowRoot=1はZabbix Agentをroot権限で実行する設定となり、セキュリティ上は非推奨の設定となる。しかし、ログ監視の対象ログがroot以外読み取り不可となっている場合(/var/log/messagesなど)は監視ができなくなるため、あえて有効にしている。当然、そのような監視が不要であれば設定しない方がよい。

------------------------------
★(2018/3/28追記)
上記について、AllowRoot=1せずに監視する方法を別記事で記載した。

ZabbixでAllowRoot=1をせずに/var/log/messagesなどを監視する方法
https://tech-mmmm.blogspot.jp/2018/03/zabbixallowroot1varlogmessages.html
------------------------------

設定が終わったら、Zabbix Agentを再起動する。

$ sudo systemctl restart zabbix-agent.service

Zabbix Server側の監視設定

次にZabbix Server側でホストの登録を行う。

まずは、Raspbian用のテンプレートとして、「Template OS Raspbian」を作る。といっても、RaspbianはLinuxなので、Zabbixに標準で存在するTemplate OS Linuxにリンクするだけで完成。このテンプレートをベースに将来的にRaspbian特有の監視設定を追加できるようにする。


次に、ホストの登録を行う。ホスト名とIPアドレスを正しく設定し、テンプレートタブにて先ほど作成した「Template OS Raspbian」とリンクすればよい。



これで問題なければ監視ができるはず。試しに最新データを見てみると、以下の通り各種情報の取得に成功していることがわかる。



0 件のコメント:

コメントを投稿

人気の投稿