そういえば Zabbix って PostgreSQL でも動いたよねー なんて軽い気持ちで移行をしてみました。
Zabbix Server の動作する OS は CentOS 6 を使います。
■PostgreSQLインストール
Postgresql のサイトで紹介されている yum のリポジトリから入れてみましょう。今日時点で最新の Postgresql 9.3 を使います。
リポジトリはこちらから選択します→ PostgreSQL RPM Repository (with Yum)
# rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-6-i386/pgdg-centos93-9.3-1.noarch.rpm
# yum install postgresql93-server postgresql93
初回起動前には初期化が必要です。
# service postgresql-9.3 initdb
そして起動
# service postgresql-9.3 start
■Zabbix 用 DB の準備
Zabbix 側にて必要なファイルを準備します。Zabbix のリポジトリから yum でインストールすると簡単。
yum --enablerepo=zabbix install zabbix-web-pgsql zabbix-server-pgsql
postgres ユーザになります
# su - postgres
zabbix DB を作ります
$ /usr/pgsql-9.3/bin/createdb zabbix
postgres にアクセスする zabbix ユーザさんを作ります
$ /usr/pgsql-9.3/bin/createuser -U postgres --pwprompt --no-superuser --no-createrole --no-createdb zabbix
新しいロールのパスワード:
もう一度入力してください:
権限を付けます
$ /usr/pgsql-9.3/bin/psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix"
GRANT
パスワード認証ができるように変更します。pg_hba.conf 内で ident になってるところを md5 にかきかえて設定再読込。
$ vim ~/9.3/data/pg_hba.conf
~~
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local zabbix zabbix md5
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
~~
$ /usr/pgsql-9.3/bin/pg_ctl reload
■Zabbix 用 DB にテーブルを用意する
zabbix-server-pgsql パッケージに付属していたファイルを使って DB を用意します。
$ /usr/pgsql-9.3/bin/psql -U zabbix zabbix < /usr/share/doc/zabbix-server-pgsql-2.0.9/create/schema.sql
$ /usr/pgsql-9.3/bin/psql -U zabbix zabbix < /usr/share/doc/zabbix-server-pgsql-2.0.9/create/images.sql
ここまでで空っぽのテーブルができあがりました。ここに MySQL から抜き出したデータを放り込んでゆきます。
それはまた今度。