Zabbix1.8をPostgreSQLと使う

zabbix logoCentOS に PostgreSQL をバックエンドにして総合監視フレームワークの Zabbix 1.8(サーバとWeb管理画面)をインストールしてみる。Zabbix は諸般の事情により RPM などのパッケージとしてインストールせず、ソースコードをコンパイルする。Zabbix 2 系じゃないのは、 PostgreSQL のバージョンが 7系だったりするから。

Zabbix サーバのインストール

SELinux の無効化

無駄にはまるので SELinux を無効化する。有効になっていた場合は、無効にして OS を再起動する。

$ cat /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

$ getenforce # SELinux の有効状況を確認
Disabled

zabbix ユーザの追加

zabbix_server プロセスの実行ユーザを追加する

$ sudo useradd zabbix

Zabbix のインストール

Zabbix 1.8 系をソースコードからインストールする。

$ sudo yum install libcurl-devel libcurl net-snmp net-snmp-devel
$ wget http://prdownloads.sourceforge.net/zabbix/zabbix-1.8.16.tar.gz
$ tar zxfv zabbix-1.8.16.tar.gz
$ cd zabbix-1.8.16
$ ./configure --enable-server --with-pgsql --with-net-snmp --with-libcurl
$ make
$ sudo make install

データベースの追加

Zabbix 用のデータベースを追加して、既存のデータベースと干渉しないようにする。
PostgreSQL のスーパーユーザーで実行する。

$ psql
psql (8.4.13)
Type "help" for help.

postgres=# create user zabbix with password 'zabbix';
CREATE ROLE
postgres=# create database zabbix owner zabbix;
CREATE DATABASE
postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |  Collation  |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
                                                             : postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
                                                             : postgres=CTc/postgres
 zabbix    | zabbix   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
(4 rows)

クライアント認証ファイル(/var/lib/pgsql/data/pg_hba.conf)に zabbix アカウントを追加

local    zabbix    zabbix    md5

設定追加後は、設定ファイルを再読み込みする。 $ sudo /etc/init.d/postgresql reload

初期データの投入

$ cd create/
$ psql --single-transaction -U username dbname -f schema/postgresql.sql
$ psql --single-transaction -U username dbname -f data/data.sql
$ psql --single-transaction -U username dbname -f data/images_pgsql.sql
$ cd ../

Zabbix サーバの起動

misc/conf/zabbix_server.conf

  • DBName
  • DBUser
  • DBPort

を PostgreSQL 向けに変更する。

$ sudo mkdir /etc/zabbix
$ vi misc/conf/zabbix_server.conf # edit DBName, DBUser, DBPort
$ sudo cp ./misc/conf/zabbix_server.conf /etc/zabbix/
$ sudo /usr/local/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
$ ps -u zabbix  -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
1 S   501 10360     1  0  80   0 - 30269 wait   ?        00:00:00 zabbix_server
1 S   501 10363 10360  0  80   0 - 30269 hrtime ?        00:00:00 zabbix_server
1 S   501 10364 10360  0  80   0 - 30269 hrtime ?        00:00:00 zabbix_server
1 S   501 10365 10360  0  80   0 - 54730 hrtime ?        00:00:00 zabbix_server
1 S   501 10366 10360  0  80   0 - 54730 hrtime ?        00:00:00 zabbix_server
1 S   501 10368 10360  0  80   0 - 54730 hrtime ?        00:00:00 zabbix_server
...

zabbix_server プロセスがたくさん立ち上がっていることを確認。

Web管理画面のインストール

Zabbix はブラウザから監視状態の確認や設定が行える。Web管理画面は PHP で実装されている。

PHP モジュールの追加

  • php-bcmath
  • php-gd
  • php-pgsql

モジュールをインストールする。

$ sudo yum install php-bcmath php-gd php-pgsql
$ sudo /etc/init.d/httpd restart

プログラムのデプロイ

$ sudo cp -r frontends/php/ /var/www/html/zabbix
$ sudo chown -R apache:apache /var/www/html/zabbix

ログインの確認

http://HOST/zabbix/ にアクセス。

zabbix-initial-setup-screen

初期化画面が表示されるので、画面のメッセージに従い

  •  PHP のパラメータ変更
  •  PHP のモジュールインストール
  •  DB の接続テスト

を行う。

データベース設定は /var/www/html/zabbix/conf/zabbix.conf.php に書き込まれる。

Zabbix のトップページが表示されたら

  •  ユーザ : Admin
  •  パスワード : zabbix

でログインする。

参考

Advertisements
Tagged with: ,
Posted in middleware

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives
%d bloggers like this: