Zabbix4.0 with PostgreSQL

Zabbix4.0を構築する。 データベースには、PostgreSQLを使う。 社内および検証用のため、細かいチューニングやセキュリティは考慮しない。

環境

  • CentOS 7.5
  • PostgreSQL10.0.2
  • Zabbix 4.0
  • オンラインインストール
  • すべて1台に入れる

OS側の設定

  • 時刻同期
  • SELinuxの無効
  • Firewalldの停止

PostgreSQL10のインストール

リポジトリのインストール

# yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

PostgreSQLのクライアントとサーバーをインストール

# yum install postgresql10 postgresql10-server

環境変数の設定

# vi ~/.bashrc
//以下を追加
PATH=/usr/pgsql-10/bin:$PATH

# source ~/.bashrc

データベースクラスタの初期化

# postgresql-10-setup initdb
Initializing database ... OK

PostgreSQLサーバの自動起動有効&サービス起動

# systemctl enable postgresql-10
# systemctl start postgresql-10

postgresユーザのパスワード設定

# su - postgres
$ psql
postgres=# alter user postgres password 'postgres'

pg_hba.confの設定

$ vi $PGDATA/pg_hba.conf
//local、hostについて、METHODを"trust"に変更
local all all    trust
host all all 127.0.0.1/32 trust

リポジトリのオフ

# vi /etc/yum.repos.d/pgdg-10-centos.repo
enabled=1enabled=0

Zabbixのインストール

リポジトリのインストール

# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
# yum-config-manager --enable rhel7-server-optional-rpms

Zabbixサーバとフロントエンドのインストール

# yum install zabbix-server-pgsql
# yum install zabbix-web-pgsql

PostgreSQLにzabbixユーザーを作成する

# su - postgres
$ createuser --pwprompt zabbix
パスワード: zabbix

zabbixのデータベースを作成する

$ createdb -O zabbix -E unicode -T template0 zabbix

zabbix用データベーススキーマの作成

$ zcat /usr/share/doc/zabbix-server-pgsql-4.0.0/create.sql.gz | psql -U zabbix zabbix

Zabbixサーバーの設定

# vi /etc/zabbix/zabbix_server.conf
//以下の設定であることを確認する
DBHost=
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

Zabbixサーバの自動起動有効&サービス起動

# systemctl enable zabbix-server
# systemctl start zabbix-server

Zabbixフロントエンドの設定

# vi /etc/httpd/conf.d/zabbix.conf
//以下のタイムゾーンのみ設定
php_value date.timezone Asia/Tokyo

HTTPサーバの自動起動有効&サービス起動

# systemctl enable httpd
# systemctl start httpd

Zabbix WebUIの設定

  1. http://{Zabbixサーバのアドレス}/zabbix にアクセス
  2. トップ画面で、次へ
  3. Check of pre-requisites画面で、次へ
  4. Configure DB connection画面で、Password: zabbix を入力(その他はデフォルトでよいはず)
  5. Zabbix server details画面で、Nameに任意の名前を入力して、次へ
    • このNameの値は、ブラウザのタブに表示される
  6. Pre-installation summary画面で、次へ
  7. Install画面で、successfully のメッセージが出れば成功、Finishをクリックして完了
  8. Zabbixのログイン画面が表示されるので、ユーザ名:Admin、パスワード:zabbixを入力して、ログインする

その他

途中、少しはまったのでメモ。

事象

  • WebUIの設定中に、DBに接続できない事象が発生
  • /var/log/zabbix/zabbix_server.logに、以下のメッセージが出力
cannot use database "zabbix": database is not a Zabbix database
query failed: [0] PGRES_FATAL_ERROR:ERROR: リレーション users への権限がありません

原因

  • zabbixのデータベースを作成する際に、-U zabbix とユーザを指定するのが必要でした。