2017年1月25日 星期三

在 CentOS7/RHEL7 上,安裝 POWA 監控 PostgreSQL Server !!

設定目標:
  • 利用 POWA 套件,監控 PostgreSQL Server!
    • 請參考這一篇的設定,架設好 PostgreSQL Server!
PostgreSQL Server 受監控端設定流程:
  1. 利用 yum 安裝 POWA 以及相關需要的套件:
    #yum -y install powa_95 pg_qualstats95 pg_stat_kcache95 hypopg_95
    
  2. 修改 postgresql.conf 檔案:
    #su - postgres
    $vim /var/lib/pgsql/9.5/data/postgresql.conf
    (修改下列參數:)
    shared_preload_libraries = 'pg_stat_statements,powa,pg_stat_kcache,pg_qualstats'
    :
    :
    (存檔後,離開!)
    $ exit
    
  3. 重新啟動 PostgreSQL Server:
    #systemctl restart postgresql-9.5
    
  4. 切換至 postgres 使用者:
    #su - postgres
    
  5. 建立 powa 資料庫:
    $ psql postgres -c "CREATE DATABASE powa"
    
  6. 登入到 powa 資料庫,建立該有的延伸功能:
    $ psql
    postgres=# \connect powa
    You are now connected to database "powa" as user "postgres".
    powa=#CREATE EXTENSION pg_stat_statements;
    CREATE EXTENSION
    powa=# CREATE EXTENSION btree_gist;
    CREATE EXTENSION
    powa=# CREATE EXTENSION powa;
    CREATE EXTENSION
    powa=# CREATE EXTENSION pg_qualstats;
    CREATE EXTENSION
    powa=# CREATE EXTENSION pg_stat_kcache;
    CREATE EXTENSION
    powa=# CREATE EXTENSION hypopg;
    CREATE EXTENSION
    powa=# \q
    
    若是使用 PostgreSQL Cluster 功能,則必須加裝 hypopg 延伸套件!
  7. 授予 powa 使用者,以管理者身份使用 powa 資料庫:
    $ psql -c "CREATE ROLE powa SUPERUSER LOGIN PASSWORD 'powa'"
    

PostgreSQL Server 主控端設定流程:
  1. (略過步驟...)
  2. 利用 yum 安裝 Powa-Web 以及相關需要的套件:
    #yum -y install powa_95-web
    
  3. 修改 Powa-Web 設定檔,加入受監控端 PostgreSQL Server 相關資料:
    #vim /etc/powa-web.conf
    servers={
      'main': {
        'host': '127.0.0.1',
        'port': '5432',
        'username': 'powa',
        'password': 'yourpassword',
        'database': 'powa',
        'query': {'client_encoding': 'utf8'}
      },
      'allinone': {
        'host': '192.168.1.1',
        'port': '5432',
        'database': 'powa',
        'query': {'client_encoding': 'utf8'}
      }
      (可繼續追加設定於此.....)
    }
    cookie_secret="SECRET_STRING"
    
  4. 重新啟動 Web 服務:
    #systemctl restart httpd
    

參考文獻:
  • http://powa.readthedocs.io/en/latest/quickstart.html#install-powa-archivist-on-the-postgresql-instance-on-rhel-centos