ネットワーク機器やサーバーの監視用にラズベリーパイ3B(Raspbian 9 Stretch)にZABBIXを構築してみました。
公式サイトの情報ではうまくいかないので注意!
はじめ、Zabbix公式サイトに記載されている通りにセットアップしてみました。
しかし、情報が古いようで、あるはずのファイルがなかったり、WebGUIからのセットアップ中にエラーが発生したりして、うまくいきません。
Unable to select configuration.
its “users” table is empty
いろいろなエラーに阻まれ、めちゃくちゃ大変でした。
正しいセットアップ手順
ということで、正しいセットアップ手順をご紹介します。
インストール
まずパッケージのインストールですが、これは公式サイトの通りでOKです。
リポジトリのインストールを行います。
# wget https://repo.zabbix.com/zabbix/4.0/raspbian/pool/main/z/zabbix-release/zabbix-release_4.0-3+stretch_all.deb
# dpkg -i zabbix-release_4.0-3+stretch_all.deb
# apt update
次のコマンドでパッケージをインストールします。
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
ZABBIXサーバー本体である「zabbix-Server」、サーバー本体の監視を行う「Zabbix-Agent」、そしてWebブラウザから使用できるダッシュボード「Zabbix-frontend-php」をインストールしています。
サイトによってはこの他のパッケージも必要とされていましたが、実際にはこの3つだけでOKでした。
DB作成
データベースの作成も公式サイトの通りで問題ありません。
create database zabbix character set utf8;
create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;
データベース作成・ユーザー作成・権限設定を行っています。
スキーマ作成・初期データの投入
作成したデータベースをZabbixから利用するには、はじめに使用するテーブルを作成し、初期データを投入する必要があります。
テーブルの作成や初期データの投入は、Zabbixのインストール時に一緒にダウンロードされているsqlファイルを使用して行います。
公式サイトの説明とは異なり、sqlファイルは/usr/share/zabbix-server-mysql/にあります。
- schema.sql.gz
- images.sql.gz
- data.sql.gz
上記3つのsqlファイルを順にmysqlへダンプしてください。
次のコマンドを実行します。
$ zcat /usr/share/zabbix-server-mysql/schema.sql.gz | mysql -uzabbix -p zabbix
$ zcat /usr/share/zabbix-server-mysql/images.sql.gz | mysql -uzabbix -p zabbix
Enter password:
$ zcat /usr/share/zabbix-server-mysql/data.sql.gz | mysql -uzabbix -p zabbix
Enter password:
zcatコマンドにより、解凍しながら内容を標準出力しています。標準出力をパイプによりmysqlコマンドへ流し込むことで、必要なテーブルや初期データが作成されます。
コマンド実行後、phpMyAdminでテーブルを覗いてみました。
たくさんのテーブルが作成されています。
あとはサイトの通り!
これ以降は公式サイトの通りでOKです。
上記公式サイトの”d. Configure the database for Zabbix server“に従い、つづけてセットアップを行ってください。
WebGUIを既存のWebサーバーに配置するには?
ZabbixにはWebブラウザから利用できるダッシュボードが用意されています。
デフォルトでは、/usr/share/zabbixにソースが配置されています。
公式通りセットアップした場合、このディレクトリをaliasを使いながら直接Webサーバーでホスティングする形になりますが、すでにWebサーバーをサイト公開に使用している場合、誤ってZabbixを外部公開してしまうなどのミスの原因となります。
既存の設定を使って手動で公開したい場合は、/usr/share/zabbixを手動でWebサーバーのドキュメントルートにコピーしてしまいましょう。
$cp -r /usr/share/zabbix /var/www/html
これでも問題なく動作します。
なお、ダッシュボードを移動した場合も、/etcにある設定ファイル(/etc/zabbix/zabbix.conf.php)はそのままにしておいてください。
zabbix.conf.phpはフロントエンドからzabbix-serverおよびデータベースにアクセスするための情報が保存されています。WebGUIのディレクトリを移動した場合も、このファイルは引き続き使用されますので、移動したり削除したりしてはいけません。
削除してしまうと、フロントエンドの設定をやりなす必要が生じますので、注意です。
グラフの文字が表示されないときは?
グラフで視覚的にホストの稼働状況を確認できるのが魅力のZabbixですが、残念ながら環境によってはグラフが正常に表示できない場合があります。
正確にいうとグラフは表示されるのですが、グラフの文字が一切描画されない、または文字化けを起こすという症状です。
Google検索すると、さまざまなページがヒットしますが、どのサイトの方法でもうまくいきませんでした。バージョン4.0.4時点での方法ですが、しっかり解消できた方法を以下に紹介します。
この通りやったところ、正常に文字が描画されるようになりました。
まとめ
やっぱりちょっと公式サイトがわかりにくいかなぁという感は否めなかったです。
バージョンによってはこのページの手順ではうまくいかないかもしれないので、その場合は教えて下さいね~
ちなみに後日、Raspbian9から10にアップグレードしましたが、問題なく動作しております~
コメント