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用の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です。以下はログイン後の画面。
ちなみに設定はこれからです。ひとまずインストールまで。