Last Updated on 2022年3月13日 by かんりにん
システム監視ツールzabbixのインストールドキュメント。
【本家サイト】
日本語の情報はほとんどないので、サイトからダウンロードした
マニュアルPDFをもとにインストール作業を行う。sudo が面倒だったので全部rootで(汗
PDF:http://www.zabbix.com/Zabbix%20Manual.pdf
1)ダウンロードと展開
[root@example httpd]# cd /usr/local/src/ [root@example src]# wget http://jaist.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.0.tar.gz [root@example zabbix-1.0]# ls -al 合計 360 drwxr-xr-x 11 user users 4096 3月 23 2004 . drwxrwxrwx 32 root root 4096 3月 14 13:21 .. -rw-r--r-- 1 user users 185 2月 18 2002 AUTHORS -rw-r--r-- 1 user users 18006 12月 8 2001 COPYING -rw-r--r-- 1 user users 49587 3月 21 2004 ChangeLog -rw-r--r-- 1 user users 55 12月 8 2001 INSTALL -rw-r--r-- 1 user users 8827 2月 23 2002 Makefile.in -rw-r--r-- 1 user users 50 3月 28 2001 NEWS -rw-r--r-- 1 user users 68 3月 6 2004 README -rw-r--r-- 1 user users 2080 8月 11 2003 acconfig.h drwxr-xr-x 2 user users 4096 3月 23 2004 autom4te.cache drwxr-xr-x 2 user users 4096 3月 23 2004 bin -rwxr-xr-x 1 user users 180006 3月 23 2004 configure -rw-r--r-- 1 user users 19054 2月 27 2004 configure.in drwxr-xr-x 5 user users 4096 3月 23 2004 create drwxr-xr-x 2 user users 4096 3月 23 2004 doc drwxr-xr-x 3 user users 4096 3月 23 2004 frontends drwxr-xr-x 2 user users 4096 3月 23 2004 include drwxr-xr-x 6 user users 4096 3月 23 2004 misc drwxr-xr-x 7 user users 4096 3月 23 2004 src drwxr-xr-x 3 user users 4096 3月 23 2004 upgrades -rw-r--r-- 1 user users 4459 6月 19 2003 zabbix.spec
インストールドキュメントがdoc/にあるが
サイトからダウンロードしてもOK。
2)コンパイルとインストール
ここから先はマニュアルPDFをみながら作業を実施。
zabbixはDBにMysqlとpostglesqlを選べる。
今回は他のアプリケーションでも使っているMysqlを使用。
コンパイル前に各DB用の設定ファイルを編集。
▼MysqlにDBを作成。
[root@example zabbix-1.0]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1298 to server version: ***** Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database zabbix; Query OK, 1 row affected (0.02 sec) mysql> quit Bye [root@example zabbix-1.0]#
▼コンパイルとインストール
configureオプションに–with-mysqlを追加。
postgreSQLの場合も同様。
[root@example zabbix-1.0]# ./configure --with-mysql --with-net-snmp [root@example zabbix-1.0]# make [root@example zabbix-1.0]# ls -al 合計 484 drwxr-xr-x 11 root root 4096 3月 14 13:39 . drwxrwxrwx 32 root root 4096 3月 14 13:21 .. -rw-r--r-- 1 root root 185 2月 18 2002 AUTHORS -rw-r--r-- 1 root root 18006 12月 8 2001 COPYING -rw-r--r-- 1 root root 49587 3月 21 2004 ChangeLog -rw-r--r-- 1 root root 55 12月 8 2001 INSTALL -rw-r--r-- 1 root root 8891 3月 14 13:39 Makefile -rw-r--r-- 1 root root 8827 2月 23 2002 Makefile.in -rw-r--r-- 1 root root 50 3月 28 2001 NEWS -rw-r--r-- 1 root root 68 3月 6 2004 README -rw-r--r-- 1 root root 2080 8月 11 2003 acconfig.h drwxr-xr-x 2 root root 4096 3月 23 2004 autom4te.cache drwxr-xr-x 2 root root 4096 3月 14 13:41 bin -rw-r--r-- 1 root root 69848 3月 14 13:39 config.log -rwxr-xr-x 1 root root 35198 3月 14 13:39 config.status -rwxr-xr-x 1 root root 180006 3月 23 2004 configure -rw-r--r-- 1 root root 19054 2月 27 2004 configure.in drwxr-xr-x 5 root root 4096 3月 23 2004 create drwxr-xr-x 2 root root 4096 3月 23 2004 doc drwxr-xr-x 3 root root 4096 3月 23 2004 frontends drwxr-xr-x 2 root root 4096 3月 14 13:39 include drwxr-xr-x 6 root root 4096 3月 23 2004 misc drwxr-xr-x 7 root root 4096 3月 23 2004 src drwxr-xr-x 3 root root 4096 3月 23 2004 upgrades -rw-r--r-- 1 root root 4459 6月 19 2003 zabbix.spec
▼DBにスキーマをインポート。
対象ファイルは
$ZBBIXHOMEcreate/mysql/schema.sql
$ZBBIXHOMEcreate/data/data.sql
[root@example zabbix-1.0]# cd create/mysql/ [root@example mysql]# cat schema.sql | mysql -uroot -p zabbix Enter password: [root@example mysql]# cd ../data/ [root@example data]# cat data.sql | mysql -uroot -p zabbix Enter password: [root@example data]#
▼インポート後、テーブルを確認。
[root@example data]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1304 to server version: 3.23.58 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 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 | +------------------+ | actions | | alarms | | alerts | | config | | functions | | graphs | | graphs_items | | groups | | history | | history_str | | hosts | | hosts_groups | | items | | media | | media_type | | profiles | | rights | | screens | | screens_items | | service_alarms | | services | | services_links | | sessions | | stats | | sysmaps | | sysmaps_hosts | | sysmaps_links | | trends | | trigger_depends | | triggers | | users | | users_groups | | usrgrp | +------------------+ 33 rows in set (0.00 sec) mysql> quit Bye [root@example data]#
▼ディレクトリをコピー
ホームディレクトリを/usr/local/zabbixにする。
特に指定がないようなので、基本的にコンパイルしたディレクトリを全コピー。
※シンボリックリンクを張っても良いが、元ファイルを残しておいてもいいかなと。
[root@example src]# cp -pr zabbix-1.0 ../zabbix
3)サーバ設定
▼プロセスが使用するポートを登録
[root@example data]# cd /etc/ [root@example etc]# cp services services.20050314 [root@example etc]# vi services
《追記箇所》
デフォルトのポートは
zabbix_agent 10000/tcp
zabbix_trap 10001/tcp
となっているが、10000番はWebminに使用しているので
以下のとおりに変更。
zabbix_agent 10002/tcp # zabbix agent zabbix_trap 10003/tcp # zabbix trap
▼inetdへ登録
/etc/inetd.confへ追記。
RHL9なので、代わりにxinetd.confに記述。
《追記箇所》
zabbix_trap stream tcp nowait.3600 zabbix /usr/local/zabbix/bin/zabbix_trapper
追記が完了したらxinetdを再起動。
[root@example etc]# /etc/init.d/xinetd restart xinetdを停止中: [ OK ] xinetdを起動中: [ OK ]
▼設定ファイルをコピー&編集
設定ファイルは$ZABBIXHOME/misc/conf/以下にあるファイル。
これらを/etc/zabbixへコピーして編集する。
zabbixはデフォルトでコンフィグファイルを/etc/zabbix/から
読み込むようになっている。
※理由は不明だが、$ZABBIXHOME/misc/にinetdディレクトリがあり
chkconfigへ登録してパッケージ的にデーモンの管理が出来る様子。
ここいらが理由か?
[root@example zabbix]# mkdir /etc/zabbix [root@example zabbix]# cp misc/conf/* /etc/zabbix/
[root@example zabbix]# cd /etc/zabbix/ [root@example zabbix]# vi zabbix_agent.conf [root@example zabbix]# vi zabbix_agentd.conf [root@example zabbix]# vi zabbix_suckerd.conf [root@example zabbix]# vi zabbix_trapper.conf [root@example zabbix]# vi zabbix_trapperd.conf
※zabbix_agent.confは特に編集は不要?(←要確認)
《記述箇所》
基本的に全ファイルで同じ箇所を追記する。
・/etc/servicesで指定したポートを書き込む。
またMysqlのパスワードを追記。
- zabbix_agentd.conf
ポート番号を変更
ListenPort=10000 ↓ ListenPort=10002
- zabbix_suckerd.conf
Mysqlのパスワードを記入
DBPassword=<password>←パスワードを記入
- zabbix_trapper.conf
Mysqlのパスワードを記入
DBPassword=<password>←パスワードを記入
- zabbix_trapperd.conf
- 1:ポート番号を変更
ListenPort=10001 ↓ ListenPort=10003
- 2:Mysqlのパスワードを記入
DBPassword=<password>←パスワードを記入
4)GUI設定
▼GUI用ファイルをコピー&編集
[root@example include]# mkdir -p /var/www/html/zabbix/html/ [root@example zabbix]# cp -R frontends/php/* /var/www/html/zabbix/html/
[root@example include]# cp db.inc.php db.inc.php.org [root@example include]# vi db.inc.php
《記述箇所》
ここにもMysqlのパスワードを記入
$DB_PASSWORD =""; ←パスワードを記入
5)起動
【通常起動】
[zabbix@example zabbix]$ cd /usr/local/zabbix/ [zabbix@example zabbix]$ cd bin/ [zabbix@example bin]$ ./zabbix_trapper [zabbix@example bin]$ ./zabbix_trapperd [zabbix@example bin]$ ./zabbix_agentd [root@example bin]# ps -aef | grep zabbix zabbix 31672 1 0 17:14 ? 00:00:00 ./zabbix_agentd zabbix 31673 31672 0 17:14 ? 00:00:00 ./zabbix_agentd zabbix 31674 31672 0 17:14 ? 00:00:00 ./zabbix_agentd zabbix 31675 31672 0 17:14 ? 00:00:00 ./zabbix_agentd zabbix 31676 31672 0 17:14 ? 00:00:00 ./zabbix_agentd zabbix 31677 31672 0 17:14 ? 00:00:00 ./zabbix_agentd zabbix 31690 1 1 17:14 ? 00:00:00 ./zabbix_suckerd zabbix 31692 31690 0 17:14 ? 00:00:00 ./zabbix_suckerd zabbix 31693 31690 0 17:14 ? 00:00:00 ./zabbix_suckerd zabbix 31694 31690 0 17:14 ? 00:00:00 ./zabbix_suckerd zabbix 31695 31690 0 17:14 ? 00:00:00 ./zabbix_suckerd zabbix 31848 1 0 17:14 ? 00:00:00 ./zabbix_trapperd root 32136 27779 0 17:14 pts/2 00:00:00 grep zabbix
なお、/usr/local/zabbix/misc/init.d/に
debianとredhat用にinit.dで実行できるスクリプトがある。
(但しredhat用は8.0だけど、それ以降のバージョンでも使用可能)
【init.dでのプロセス操作】
- 1:スクリプトを/etc/rc.d/init.d/へコピー
ファイルは/usr/local/zabbix/misc/init.d/redhat/8.0/にある。
[root@example include]# cd /usr/local/zabbix/misc/init.d/redhat/8.0/ [root@example 8.0]# cp zabbix_* /etc/rc.d/init.d/ [root@example 8.0]# cd /etc/rc.d/init.d/ [root@example init.d]# chmod 755 zabbix_*
- 2:init.dから起動
※通常起動している場合は停止もできる。
他のコマンドも同様。
[root@example init.d]# /etc/rc.d/init.d/zabbix_agentd start zabbix_agentdを起動中: [ OK ] [root@example init.d]#
ちなみに使用できるコマンドは以下のような感じ。
[root@example init.d]# /etc/rc.d/init.d/zabbix_agentd --help Usage: /etc/rc.d/init.d/zabbix_agentd {start|stop|restart|condrestart}
- 3:chkconfigへ登録。
これでOSブート時の自動起動もOK。
[root@example init.d]# chkconfig --add zabbix_agentd [root@example init.d]# chkconfig --add zabbix_suckerd [root@example init.d]# chkconfig --add zabbix_trapperd [root@example init.d]# [root@example init.d]# chkconfig --list | grep zabbix zabbix_agentd 0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ