Raspberrypi 2B + zabbix2.4.4


  概要
Raspberrypiに4コア1GBメモリとクロックアップした2Bモデルがリリースされた事で従来よりパフォーマンスアップが期待できましたので、小規模のサーバ監視用にzabbix2.4.4を載せました。
サーバ上ではzabbix-server,zabbix-agent,mysql,php5,apache2が動作しています。

Raspberrypiは安価な上に小型で少電力で動作しますので、場所もとらず物理サーバの増設も簡単です。
 zabbixはオープンソースでバージョンアップの度に機能も追加されていますので最新版のソース2.4.4からコンパイルします。
zabdash.png

Raspberrypi設定
Raspberrypiは2用のRASPBIANをDownloadします。
  http://www.raspberrypi.org/downloads/
raspbian.png
ディスクイメージはwindowsからWin32Diskimager.exeを使ってmicroSDに書き込みます。

raspbianの初期設定ではusbキーボードマウス、EtherCable,HDMIモニタを接続した上で書き込んだmicroSDからbootします。
起動すると初期メニュー画面(raspi-config)が表示されますので、SSH Server Enableを設定、Expand File Systemを設定しrebootします。
loginは初期ユーザpi,パスワードraspberryです。

startxによりGUIを起動し、Terminalからネットワーク設定を行います。
初期設定はdhcpですのでstatic設定に変更します。
    >sudo vi /etc/network/interfaces
     #iface eth0 inet dhcp
     iface eth0 inet static
     address 192.168.1.250
   netmask 255.255.255.0
     gateway 192.168.1.1
    >sudo vi /etc/resolv.conf
     nameserver 192.168.1.1
    >sudo /etc/init.d/networking reload
   
パッケージ追加
    zabbix環境用にパッケージを追加します。
    >apt-get update
    >apt-get install [package list]
   以下のパッケージをインストールします。
libcurl4-openssl-dev, libxml2-dev, libsnmp-dev, snmpd, mysql-server-5.5, apache2, php5, libapache2-mod-php5, php5-gd, php5-mysql, libmysqlclient-dev >apt-get update
ZABBIX設定
zabbix2.4.4sourcesをダウンロードします。   http://www.zabbix.com/download.php
zabbixdownload.png
/usr/local/zabbix-2.4.4に展開します。
  >./configureを実行します。
  configureには以下必要なオプションを指定します。
	--enable-server
	--enable-agent
	--enable-proxy
	--enable-ipv6
	--with-mysql
	--with-net-snmp
	--with-libcurl
	--with-libxml2
	--with-ssh2
	結果を確認後に
    >make install
    結果を確認後に	
    >vi /usr/local/etc/zabbix_server.confを設定します。
	DBHost=localhost
	DBName=zabbix
	DBUser=zabbix
	DBpassword=zabbix
	
mysql設定
mysqlにzabbix用dbを設定します
   >mysql -u root -p
   mysql>create database zabbix character set utf8 collate utf8_bin;
   mysql>quit;
   >mysql -u root -p
   mysql>grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
   mysql>flush privileges;
   mysql>quit;
   
   >cd /usr/local/zabbix-2.4.4/database/mysql
   >mysql -u root zabbix -p <schema.sql
   >mysql -u root zabbix -p <images.sql
   >mysql -u root zabbix -p <data.sql
   
ここでzabbix-serverを起動します。
>/usr/local/sbin/zabbix-server
FrontEndを設定
zabbixのFrontEndはapacheとphpを設定します
  >mkdir /var/www/zabbix
  >cd /usr/local/zabbix-2.4.4/frontend/php
  >cp -a . /var/www/zabbix
  
  hostsを変更
  >vi /etc/hosts
  #127.0.1.1 raspberrypi
  192.168.1.250 raspberrypi.localhost raspberrypi

  zabbixユーザ作成
  >adduser zabbix

  >vi /boot/cmdline.txt
   elevator=deadline cgroup_enable=memory rootwait

  apache2設定
  >vi /etc/apache2/site-available/default
   ServerName raspberrypi
  >service apache2 restart
  
zabbixをブラウザから設定
 zabbixのフロントエンドにアクセスしてインストール設定を行います
http://192.168.1.250/zabbix
failと表示された項目の設定を行います
  >vi /etc/php5/apache2/php.ini
   post_max_size 16M
   max_execution_time 300
   max_input_time 300
   date.timezone="Asia/Tokyo"
  >service apache2 restart
  >chmod 777 /var/www/zabbix
  >chmod 777 /var/www/zabbix/conf
  
zabbixsetup.png
ここまでの設定が完了するとzabbixのフロントエンドにログインできます。
user=Admin,passwor=Zabbixにてログインして監視設定ができるようになります。
但しこの時点で幾つかの問題がありますので追加の設定を行います。

日本語表示の対応
>apt-get install jfbterm によりフォントを追加します。
>raspi-config メニューを再表示してlocale設定を行いrebootします
グラフの文字化け対応
>apt-get install ttf-vlgothic
>ln -s /usr/share/fonts/truetype/fonts-japanese-gothic.ttf /var/www/zabbix/fonts/fonts-japanese-gothic.ttf
>vi /var/www/zabbix/include/define.inc.php
ZBX_GRAPH_FONT=(fonts-japanese-gothic)を設定
サーバ起動時にzabbix-server,zabbix-agentが起動するよう設定を行います。
  >apt-get install chkconfig
  >cp /usr/local/zabbix-2.4.4/misc/init.d/debian/* /etc/init.d
  >chkconfig zabbix-agent on
  >chkconfig zabbix-server on
 zabbixのネットワークディスカバリで使うfpingがインストールされていないので設定します
>apt-get install fping

>ln -s /usr/bin/fping /usr/sbin/fping
>service zabbix-server restart

zabbixの監視設定
 監視対象のホスト登録は個別に登録する事もできますが、Agentをインストールした場合はアクションを記述し、自動登録するように出来ます。
 Agentはzabbixのダウンロードページからwindows用、linux用、sun用など個別にダウンロードしてインストールします。
またAgentを入れない場合ping,ssh,http等をディスカバリ設定を行い、検出したホストを登録しテンプレートを割り当てるアクションを記述して自動登録するように出来ます
discovping.png
zabaction.png

課題
raspberrypiのストレージに使っているmicroSDカードはブロックの書き換え回数の保障値が1000回程ですので収集データを格納するmysqlのDBのアクセスの為、すぐに寿命となります。 実用とするには対策としてusb接続のhddなどを使う必要があります。


counter

メールyamama@ps.ksky.ne.jp