Ubuntu14.04にZabbixをインストールしてサーバ監視
Ubuntu14.04サーバにZabbixをインストールしてサーバ監視を行うことにしました。
ふと思い立ってログを眺めてみたりコマンドでリソースの状況を調べることも時々ありましたが、より状況を把握しやすいアプリケーションを導入してしっかりとしたサーバの監視を行いたいと思います。
ZabbixはラトビアにあるZabbix社が開発・メンテを行っているネットワーク監視システムということ。「サーバ」「フロントエンド」「エージェント」と複数のモジュールから成り、
- サーバはDBと連携して情報を蓄積
- フロントエンドはサーバに溜めたデータを閲覧、実際に監視するためのツール
- エージェントはネットワークや各種リソースを監視し、情報をサーバへ送るツール
と異なる役割を果たすことで総合的なサーバ・ネットワーク監視環境を与えてくれます。
すべてをインストールする必要はなく、各自の環境に応じて必要最小限のものを導入することでよりシンプルな監視環境を構築することもできるようですが、せっかくApache2やPHP、MySQLなど必要な環境が一通り揃っている自宅サーバなので一括で導入してみることにしました。
コマンドから必要なパッケージをインストール
aptパッケージを使って必要なものをまとめてインストールします。なお、上記のとおりWebサーバやデータベースが構築済みであることを前提に作業を進めていきますのでご了承ください。
ちなみに当ブログの過去記事にMySQLとApache2.4の導入に関するものがありますのでよろしければどうぞ。
では早速まいります。
$ sudo apt-get update $ sudo apt-get install zabbix-server zabbix-frontend-php zabbix-agent fonts-vlgothic
パッケージの更新処理後、4種類のパッケージをインストールします。最初の3つはZabbixを稼働させるのに必要な各種ルール。サイトの一つは日本語環境で動かしたときに発生する文字化け対策です。
MySQLのデータベース設定
続いてMySQL関連の設定を進めます。ここでは
- データベース名:zabbix
- MySQLユーザ名:zabbix_user
- MySQLパスワード:zabbix_password
として設定していきますが、自由に変えていただいて結構です。
↓MySQLにrootでログイン mysql -u root -p ※パスワードを入力 create database zabbix; grant all privileges on zabbix.* to zabbix_user@localhost identified by 'zabbix_password'; quit
データベースとユーザ関連の設定が終わったら、パッケージと一緒にダウンロードしたSQLファイルを解凍・読み込んでデータベース設定を済ませましょう。
$ sudo zcat /usr/share/zabbix-server-mysql/schema.sql.gz | mysql -uzabbix -p zabbix Enter Password: $ sudo zcat /usr/share/zabbix-server-mysql/images.sql.gz | mysql -uzabbix -p zabbix Enter Password: $ sudo zcat /usr/share/zabbix-server-mysql/data.sql.gz | mysql -uzabbix -p zabbix Enter Password:
これだけでデータベース関連の設定は終了。
Zabbixの初期設定
所定の場所に格納されている設定ファイルのバックアップを取っておいて設定を施します。まずはzabbix_serverから。
$ sudo cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bk $ sudo vi /etc/zabbix/zabbix_server.conf ↓以下を変更または追記 DBName=zabbix DBUser=zabbix_user DBPassword=zabbix_password
続いてzabbix_frontend_php。
$ sudo cp /usr/share/doc/zabbix-frontend-php/examples/apache.conf /etc/apache2/conf-available/zabbix.conf $ sudo vi /etc/apache2/conf-available/zabbix.conf ↓以下を最終行に追記 php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value date.timezone Asia/Tokyo ※:wqで保存 ↓設定ファイルを有効化 sudo a2enconf zabbix ↓もう一つの設定ファイルをコピーしてメンテ $ sudo cp /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php $ vi /etc/zabbix/zabbix.conf.php ↓下記のデータベース接続情報を修正 $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = 'zabbix_password'
最後にフォント関連の設定を。
↓シンボリックリンクの作成 $ sudo ln -s /usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf /usr/share/zabbix/fonts/VL-PGothic-Regular.ttf ↓バックアップを作成して修正 $ sudo cp /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/include/defines.inc.php.original $ sudo vim /usr/share/zabbix/include/defines.inc.php ↓下記の行を追記・変更(39行目) define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name ↓ //define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name define('ZBX_GRAPH_FONT_NAME', 'VL-PGothic-Regular');
最後にApacheを際起動します。
$ suco /etc/init.d/apache2 restart
Zabbix-serverの起動
いよいよZabbix-serverの起動です。
↓設定ファイルのコピーをとって編集 $ sudo cp /etc/default/zabbix-server /etc/default/zabbix-server.bk $ sudo vim /etc/default/zabbix-server ↓下記の内容に変更。 START=yes ↓zabbixのサービスを起動します。 $ sudo service zabbix-server start
いよいよZabbixに接続!
それではサーバに接続してみましょう。ブラウザで「http://localhost/zabbix」と入力します。すると…
こんな感じで表示されました。
ちなみに最初にログインする時は
- ユーザ名:admin
- パスワード:zabbix
となっているようなので、ログインして新しい管理者権限を持ったユーザを登録したら削除しておいた方が無難でしょう。adminなんてありふれたユーザ名でブルートフォースなど喰らったら堪りませんからね。
これにてZabbixのインストールは完了しました。あとはこれを使いこなす術を身につけたいところですね。
Zabbixのインストールとまとめ
それでは今回無事完了したZabbixのインストールについて簡単にまとめておきたいと思います。
- 前提としてWebサーバとDBサーバが導入済みであること。まだならばそこから。
- Zabbix-server、Zabbix-frontend、Zabbix-agentと、それぞれ役割の違うパッケージを導入して設定する
- 日本語環境での使用を考える場合はフォントも一緒に導入しておくとよい
といったところでしょうか。