前回の続きで、今回はZabbixサーバを動かし、モニタリングするための設定を行います。
- Vagrantでローカル環境にサーバをたてる
- Zabbixサーバをインストールする
- Zabbixサーバを設定してモニタリングできる環境を構築する
- Zabbixエージェントをインストールして、サーバを監視する
- Zabbixプロキシをインストールして複雑な監視環境を構築する
- ZabbixSenderを使って特殊なパラメータを監視する
- ZabbixAPIを使ってZabbixを操作する
今回は3を取り上げます。
zabbixユーザとグループを作成
zabbixを実行するユーザとグループを作成します。
$ sudo groupadd zabbix
$ sudo useradd -M -g zabbix -s /sbin/nologin zabbix
$ sudo mkdir /var/run/zabbix
$ sudo mkdir /var/log/zabbix
$ sudo chown -R zabbix:zabbix /var/run/zabbix
$ sudo chown -R zabbix:zabbix /var/log/zabbix
自動起動の設定
起動スクリプトをコピーします。
$ sudo cp /usr/local/src/zabbix-2.2.3/misc/init.d/fedora/core5/zabbix_server /etc/init.d/zabbix_server
$ sudo chmod 755 /etc/init.d/zabbix_server
自動起動の設定を行います。
$ sudo chkconfig --add zabbix_server
$ sudo chkconfig zabbix_server on
$ chkconfig --list zabbix_server
zabbix_server 0:off 1:off 2:on 3:on 4:on 5:on 6:off
MySQLの設定
前半はMySQL自体の設定なので、インストール済の場合は飛ばしてください。
MySQLの自動起動設定
$ sudo chkconfig --add mysqld
$ sudo chkconfig mysqld on
$ sudo chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
MySQL起動
$ sudo service mysqld start
Starting mysqld: [ OK ]
root のパスワード変更
$ mysqladmin -u root password 'xxxxxxxx'
xxxxxxxxに好きなパスワードを入力してください。
ここからZabbixサーバに関する設定を行います。
Zabbixデータベース作成とユーザの作成
Zabbixサーバ内(localhost)にZabbixサーバ用にzabbixユーザとzabbixデータベースを作成します。
zabbixユーザのパスワードをzabbix
にしていますが、お好みで変えてください。
zabbixユーザがzabbixデータベースに関するすべての操作を行うことができるように権限を設定しています。
$ mysql -u root -p
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;
mysql> exit
zabbixデータベースにスキーマとデータを投入
Zabbixサーバを動かすのに必要なスキーマ及びデータを先ほど作成したzabbixデータベースに投入します。
$ cd /usr/local/src/zabbix-2.2.3
$ mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
$ mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
$ mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
PHPの設定
Zabbixサーバを動かすためにphp.iniを編集します。
; php.ini
; 16M以上に設定する
- post_max_size = 8M
+ post_max_size = 16M
; 300以上に設定する
- max_execution_time = 30
+ max_execution_time = 300
; 300以上に設定する
- max_input_time = 60
+ max_input_time = 300
; timezoneを設定する
- ;date.timezone =
+ date.timezone = Asia/Tokyo
Apacheの設定
ログディレクトリのパーミッションを変更
$ sudo chmod -R 755 /var/log/httpd
Apacheの自動起動設定
$ sudo chkconfig --add httpd
$ sudo chkconfig httpd on
$ chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Zabbixサーバのフロントエンドファイル郡をドキュメントルート配下に設置
$ sudo cp -a /usr/local/src/zabbix-2.2.3/frontends/php /var/www/html/zabbix
フロントエンドファイル群のファイル所有者をWebサーバに変更
$ sudo chown -R apache:apache /var/www/html/zabbix
httpd.conf を編集
$ cd /etc/httpd/conf/
$ sudo cp -a httpd.conf httpd.conf.default
--- httpd.conf.default 2014-05-23 09:40:03.723718692 +0000
+++ httpd.conf 2014-05-23 09:35:53.819829964 +0000
@@ -274,6 +274,7 @@
# redirections work in a sensible way.
#
#ServerName www.example.com:80
+ServerName localhost:80
#
# UseCanonicalName: Determines how Apache constructs self-referencing
@@ -1008,3 +1009,10 @@
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
+<VirtualHost *:80>
+ DocumentRoot /var/www/html/zabbix
+ ServerName zabbix.localhost
+ CustomLog /var/log/httpd/access.log common
+ ErrorLog /var/log/httpd/error.log
+</VirtualHost>
Apache起動
$ sudo service httpd start
Starting httpd: [ OK ]
Macの/etc/hosts 編集
今回はローカル環境で構築しており、MacのブラウザからZabbixのGUIを確認するために、Macの/etc/hosts
を編集します。
# /etc/hosts
# 追記
192.168.56.50 zabbix.localhost
Zabbixサーバの設定
設定ファイルを編集します。
DBHost, DBName, DBUser, DBPasswordはMySQLで作成したユーザとそのパスワード、データベースを設定してください。
# /usr/local/etc/zabbix_server.conf
- LogFile=/tmp/zabbix_server.log
+ LogFile=/var/log/zabbix/zabbix_server.log
- PidFile=/tmp/zabbix_server.pid
+ PidFile=/var/run/zabbix/zabbix_server.pid
- #DBHost=localhost
+ DBHost=localhost
- #DBName=
+ DBName=zabbix
- DBUser=root
+ DBUser=zabbix
- # DBPassword=
+ DBPassword=zabbix
Zabbixサーバを起動します。
$ sudo service zabbix_server start
Starting zabbix_server: [ OK ]
GUIで初期設定
http://zabbix.localhost/ にアクセスします。
[Next]をクリックして次に進みます。
[2.Check of pre-requisites]でZabbixを動かすための要件を満たしているか確認してすべてOKなら[Next]をクリックして次に進みます。
もし、NGが出ている場合はPHPなどの設定を見直してOKになるようにしてください。
Zabbixデータベースに接続するMySQLユーザ、パスワード、ホスト名、データベース名を入力して[Test Connection]をクリックし、OKが表示されたら[Next]をクリックします。
Zabbixサーバのホスト名、ポート番号(デフォルトで10051)、サーバ名(任意)を入力して[Next]をクリックします。
入力した情報を確認して、問題なければ[Next]をクリックします。
問題がなければ、フロントエンドファイル群以下に設定ファイル(zabbix.conf.php)が自動生成されます。
[Finish]をクリックすると初期設定は完了です。
ログインしてみる
これでインストール及び、設定が完了しました!
実際にログインしてみましょう。
初回ログイン時のユーザ名はadmin
, パスワードはzabbix
です *1。
ログインすると、ダッシュボードが表示されます。
日本語表記にする
このままでも問題ないのですが、英語が分かりにくい場合は日本語表記にすることもできます。
サーバの言語を日本語にする
i18nを編集します。
# /etc/sysconfig/i18n
- LANG="en_US.UTF-8"
+ LANG="ja_JP.utf8"
Webサーバ、Zabbixサーバを再起動します。
$ sudo service httpd restart
$ sudo service zabbix_server restart
GUIからZabbixの使用言語を変更する
ダッシュボード右上の[Profile]をクリックします。
[User]タブの[Language]欄からJapanese (ja_JP)
を選択して、[Save]をクリックすれば完了です。
Japanese (ja_JP)
が一覧に出てこない場合は、サーバ内の言語が日本語になっているかを確認してください。
すべてのページが日本語表記になっています。
最後に
前回に引き続いてZabbixサーバを設定して監視対象サーバをモニタリングできる環境を構築できました。
しかし、Zabbixサーバをインストールしただけではサーバを監視することができず、Zabbixエージェントをインストールして設定することで監視することができます。次回はZabbixエージェントについて取り上げます。
*1:後でパスワードを変えるのを忘れずに!