Raspberry Pi 3 に Zabbix 3.4 をインストール

Zabbixとは

オープンソースの監視ツールです。
サーバやネットワーク機器がダウンした際にメールで通知をしたり、機器から様々なデータ(CPU使用率やディスクの空き容量など)を取得して可視化することができます。

動作環境

ハードウェア:Raspberry Pi 3
OS:RASPBIAN STRETCH LITE
Zabbix: 3.4
Apache: 2.4
PHP: 7.0
DB: MariaDB 10.1

Zabbixのインストール

rootに切り替え

sudo su

既存ソフトウェアのアップデート

apt-get update
apt-get upgrade

java関連のインストール。どうしてもエラーになるため、手動でファイルコピーする。

apt install openjdk-8-jre-headless openjdk-8-jdk ca-certificates-java 
cd /usr/lib/jvm/java-8-openjdk-armhf/jre/lib/arm/
cp -r client server
reboot

残りをまとめてインストール

apt install apache2 php7.0 php7.0-ldap php7.0-mysql php7.0-bcmath php7.0-mbstring php7.0-xml php7.0-gd libapache2-mod-php7.0 make gcc libc6-dev default-libmysqlclient-dev libcurl4-openssl-dev libssh2-1-dev libsnmp-dev libiksemel-dev mysql-server libsqlite3-dev libopenipmi-dev fping snmp libsnmp-base unixodbc unixodbc-dev libxml2 libxml2-dev snmp-mibs-downloader snmpd snmptt python-pywbem  traceroute libldap2-dev libevent-dev libssl-dev libpcre3-dev

ソースコードをダウンロード

cd /usr/src
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.14/zabbix-3.4.14.tar.gz

ダウンロードしたファイルを解凍

tar xzf zabbix-3.4.14.tar.gz

configureスクリプトを実行

cd zabbix-3.4.14
./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-ssh2 --with-libxml2 --enable-ipv6 --with-unixodbc --with-openssl --enable-java --with-jabber --with-ldap

下記の画面が表示されたらmake installと入力

make install 

DB設定

DBのrootパスワードを設定。初期パスワードは未設定なのでcurrent passwordはエンターキーだけで進む。

/usr/bin/mysql_secure_installation

ユーザーを作成

adduser --system --home /usr/local/sbin --no-create-home zabbix

データベースを作成

mysql -uroot -pzabbix
create database zabbix;
grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
quit

mariaDBの設定変更
utf8mb4だとエラーになるため、従来のutf8に変更。このため絵文字は使えません。
次の4つのファイルでutf8mb4をutf8に変更

cd /etc/mysql/mariadb.conf.d/
nano 50-server.cnf
nano 50-mysql-clients.cnf
nano 50-client.cnf
nano 50-mysql-clients.cnf
service mysqld restart

設定確認

mysql -uroot -p
MariaDB [(none)]> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

DBに初期データを作成

mysql -uzabbix --password=zabbix zabbix < /usr/src/zabbix-3.4.14/database/mysql/schema.sql
mysql -uzabbix --password=zabbix zabbix < /usr/src/zabbix-3.4.14/database/mysql/images.sql
mysql -uzabbix --password=zabbix zabbix < /usr/src/zabbix-3.4.14/database/mysql/data.sql

Zabbix設定

起動スクリプトをコピー

cp -a /usr/src/zabbix-3.4.14/misc/init.d/debian/zabbix-* /etc/init.d/

設定ファイル修正

nano /usr/local/etc/zabbix_server.conf 

# 次の項目を修正
DBPassword=zabbix
Timeout=30
ExternalScripts=/usr/local/share/zabbix/externalscripts
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6

起動スクリプトを修正(Server側)

nano /etc/init.d/zabbix-server

以下のコメント行を!/bin/shの直後に挿入
### BEGIN INIT INFO
# Provides: Zabbix daemon
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $local_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start/stop Zabbix server daemon
### END INIT INFO

起動スクリプトを修正(Agent側)

nano /etc/init.d/zabbix-agent

以下のコメント行を!/bin/shの直後に挿入
### BEGIN INIT INFO
# Provides: zabbix-agent
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $all
# Should-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop Zabbix-agent
# Description: Start/stop Zabbix-agent
### END INIT INFO

自動起動するように設定

update-rc.d zabbix-agent defaults
update-rc.d zabbix-server defaults

Apache設定

フロントエンドのファイルをコピー

cp -arf /usr/src/zabbix-3.4.14/frontends/php/* /var/www/html/
chown -R www-data:www-data /var/www/html/*

不要ファイルを削除

rm /var/www/html/index.html

phpの設定
php.iniの場所を確認

php -i | grep php.ini

次の項目を修正

nano /etc/php/7.0/cli/php.ini
post_max_size = 32M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Tokyo

日本語フォントのインストール

apt-get install fonts-ipafont-gothic
cd /var/www/html/fonts
ln -s /usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf ipagp.ttf

フォントの設定

nano /var/www/html/include/defines.inc.php

次の項目を修正。DejaVuSansをipagpに置き換える。
define('ZBX_GRAPH_FONT_NAME',           'ipagp'); // font file name

ロケールの設定

localedef -f UTF-8 -i ja_JP ja_JP

サービス起動

service zabbix-server start
service zabbix-agent start
service apache2 start

Zabbixの初期設定

ブラウザからRaspberry PiのIPアドレスを開いてください。次の画面が表示されるので「Next step」をクリックします。

設定が確認チェックされます。すべてOKなら「Next step」をクリックします。

Mysqlの接続情報を以下の通り入力して「Next step」をクリックします。

Database Type : Mysql

Database hose : localhost

Database port : 0

Database name : zabbix

User : zabbix

Password : zabbix

次の画面は何もせず「Next step」をクリックします。

「Next step」をクリックします。

「Finish」をクリックします。

ログイン画面が表示されます。以下のアカウントでログインしてください。

Username : Admin

Password : zabbix

ログインしたら「Administration」→「Users」を開き、「Admin」をクリックします。

Languageの設定を「Japanese(ja_JP)」に変更し、画面一番したの「更新」をクリックします。

更新したら「User updated」と表示されます。

ここでブラウザをReload(F5キーを押す)するか、ログインしなおすと日本語表示になります。これで設定は完了です。

PAGE TOP