最近になって、事務所にいろんなネットワーク機器を入れましたが、監視できるツールを使ってみたくなりました。だいぶ前にMuninを使っていましたが、syslogも取れたり、設定しやすいものはないかなと探していましたが、Zabbixという監視サーバーアプリが良さそうだったので使ってみてます。
Zabbixとは
監視サーバーアプリです。専用のエージェントを使ってLinuxやWindowsの監視、SNMPの監視も出来ます。 業界的にもよく使われているようです。
公式サイト
- Zabbixオフィシャル日本語サイト :: エンタープライズクラスの分散監視オープンソースソリューション
- Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution
ドキュメント
日本語は2.2まで提供されていました。2.4もそこまで変更は無いので2.4のドキュメントとセットでみると理解が深まりそう。
参考
統合監視ツール「Zabbix」によるサーバー監視 - さくらのナレッジ
(さくらのナレッジに2.4対応版の記事もあったのですが、中身がそっくり消えてしまっているのでリンクしませんでした。)
環境
- Ubuntu Server 14.04: Ubuntu Cloud imageを使ってuvtoolでセットアップ
- taskselでインストールできたLAMP環境
- Zabbix 2.4.1(現在稼働させているバージョンは2.4.5でした)
インストール
aptで入れる
zabbixでは公式でdebパッケージが用意されています。対象のサーバーへwgetなどでdebパッケージをダウンロードしてからdpkgでインストールします。
公式ドキュメントに丁寧な説明がありますので、基本はこのとおりでよいかと思います。
なおApache, MySQL(DBは選べるっぽい?)を使うので予めインストールして置くと楽かと思います。(自分はtasksel
で入れる派です)
Zabbixオフィシャル日本語サイト :: エンタープライズクラスの分散監視オープンソースソリューション
後は公式のドキュメント通りにやれば良いです。
3 Installation from packages [Zabbix Documentation 2.4]
作業ログとして自分の作業内容を書いておきます。ダウンロードからzabbix-serverのインストールまでです。なお、aptコマンドを使っていますが、比較的新し目のUbuntuでないと利用できないです。適時apt-getに置き換えてください。
wget http://repo.zabbix.com/zabbix/2.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.4-1+trusty_all.deb
sudo dpkg -i zabbix-release_2.4-1+trusty_all.deb
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php
これで一応起動します。http://[ホストIPアドレス]/zabbix/
から続きをします。
なお、Apacheの設定はインストール処理中に/etc/apache2/conf-available/zabbix.conf
が追加されて有効化されていました。httpのパスがこれでは嫌な人はこれの編集か別途ファイルを作ってa2enconf
で有効化すれば良いのかな。
公式ではWEB側に行く前に、/etc/apache2/conf-available/zabbix.conf
のphpがらみの設定変更をすると書かれていましたが、今回はとりあえずデフォルトでやりました。変更したらsudo service apache2 restart
でApacheデーモンの再起動を忘れずに。
WEB側で初期設定
途中でMySQLのユーザー名とパスワードが聞かれます。ので専用のデータベースを用意したい場合は予め準備をしておきます。
zabbixのWEBインターフェースにアクセスするとセットアップが始まります。
まずは必要なものがあるかチェックされます。この時にphp timezoneがfailの場合があります。こんな感じです。
今回の環境はUbuntu cloud imageを使っていて、タイムゾーンの設定がされていない模様だったので、sudo apt install language-pack-ja
でlangage-packを入れてタイムゾーンの設定まで済ませました。
タイムゾーンの設定は/etc/apache2/conf-available/zabbix.conf
でも出来ます。詳しくは公式のインストールドキュメントを参考にして下さい。
次に。DBの情報を求められます。ここではMySQLのユーザーとパスワードが必要です。
本来なら前処理として、zabbix用のMySQLユーザーとパスワードを作って置く必要があると思われますが、今回はrootでデータベースの作成までこちらでやってしまいました。
DB設定のSSはよく見ると一部日本語になっていますが、セットアップ中に撮り忘れたので このエントリーを書いている間に再度セットアップを起動させて撮影しました(汗)
Zabbixはセットアップし直すことも出来て、Administration(管理) - Install(インストール)
からこの画面を出す事ができます。
次にZabbix Serverのhostやport, サーバーの名前を求められます。これはそのままNextで
最後にconfigファイルが作成されて完了らしいです。FinishをクリックするとZabbixのメイン画面であるダッシュボードに行きます
これがダッシュボードです。
自分はテーマを変更しました。変更方法は右上にあるProfile
から現ユーザーの設定にアクセス出来ます。ここで言語設定やテーマの設定ができます。
Zabbix Agentを入れる
ZabbixではServerとAgentの2つの構成がよく利用されます。Serverは監視された内容を見たり管理したり通知の処理をする場所です。Agentは監視先のホストにインストールし、Serverにデータを送ります。
多分Serverを入れるとAgentも入るはずです。他のホストに入れる場合、aptコマンドが使えるならこれで。
sudo apt install zabbix-agent
AgentはZabbix Server側のIPアドレスを設定する必要があります。インストール直後は127.0.0.1が設定されているのでサーバー側のIP アドレスに変更します。今回は特に何もしてません。
sudo vim /etc/zabbix/zabbix_agentd.conf
sudo service zabbix-agent restart
グラフの文字が豆腐問題の解消
なお、起動後にグラフの文字が豆腐になっている場合がありますが、それらは日本語フォントがない場合に起こります。
fontのパッケージを入れてから、dpkg-reconfigure zabbix-frontend-php
の実行を行うとフォントの問題が解消します。
sudo apt install fonts-vlgothic
sudo dpkg-reconfigure zabbix-frontend-php
一応apacheのリスタート
sudo service apache2 restart
続きます
次回は、WEBインターフェースを色々見てみます。
Zabbixの利用方法としては、Zabbix Agentによる監視以外にもSNMPの監視も出来ますのでそれについてもかけたらと。