straightweeds.hatenablog.com

30代のシステムエンジニアが興味のあることだけ書くブログ

Raspberry PiにZabbix 3.0をインストール

Raspberry PiにZabbix3.0.4をインストールしてみました。

f:id:straightweeds:20160804232115p:plain x f:id:straightweeds:20160804231919j:plain

お決まり

作業はrootで実施するのでsuしておきます。

su -

インストール前のアップデート

まずはRaspberry Piお決まりのアップデートを実施します。

1.カタログのアップデート

apt-get update

2.アップデートの実行

apt-get upgrade

インストール前のその他の作業

前提のパッケージを一気にインストールします。

1.前提パッケージのインストール

apt-get install make gcc libc6-dev libmysqlclient-dev libcurl4-openssldev libssh2-1-dev libsnmp-dev libiksemel-dev mysql-server libsqlite3-dev libopenipmi-dev fping php5-gd snmp libsnmp-base openjdk-7-jdk unixodbc unixodbc-dev libxml2 libxml2-dev snmp-mibs-downloader snmpd snmptt python-pywbem php5-ldap php5-mysql traceroute libldap2-dev apache2 php5 libapache2-mod-php5

途中でmysqlのパスワード設定を求められます。 f:id:straightweeds:20160804234127j:plain

f:id:straightweeds:20160804234134j:plain

Zabbixのインストール

さて、ここからが本題。Zabbix本体をインストールします。 ちなみにこの記事時点の最新は 3.0.4 ですが、実際にインストールする前には以下のサイトにアクセスして最新版を確認できます。

sourceforge.net

1.ダウンロード先のフォルダに移動

cd /usr/src

2.ダウンロード

wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.4/zabbix-3.0.4.tar.gz

3.解凍

tar xzf zabbix-3.0.4.tar.gz

4.解凍先に移動

cd zabbix-3.0.4/

5.前提設定

./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

6.make

make

7.インストール

make install

データベースの設定

それではデータベース(mysql)の設定をしていきます。

1.ユーザの作成

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

2.mysqlにログイン

mysql -u root -p

パスワードを求められるのでmysqlインストール時に入力したパスワードを入力します。

ログインに成功したら mysql> が表示されます。

3.データベース(zabbix)の作成

create database zabbix;

4.DBにユーザを設定

grant all on zabbix.* to zabbix@localhost identified by 'zabbix';

5.mysqlからログアウト

quit

6.テーブルの作成

Zabbix用のテーブルを用意されている定義ファイルを使用して作成します。

mysql -u zabbix --password=zabbix zabbix </usr/src/zabbix-3.0.4/database/mysql/schema.sql
mysql -u zabbix --password=zabbix zabbix </usr/src/zabbix-3.0.4/database/mysql/images.sql
mysql -u zabbix --password=zabbix zabbix </usr/src/zabbix-3.0.4/database/mysql/data.sql

設定ファイルの編集

設定ファイルを編集していきます。

1.zabbix_server.confの編集

nano /usr/local/etc/zabbix_server.conf

変更するのは以下の項目です。

DBHost=localhost<br>DBName=zabbix<br>DBUser=zabbix<br>DBPassword=zabbix<br>Timeout=30<br>ExternalScripts=/usr/local/share/zabbix/externalscripts<br>FpingLocation=/usr/bin/fping<br>Fping6Location=/usr/bin/fping6

2.起動スクリプトのコピー

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

3.起動スクリプトの編集(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 #

起動時に mysql が起動しているかどうかを確認するために[echo "Starting $DESC: $NAME"]の直後に以下の内容を追記します。

echo "MySQLCheck"
#MySQL boot check
LoopCounter=1
SQLStatus=`ps -ef | grep /usr/sbin/mysqld | grep -v grep  | wc -l`
while [ $SQLStatus -le 0 ]
do
SQLStatus=`ps -ef | grep /usr/sbin/mysqld | grep -v grep  | wc -l`
    sleep 10s
    if [ $LoopCounter -gt 12 ]; then
        exit 1
    fi
    LoopCounter=`expr $LoopCounter + 1`
done

4.起動スクリプトの編集(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 #

5.起動スクリプトを更新

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

6.Zabbixの軌道

service zabbix-server start
service zabbix-agent start

Web設定

Web画面を表示するための設定をします。

1.対象ファイルのコピー

cp -r -f /usr/src/zabbix-3.0.4/frontends/php/* /var/www/html/

2.ファイル所有者の変更

chown -R www-data:www-data /var/www/html/*

3.不要ファイルの削除

rm /var/www/html/index.html

4.PHP設定の変更

nano /etc/php5/apache2/php.ini

変更するのは以下の項目です。

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Europe/Berlin
always_populate_raw_post_data =-1

5.Webサーバ設定更新

service apache2 force-reload

最後の設定

ブラウザを利用して最後の設定をします。

1.ページへのアクセス

ブラウザからZabbixをインストールしたサーバのIPアドレスにアクセスします。

2.初期設定

画面に従って設定します。

f:id:straightweeds:20160805001244j:plain [Next step]をクリックします

f:id:straightweeds:20160805001312j:plain 自動的にチェックが完了するので[Next step]をクリックします
※問題があれば問題を解決します

f:id:straightweeds:20160805001349j:plain 必要項目を入力します

Database type : MySQL
Database host : localhost
Database port : 0
Database name : zabbix
User : zabbix
password : zabbix

入力したら[Next step]をクリックします

f:id:straightweeds:20160805001517j:plain 必要項目を入力します

Host : Raspberry Piのホスト名
Port : 10051
Name : Raspberry Piのホスト名

入力したら[Next step]をクリックします

f:id:straightweeds:20160805001616j:plain 設定内容を確認して問題なければ[Next step]をクリックします

f:id:straightweeds:20160805001644j:plain 成功したので[Finish]をクリックします

f:id:straightweeds:20160805001714j:plain ログイン画面が表示されます

デフォルトのユーザ名 admin、パスワード zabbix を入力してログインします

これでRaspberry PiにZabbix3.0がインストールできました。

↓気が向いた時でいいのでポチって頂けると幸いです↓