LoginSignup
20
19

More than 5 years have passed since last update.

Raspberry Pi(Raspbian)にzabbix3.4.4をいれて監視環境を作る

Posted at

はじめに

今回は安価で購入できるRaspberry Pi3にZabbix3.4.4をいれて、自宅のネットワーク機器やサーバ群・ストレージを監視できる環境を構築していきたいと思います。
この記事を書こうと思った理由は、Raspberry Pi が armhf アーキテクチャである事もあり?、Zabbixのインストール手順が普段使っているLinuxサーバと少し異なっていた為である。私も構築に苦戦しましたが何とかできたので、その備忘録も兼ねてこの記事を残します。

環境

  • Raspberry Pi 3
  • Raspbian jessie lite
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 8.0 (jessie)
Release:    8.0
Codename:   jessie
  • Zabbix 3.4.4
  • MySQL 5.5.57-0+deb8u1 (Raspbian)

準備

パッケージマネージャーの設定

aptライブラリのインデックスを更新

$ sudo apt-get update

システムにインストールされているパッケージを最新バージョンにする

$ sudo apt-get upgrade

Zabbixに必要なパッケージのインストール

必要パッケージのインストール(かなり時間かかります)

$ sudo apt-get install make gcc libc6-dev libmysqlclient-dev libcurl4-openssl-dev 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 gettext vim

(重要)ここまでは参考サイトにあるが、後のZabbixインストール時にエラーが出た為、追加で以下のパッケージもインストール

$ sudo apt-get install libevent-dev libpcre3-dev

Zabbixインストール

以下のサイトからダウンロード(非公式)
https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.4/

スライド1.jpg

ダウンロードしたzabbix-3.4.4.tar.gzを解凍

$ tar xzf zabbix-3.4.4.tar.gz

解凍先に移動

$ cd zabbix-3.4.4

Zabbixを端末にインストールする

$ sudo ./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
$ sudo make
$ sudo make install 

MySQLの設定

Zabbix用のMySQL(DB)を構築していきます

MySQLに接続(パスワードはインストール時の設定したもの)

$ mysql -u root -p
Enter password:

DB(Zabbix)の作成、DBにユーザを設定・権限の付与、MySQLからログアウト
DB名:zabbix
ユーザ名:zabbix
パスワード:zabbix
として設定(任意で変更してください)

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

zabbixでMySQlを利用するための初期データ(定義ファイル)を作成したDBに投入

$ cd zabbix-3.4.4
$ mysql -u zabbix --password=zabbix zabbix < database/mysql/schema.sql
$ mysql -u zabbix --password=zabbix zabbix < database/mysql/images.sql
$ mysql -u zabbix --password=zabbix zabbix < database/mysql/data.sql

Zabbixの設定

上記で設定したMySQlとの結び付け、起動の為の設定をしていきます。

MySQLとの接続設定

MySQLとZabbixが接続する為の情報を設定する

$ vi /usr/local/etc/zabbix_server.conf
 --省略--
 (以下のように該当部分を編集)
 DBName=zabbix
 DBUser=zabbix
 DBPassword=zabbix
 DBSocket=/var/run/mysqld/mysqld.sock

とりあえずzabbix-serverのプロセスをつける

$ zabbix-server

起動ログの確認(errorとか出てなければOK)

$ sudo tailf /tmp/zabbix_server.log
 15976:20171208:170539.405 server #0 started [main process]
 15979:20171208:170539.407 server #1 started [configuration syncer #1]
 :
 :

起動スクリプトの設定

$ sudo cp zabbix-3.4.4/misc/init.d/debian/zabbix-* /etc/init.d

Zabbix-server起動スクリプトの設定

$ sudo vim /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 #

Zabbix-agent起動スクリプトの設定

$ sudo vim /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 #

設定ファイルの更新

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

zabbix-server,zabbix-agentの起動

この時点では、まだ何も動作しないが起動スクリプトがエラーなく動くことを確認する

$ sudo /etc/init.d/zabbix-server start
$ sudo /etc/init.d/zabbix-agent start

フロントエンドの設定

ZabbixをWebブラウザから閲覧する為の設定をしていきます。

ZabbixのPHPファイル公開のため、Apacheの設定変更

$ sudo vi /etc/php5/apache2/php.ini
 --省略--
 (以下のように該当部分を編集)
 memory_limit = 128M
 post_max_size = 16M
 max_execution_time = 300
 max_input_time = 300
 date.timezone = Asia/Tokyo

Webブラウザに表示するファイルを公開ディレクトリにコピー

$ sudo mkdir /var/www/html/zabbix
$ cd zabbix-3.4.4/frontends/php
$ sudo cp -a . /var/www/html/zabbix

ロケールとディレクトリの所有権限の変更

$ cd /var/www/html/zabbix/locale
$ ./update_po.sh
$ ./make_mo.sh
$ sudo chown -R www-data /var/www/html/zabbix

IPアドレスにアクセス時に/zabbixにリダイレクトされるように、index.htmlを編集

$ sudo vim /var/www/html/index.html
(全消去した上で)
----------------------------------------------
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
   <meta http-equiv="refresh" content="0;URL=/zabbix">
  </head>
</html>
-----------------------------------------------
(に変更)

Apache2の再起動

$ service apache2 force-reload

Zabbixも念のため再起動。忘れていたのでenble(デーモン化)もする

$ sudo systemctl enable zabbix-server
$ sudo systemctl restart zabbix-server
$ sudo systemctl enable zabbix-agent
$ sudo systemctl restart zabbix-agent

WebブラウザからZabbixにアクセス

ZabbixサーバのIPアドレスにWebブラウザからアクセスします。

スクリーンショット 2017-12-08 17.35.21.png

Zabbixに必要なパッケージがインストールされていれば、OKの表示が出ます

スクリーンショット 2017-12-08 17.35.34.png

DBとの接続設定をWebブラウザからも行います。
登録した通りに各情報を入力します。

DB名:zabbix
ユーザ名:zabbix
パスワード:zabbix

スクリーンショット 2017-12-08 17.35.47.png

ホスト名,サーバ名を設定します

スクリーンショット 2017-12-08 17.36.45.png

設定を確認してNext stepを押します。

スクリーンショット 2017-12-08 17.36.57.png

以下のデフォルト情報を入力して、Zabbixの管理画面を開きます
ユーザ名:Admin
パスワード:zabbix

スクリーンショット 2017-12-08 21.21.46.png

Zabbixにログインできました。
スクリーンショット 2017-12-08 22.39.18.png

日本語に翻訳させたい方は以下の設定を追加で行う。

$ sudo localedef -f UTF-8 -i ja_JP ja_JP
$ sudo systemctl restart zabbix-server
$ sudo service apache2 force-reload

Zabbix画面の右上の人型のマークをクリックする。
Language:Japanese(ja_JP)にし、updateする
スクリーンショット 2017-12-08 22.41.40.png

これで日本語に変換される。

監視テスト

簡単にZabbix-agentの動作を確認する

Zabbixサーバ自身を監視する設定はデフォルトで入っているので
「設定」→「ホスト」→ステータス「無効」をクリックする。
以下のような画面となるので、監視を有効化する。

スクリーンショット 2017-12-08 22.33.05.png

少し待つとzabbix-agentとのやりとりにより監視情報が見れるようになる。
以下は、「監視データ」→「グラフ」からCPU utilization(CPU使用率)を見たものである。

スクリーンショット 2017-12-08 22.49.03.png

おわりに

今回はRaspbianにZabbixの環境を構築する方法を書きました。

以前にzabbixでVyOSをSNMP監視するは書いているので、Slackにアラートを投げる方法・アクセスポイントの監視とかを今後は書ければと思ってます。

最後に参考文献です。ありがとうございました。

20
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
19