配置远程模式
性能指标采集目标实例配置
- 使用root用户登录目标实例的powa数据库。(若不存在,请先自行创建powa数据库)
- 在powa数据库中创建插件powa。
select control_extension('create', 'pg_stat_statements');
select control_extension('create', 'btree_gist');
select control_extension('create', 'powa');
本地PostgreSQL 配置
本次演示ECS自建PostgreSQL(powa-repository)信息:
- 版本: PostgreSQL 12.6
- superuser: postgres
- data路径:/home/postgres/data
- 修改配置文件 /home/postgres/data/postgresql.conf,添加 pg_stat_statements 至参数 shared_preload_libraries,如下图所示:
- 执行命令重启数据库。
pg_ctl restart -D /home/postgres/data/
- 使用超级用户登录数据库,并创建database: powa,以及安装相关插件。
创建的database必须命名为powa,否则PoWA运行过程中会报错,部分功能失效。
[postgres@ecs-ad4d ~]$ psql -U postgres -d postgres psql (12.6) Type "help" for help. postgres=# create database powa; CREATE DATABASE postgres=# \c 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
- 配置需要采集性能指标的实例信息。
- 执行SQL,添加目标实例信息。
powa=# select powa_register_server( hostname => '192.168.0.1', alias => 'myInstance', port => 5432, username => 'user1', password => '**********', frequency => 300); powa_register_server ---------------------- t (1 row)
- 通过查看 powa_servers 表来获取当前采集指标信息实例的信息
powa=# select * from powa_servers; id | hostname | alias | port | username | password | dbname | frequency | powa_coalesce | retention | allow_ui_connection |version ----+---------------+------------+------+----------+------------+--------+-----------+---------------+-----------+------------------ 0 | | <local>| 0 | | | | -1 | 100 | 00:00:00 | t | 1 | 192.168.0.1 | myInstance | user1 | 5432 | ********** | powa | 300 | 100 | 1 day | t | (2 rows)
在录入目标实例信息、查询目标实例都会涉及到目标实例的IP、root用户账户、明文口令等重要隐私信息,可能会面临信安全风险。
请谨慎评估该插件带来的安全风险后决定是否使用该插件。
- 执行SQL,添加目标实例信息。
PoWA-collector 配置
PoWA-collector启动时,将按以下顺序搜索配置文件作为其配置:
- /etc/powa-collector.conf
- ~/.config/powa-collector.conf
- ~/.powa-collector.conf
- ./powa-collector.conf
配置文件中需要包含以下选项:
- repository.dsn : URL,用于通知 powa-collector 如何连接专用存储数据库(powa-repository)。
- debug : Boolean类型,用于指定是否在调试模式下启动 powa-collector。
本次演示中将配置写入文件./powa-collector.conf
{ "repository": { "dsn": "postgresql://postgres@localhost:5432/powa" }, "debug": true }
PoWA-collector 的配置中并没有密码的配置,所以powa-repository数据库的pg_hba.conf中需要配置对应的连接策略为trust免密连接。
启动 powa-collector
cd /home/postgres/.local/bin
./powa-collector.py &
PoWA-web 配置
PoWA-collector启动时,将按以下顺序搜索配置文件作为其配置:
- /etc/powa-web.conf
- ~/.config/powa-web.conf
- ~/.powa-web.conf
- ./powa-web.conf
本次实例中需要将配置内容写入文件./powa-web.conf中。
# cd /home/postgres/.local/bin # vim ./powa-web.conf # 写入配置内容,并保存 servers={ 'main': { 'host': 'localhost', 'port': '5432', 'database': 'powa', 'username': 'postgres', 'query': {'client_encoding': 'utf8'} } } cookie_secret="SECRET_STRING"
本次演示,powa-repository数据库pg_hab.conf中配置为trust,免密连接,因此未配置password。
启动 powa-web
cd /home/postgres/.local/bin
./powa-web &