zabbix インストールメモ

Zabbixと言えば、フリーで高機能なサーバ監視ツールです。


いましている仕事で、基本、私は実装とか構築とかを直接触る立場にはないのですが、案件中でzabbixが使われる可能性が高くなった。というわけで、いろんな検討でも役に立つだろうし、「ふーん、Zabbixね。」みたいな感じ(どんな感じだ?)で知ったかできる程度にとりあえず使ってみることにする。


インストールは監視対象サーバ側に入れるエージェントと監視サーバ用のソフトに分けてインストールされます。インストール自体は至って簡単。エージェント、サーバそれぞれ、以下のとおり。


監視対象サーバ(エージェント)側
$ sudo apt-get install zabbix-agent


監視サーバ側
$ sudo apt-get install zabbix-server-mysql zabbix-frontend-php


以下、インストールの途中経過。

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common
  dbconfig-common defoma fontconfig-config fping libapache2-mod-php5 libapr1
  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdbd-mysql-perl
  libdbi-perl libfontconfig1 libgd2-xpm libhtml-template-perl libiksemel3
  libjpeg62 libmysqlclient15off libmysqlclient16 libnet-daemon-perl
  libopenipmi0 libperl5.10 libplrpc-perl libpng12-0 libsensors3 libsnmp-base
  libsnmp15 libsysfs2 libt1-5 libxpm4 mysql-client-5.1 mysql-common
  mysql-server mysql-server-5.1 mysql-server-core-5.1 php5 php5-common php5-gd
  php5-mysql snmpd ssl-cert ttf-dejavu ttf-dejavu-core ttf-dejavu-extra
提案パッケージ:
  apache2-doc apache2-suexec apache2-suexec-custom virtual-mysql-client
  mysql-client postgresql-client defoma-doc psfontmgr x-ttcidfont-conf
  dfontmgr libft-perl php-pear dbishell libgd-tools libipc-sharedcache-perl
  lm-sensors tinyca mailx php5-suhosin
以下のパッケージが新たにインストールされます:
  apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common
  dbconfig-common defoma fontconfig-config fping libapache2-mod-php5 libapr1
  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdbd-mysql-perl
  libdbi-perl libfontconfig1 libgd2-xpm libhtml-template-perl libiksemel3
  libjpeg62 libmysqlclient15off libmysqlclient16 libnet-daemon-perl
  libopenipmi0 libperl5.10 libplrpc-perl libpng12-0 libsensors3 libsnmp-base
  libsnmp15 libsysfs2 libt1-5 libxpm4 mysql-client-5.1 mysql-common
  mysql-server mysql-server-5.1 mysql-server-core-5.1 php5 php5-common php5-gd
  php5-mysql snmpd ssl-cert ttf-dejavu ttf-dejavu-core ttf-dejavu-extra
  zabbix-frontend-php zabbix-server-mysql
アップグレード: 0 個、新規インストール: 50 個、削除: 0 個、保留: 37 個。
41.2MB のアーカイブを取得する必要があります。
この操作後に追加で 110MB のディスク容量が消費されます。
続行しますか [Y/n]? 


yを押すと、大量にインストールが始まるんだけど、
ディストリ用にちゃんとパッケージが提供されているなんて、すごくいい時代だ。ちなみにUbuntuの場合9.04でも確か入っていたけど、バグがあって、起動スクリプトを編集しなければいけないなどいろいろあったっぽい。


MySQLがまだインストールされていない場合は、下のような画面がでるので、ここでMySQLのrootパスワードを設定する。



 

$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.1.37-1ubuntu5 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| mysql              | 
+--------------------+
2 rows in set (0.00 sec)
mysql> use mysql

Database changed
mysql> select User from user;
+------------------+
| User             |
+------------------+
| root             | 
| debian-sys-maint | 
| root             | 
| root             | 
+------------------+
4 rows in set (0.00 sec)


zabbix-frontend-phpがアクセスするDBの種類。MySQLを選択。


zabbix-frontend-phpがアクセスするDBパスワードの設定。


パスワード確認


zabbix-serverの設定をしますか?という画面。


zabbix-server用のDBを作成するDBユーザのパスワード(かな?)


zabbix-serverがアクセスするDBのDBユーザのパスワード


詳しい使い方とか、パスワード類の違い分析はとりあえず今の目的(お試し)から外れているので、全部同じ脆弱パスワードを設定したことは内緒。(もちろんテスト環境のみです。)


一通り質問に答えると、Zabbix関連のDBユーザやDBの作成などが走りはじめる。
ここまでくるとDBの中身は以下のとおり。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| mysql              | 
| zabbix             | 
+--------------------+
3 rows in set (0.00 sec)

mysql> select User from mysql.user;
+------------------+
| User             |
+------------------+
| root             | 
| debian-sys-maint | 
| root             | 
| zabbix           | 
| root             | 
+------------------+
5 rows in set (0.00 sec)

mysql> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-----------------------+
| Tables_in_zabbix      |
+-----------------------+
| acknowledges          | 
| actions               | 
| alerts                | 
| applications          | 
| auditlog              | 
| conditions            | 
| config                | 
| dchecks               | 
| dhosts                | 
| drules                | 
| dservices             | 
| escalations           | 
| events                | 
| functions             | 
| graphs                | 
| graphs_items          | 
| groups                | 
| help_items            | 
| history               | 
| history_log           | 
| history_str           | 
| history_str_sync      | 
| history_sync          | 
| history_text          | 
| history_uint          | 
| history_uint_sync     | 
| hosts                 | 
| hosts_groups          | 
| hosts_profiles        | 
| hosts_profiles_ext    | 
| hosts_templates       | 
| housekeeper           | 
| httpstep              | 
| httpstepitem          | 
| httptest              | 
| httptestitem          | 
| ids                   | 
| images                | 
| items                 | 
| items_applications    | 
| mappings              | 
| media                 | 
| media_type            | 
| node_cksum            | 
| nodes                 | 
| opconditions          | 
| operations            | 
| profiles              | 
| proxy_dhistory        | 
| proxy_history         | 
| rights                | 
| screens               | 
| screens_items         | 
| scripts               | 
| service_alarms        | 
| services              | 
| services_links        | 
| services_times        | 
| sessions              | 
| slides                | 
| slideshows            | 
| sysmaps               | 
| sysmaps_elements      | 
| sysmaps_link_triggers | 
| sysmaps_links         | 
| trends                | 
| trends_uint           | 
| trigger_depends       | 
| triggers              | 
| users                 | 
| users_groups          | 
| usrgrp                | 
| valuemaps             | 
+-----------------------+
73 rows in set (0.00 sec)

なんか、テーブル名見てるだけでもいろんなことができそうな気がしてきますね。


何してんのかとか、どこに設定ファイルがあるかの情報が結構流れてるので、非常に冗長ですが、インストールログも記録しとこ。
ちなみに、途中、populating database via sql...のところで結構待たされるので失敗したのかと不安になります。PCスペックにも夜でしょうが、20〜30分ぐらいはじっと待ちましょう。

(インストールログ。ここまでは省略)
......................................
パッケージからテンプレートを展開しています: 100%
パッケージを事前設定しています ...
未選択パッケージ mysql-common を選択しています。
(データベースを読み込んでいます ... 現在 40366 個のファイルとディレクトリがインストールされています。)
(.../mysql-common_5.1.37-1ubuntu5_all.deb から) mysql-common を展開しています...
未選択パッケージ libnet-daemon-perl を選択しています。
(.../libnet-daemon-perl_0.43-1_all.deb から) libnet-daemon-perl を展開しています...
未選択パッケージ libplrpc-perl を選択しています。
(.../libplrpc-perl_0.2020-2_all.deb から) libplrpc-perl を展開しています...
未選択パッケージ libdbi-perl を選択しています。
(.../libdbi-perl_1.609-1_amd64.deb から) libdbi-perl を展開しています...
未選択パッケージ libmysqlclient16 を選択しています。
(.../libmysqlclient16_5.1.37-1ubuntu5_amd64.deb から) libmysqlclient16 を展開しています...
未選択パッケージ libdbd-mysql-perl を選択しています。
(.../libdbd-mysql-perl_4.011-1ubuntu1_amd64.deb から) libdbd-mysql-perl を展開しています...
未選択パッケージ mysql-client-5.1 を選択しています。
(.../mysql-client-5.1_5.1.37-1ubuntu5_amd64.deb から) mysql-client-5.1 を展開しています...
未選択パッケージ mysql-server-core-5.1 を選択しています。
(.../mysql-server-core-5.1_5.1.37-1ubuntu5_amd64.deb から) mysql-server-core-5.1 を展開しています...
man-db のトリガを処理しています ...
mysql-common (5.1.37-1ubuntu5) を設定しています ...
未選択パッケージ mysql-server-5.1 を選択しています。
(データベースを読み込んでいます ... 現在 40720 個のファイルとディレクトリがインストールされています。)
(.../mysql-server-5.1_5.1.37-1ubuntu5_amd64.deb から) mysql-server-5.1 を展開しています...
未選択パッケージ libapr1 を選択しています。
(.../libapr1_1.3.8-1_amd64.deb から) libapr1 を展開しています...
未選択パッケージ libaprutil1 を選択しています。
(.../libaprutil1_1.3.9+dfsg-1ubuntu1_amd64.deb から) libaprutil1 を展開しています...
未選択パッケージ libaprutil1-dbd-sqlite3 を選択しています。
(.../libaprutil1-dbd-sqlite3_1.3.9+dfsg-1ubuntu1_amd64.deb から) libaprutil1-dbd-sqlite3 を展開しています...
未選択パッケージ libaprutil1-ldap を選択しています。
(.../libaprutil1-ldap_1.3.9+dfsg-1ubuntu1_amd64.deb から) libaprutil1-ldap を展開しています...
未選択パッケージ apache2.2-bin を選択しています。
(.../apache2.2-bin_2.2.12-1ubuntu2.1_amd64.deb から) apache2.2-bin を展開しています...
未選択パッケージ apache2-utils を選択しています。
(.../apache2-utils_2.2.12-1ubuntu2.1_amd64.deb から) apache2-utils を展開しています...
未選択パッケージ apache2.2-common を選択しています。
(.../apache2.2-common_2.2.12-1ubuntu2.1_all.deb から) apache2.2-common を展開しています...
未選択パッケージ apache2-mpm-prefork を選択しています。
(.../apache2-mpm-prefork_2.2.12-1ubuntu2.1_all.deb から) apache2-mpm-prefork を展開しています...
未選択パッケージ apache2 を選択しています。
(.../apache2_2.2.12-1ubuntu2.1_all.deb から) apache2 を展開しています...
未選択パッケージ dbconfig-common を選択しています。
(.../dbconfig-common_1.8.41_all.deb から) dbconfig-common を展開しています...
未選択パッケージ defoma を選択しています。
(.../defoma_0.11.10-0.2ubuntu1_all.deb から) defoma を展開しています...
未選択パッケージ ttf-dejavu-core を選択しています。
(.../ttf-dejavu-core_2.29-2_all.deb から) ttf-dejavu-core を展開しています...
未選択パッケージ ttf-dejavu-extra を選択しています。
(.../ttf-dejavu-extra_2.29-2_all.deb から) ttf-dejavu-extra を展開しています...
未選択パッケージ ttf-dejavu を選択しています。
(.../ttf-dejavu_2.29-2_all.deb から) ttf-dejavu を展開しています...
未選択パッケージ fontconfig-config を選択しています。
(.../fontconfig-config_2.6.0-1ubuntu12_all.deb から) fontconfig-config を展開しています...
未選択パッケージ fping を選択しています。
(.../fping_2.4b2-to-ipv6-16_amd64.deb から) fping を展開しています...
未選択パッケージ php5-common を選択しています。
(.../php5-common_5.2.10.dfsg.1-2ubuntu6.3_amd64.deb から) php5-common を展開しています...
未選択パッケージ libapache2-mod-php5 を選択しています。
(.../libapache2-mod-php5_5.2.10.dfsg.1-2ubuntu6.3_amd64.deb から) libapache2-mod-php5 を展開しています...
未選択パッケージ libfontconfig1 を選択しています。
(.../libfontconfig1_2.6.0-1ubuntu12_amd64.deb から) libfontconfig1 を展開しています...
未選択パッケージ libjpeg62 を選択しています。
(.../libjpeg62_6b-14build1_amd64.deb から) libjpeg62 を展開しています...
未選択パッケージ libpng12-0 を選択しています。
(.../libpng12-0_1.2.37-1_amd64.deb から) libpng12-0 を展開しています...
未選択パッケージ libxpm4 を選択しています。
(.../libxpm4_1%3a3.5.7-2_amd64.deb から) libxpm4 を展開しています...
未選択パッケージ libgd2-xpm を選択しています。
(.../libgd2-xpm_2.0.36~rc1~dfsg-3ubuntu1.9.10.1_amd64.deb から) libgd2-xpm を展開しています...
未選択パッケージ libhtml-template-perl を選択しています。
(.../libhtml-template-perl_2.9-1_all.deb から) libhtml-template-perl を展開しています...
未選択パッケージ libiksemel3 を選択しています。
(.../libiksemel3_1.2-4build1_amd64.deb から) libiksemel3 を展開しています...
未選択パッケージ libmysqlclient15off を選択しています。
(.../libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_amd64.deb から) libmysqlclient15off を展開しています...
未選択パッケージ libopenipmi0 を選択しています。
(.../libopenipmi0_2.0.14-2ubuntu2_amd64.deb から) libopenipmi0 を展開しています...
未選択パッケージ libperl5.10 を選択しています。
(.../libperl5.10_5.10.0-24ubuntu4_amd64.deb から) libperl5.10 を展開しています...
未選択パッケージ libsysfs2 を選択しています。
(.../libsysfs2_2.1.0-5_amd64.deb から) libsysfs2 を展開しています...
未選択パッケージ libsensors3 を選択しています。
(.../libsensors3_1%3a2.10.8-1_amd64.deb から) libsensors3 を展開しています...
未選択パッケージ libsnmp-base を選択しています。
(.../libsnmp-base_5.4.1~dfsg-12ubuntu7_all.deb から) libsnmp-base を展開しています...
未選択パッケージ libsnmp15 を選択しています。
(.../libsnmp15_5.4.1~dfsg-12ubuntu7_amd64.deb から) libsnmp15 を展開しています...
未選択パッケージ libt1-5 を選択しています。
(.../libt1-5_5.1.2-3_amd64.deb から) libt1-5 を展開しています...
未選択パッケージ mysql-server を選択しています。
(.../mysql-server_5.1.37-1ubuntu5_all.deb から) mysql-server を展開しています...
未選択パッケージ php5 を選択しています。
(.../php5_5.2.10.dfsg.1-2ubuntu6.3_all.deb から) php5 を展開しています...
未選択パッケージ php5-gd を選択しています。
(.../php5-gd_5.2.10.dfsg.1-2ubuntu6.3_amd64.deb から) php5-gd を展開しています...
未選択パッケージ php5-mysql を選択しています。
(.../php5-mysql_5.2.10.dfsg.1-2ubuntu6.3_amd64.deb から) php5-mysql を展開しています...
未選択パッケージ snmpd を選択しています。
(.../snmpd_5.4.1~dfsg-12ubuntu7_amd64.deb から) snmpd を展開しています...
未選択パッケージ ssl-cert を選択しています。
(.../ssl-cert_1.0.23ubuntu2_all.deb から) ssl-cert を展開しています...
未選択パッケージ zabbix-frontend-php を選択しています。
(.../zabbix-frontend-php_1%3a1.6.4-2build1_all.deb から) zabbix-frontend-php を展開しています...
未選択パッケージ zabbix-server-mysql を選択しています。
(.../zabbix-server-mysql_1%3a1.6.4-2build1_amd64.deb から) zabbix-server-mysql を展開しています...
man-db のトリガを処理しています ...
ufw のトリガを処理しています ...
libnet-daemon-perl (0.43-1) を設定しています ...
libplrpc-perl (0.2020-2) を設定しています ...
libdbi-perl (1.609-1) を設定しています ...
libmysqlclient16 (5.1.37-1ubuntu5) を設定しています ...

libdbd-mysql-perl (4.011-1ubuntu1) を設定しています ...
mysql-client-5.1 (5.1.37-1ubuntu5) を設定しています ...

mysql-server-core-5.1 (5.1.37-1ubuntu5) を設定しています ...
mysql-server-5.1 (5.1.37-1ubuntu5) を設定しています ...
 * Stopping MySQL database server mysqld                                 [ OK ] 
091213 19:22:12 [Note] Plugin 'FEDERATED' is disabled.
091213 19:22:12  InnoDB: Started; log sequence number 0 44233
091213 19:22:12  InnoDB: Starting shutdown...
091213 19:22:13  InnoDB: Shutdown completed; log sequence number 0 44233
091213 19:22:13 [Warning] Forcing shutdown of 1 plugins
 * Starting MySQL database server mysqld                                 [ OK ] 
 * Checking for corrupt, not cleanly closed and upgrade needing tables.

libapr1 (1.3.8-1) を設定しています ...

libaprutil1 (1.3.9+dfsg-1ubuntu1) を設定しています ...

libaprutil1-dbd-sqlite3 (1.3.9+dfsg-1ubuntu1) を設定しています ...
libaprutil1-ldap (1.3.9+dfsg-1ubuntu1) を設定しています ...
apache2.2-bin (2.2.12-1ubuntu2.1) を設定しています ...
apache2-utils (2.2.12-1ubuntu2.1) を設定しています ...
apache2.2-common (2.2.12-1ubuntu2.1) を設定しています ...
Enabling site default.
Enabling module alias.
Enabling module autoindex.
Enabling module dir.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module status.
Enabling module auth_basic.
Enabling module deflate.
Enabling module authz_default.
Enabling module authz_user.
Enabling module authz_groupfile.
Enabling module authn_file.
Enabling module authz_host.

apache2-mpm-prefork (2.2.12-1ubuntu2.1) を設定しています ...
 * Starting web server apache2                                           [ OK ] 

apache2 (2.2.12-1ubuntu2.1) を設定しています ...

dbconfig-common (1.8.41) を設定しています ...

defoma (0.11.10-0.2ubuntu1) を設定しています ...

ttf-dejavu-core (2.29-2) を設定しています ...

ttf-dejavu-extra (2.29-2) を設定しています ...

ttf-dejavu (2.29-2) を設定しています ...
fontconfig-config (2.6.0-1ubuntu12) を設定しています ...

fping (2.4b2-to-ipv6-16) を設定しています ...
php5-common (5.2.10.dfsg.1-2ubuntu6.3) を設定しています ...
libapache2-mod-php5 (5.2.10.dfsg.1-2ubuntu6.3) を設定しています ...

Creating config file /etc/php5/apache2/php.ini with new version
 * Reloading web server config apache2                                   [ OK ] 

libfontconfig1 (2.6.0-1ubuntu12) を設定しています ...

libjpeg62 (6b-14build1) を設定しています ...

libpng12-0 (1.2.37-1) を設定しています ...

libxpm4 (1:3.5.7-2) を設定しています ...

libgd2-xpm (2.0.36~rc1~dfsg-3ubuntu1.9.10.1) を設定しています ...

libhtml-template-perl (2.9-1) を設定しています ...
libiksemel3 (1.2-4build1) を設定しています ...

libmysqlclient15off (5.1.30really5.0.83-0ubuntu3) を設定しています ...

libopenipmi0 (2.0.14-2ubuntu2) を設定しています ...

libperl5.10 (5.10.0-24ubuntu4) を設定しています ...

libsysfs2 (2.1.0-5) を設定しています ...

libsensors3 (1:2.10.8-1) を設定しています ...
.udevdb or .udev presence implies active udev.  Aborting MAKEDEV invocation.

Creating config file /etc/sensors.conf with new version

libsnmp-base (5.4.1~dfsg-12ubuntu7) を設定しています ...
libsnmp15 (5.4.1~dfsg-12ubuntu7) を設定しています ...

libt1-5 (5.1.2-3) を設定しています ...

mysql-server (5.1.37-1ubuntu5) を設定しています ...
php5 (5.2.10.dfsg.1-2ubuntu6.3) を設定しています ...
php5-gd (5.2.10.dfsg.1-2ubuntu6.3) を設定しています ...

php5-mysql (5.2.10.dfsg.1-2ubuntu6.3) を設定しています ...

snmpd (5.4.1~dfsg-12ubuntu7) を設定しています ...
update-rc.d: warning: snmpd stop runlevel arguments (1) do not match LSB Default-Stop values (0 1 6)
 * Starting network management services:                                 [ OK ] 

ssl-cert (1.0.23ubuntu2) を設定しています ...

zabbix-frontend-php (1:1.6.4-2build1) を設定しています ...
dbconfig-common: writing config to /etc/dbconfig-common/zabbix-frontend-php.conf

Creating config file /etc/dbconfig-common/zabbix-frontend-php.conf with new version

Creating config file /etc/zabbix/dbconfig.php with new version
dbconfig-common: flushing administrative password
 * Restarting web server apache2                                                 ... waiting                                                             [ OK ]

zabbix-server-mysql (1:1.6.4-2build1) を設定しています ...
dbconfig-common: writing config to /etc/dbconfig-common/zabbix-server-mysql.conf

Creating config file /etc/dbconfig-common/zabbix-server-mysql.conf with new version

Creating config file /etc/zabbix/zabbix_server.conf with new version
chown: 無効なユーザ: `zabbix'
granting access to database zabbix for zabbix@localhost: success.
verifying access for zabbix@localhost: success.
creating database zabbix: success.
verifying database zabbix exists: success.
populating database via sql...  done.
dbconfig-common: flushing administrative password
update-rc.d: warning: zabbix-server start runlevel arguments (2 3 4 5) do not match LSB Default-Start values (S)
update-rc.d: warning: zabbix-server stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (0 6)
Starting Zabbix server: zabbix_server

libc-bin のトリガを処理しています ...
ldconfig deferred processing now taking place


これでZabbixにアクセスできます。アクセスURLは以下のとおり。
http://[ホスト名]/zabbix/



「Timezone for PHP is not set. Please set "date.timezone" option in php.ini.」
という警告が出ているので、/etc/php5/apache2/php.iniのdate.timezoneの場所を探して、修正します。


デフォルトではコメントアウトしてあるので、コメントを外して、

$ sudo vi /etc/php5/apache2/php.ini

date.timezone = Asia/Tokyo


などとし、その後Apacheをに設定を読み込ませます。

$ sudo service apache2 reload



デフォルトのアカウントはAdminでパスワードがzabbixです。以下はログイン後の画面。


ちなみに設定はこれからです。ひとまずインストールまで。