Configuração da implementação remota
Configurar uma instância de BD para coleta de métricas de desempenho
- Faça logon no banco de dados powa da instância de BD de destino como usuário root. (Se o banco de dados powa não existir, crie-o primeiro.)
- Crie o plug-in de powa no banco de dados powa.
select control_extension('create', 'pg_stat_statements');
select control_extension('create', 'btree_gist');
select control_extension('create', 'powa');
Configurar PostgreSQL local
Tome o PostgreSQL (powa-repository) no ECS como exemplo.
- Versão: PostgreSQL 12.6
- superusuário: postgres
- Caminho de dados: /home/postgres/data
- Adicione pg_stat_statements a shared_preload_libraries no arquivo /home/postgres/data/postgresql.conf.
- Reinicie o banco de dados.
pg_ctl restart -D /home/postgres/data/
- Faça logon no banco de dados como usuário super, crie um banco de dados powa e instale plug-ins relacionados.
O banco de dados criado deve ser nomeado powa. Caso contrário, um erro é relatado e determinadas funções não entram em vigor enquanto o PoWA estiver em execução.
[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
- Configure a instância cujas métricas de desempenho precisam ser coletadas.
- Adicione as informações da instância.
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)
- Exiba a tabela powa_servers para obter as informações de métrica de desempenho da instância.
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)
As informações sobre as informações da instância de destino incluem informações importantes de privacidade, como seu endereço IP, conta de usuário raiz e senha de texto simples.
Avalie os riscos de segurança do plug-in antes de decidir usá-los.
- Adicione as informações da instância.
Configurar o PoWA-collector
Quando o PoWA-collector é iniciado, ele procura arquivos de configuração na seguinte sequência:
- /etc/powa-collector.conf
- ~/.config/powa-collector.conf
- ~/.powa-collector.conf
- ./powa-collector.conf
Os arquivos de configuração devem conter as seguintes opções:
- repository.dsn: URL. É usado para notificar o powa-collector de como se conectar ao banco de dados de armazenamento dedicado (powa-repository).
- debug: tipo Boolean. Especifica se o powa-collector deve ser ativado no modo de depuração.
Tome o arquivo de configuração ./powa-collector.conf como um exemplo.
{ "repository": { "dsn": "postgresql://postgres@localhost:5432/powa" }, "debug": true }
Nenhuma senha é configurada na configuração do PoWA-collector. Portanto, você precisa definir a política de conexão no arquivo pg_hba.conf do banco de dados powa-repository para trust (conexão sem senha).
Inicie o powa-collector.
cd /home/postgres/.local/bin
./powa-collector.py &
Configurar PoWA-Web
Quando o PoWA-collector é iniciado, ele procura arquivos de configuração na seguinte sequência:
- /etc/powa-web.conf
- ~/.config/powa-web.conf
- ~/.powa-web.conf
- ./powa-web.conf
Tome o arquivo de configuração ./powa-web.conf como um exemplo.
# cd /home/postgres/.local/bin # vim ./powa-web.conf # Write the configuration information and save it. servers={ 'main': { 'host': 'localhost', 'port': '5432', 'database': 'powa', 'username': 'postgres', 'query': {'client_encoding': 'utf8'} } } cookie_secret="SECRET_STRING"
Neste exemplo, a política de conexão no arquivo pg_hab.conf do banco de dados powa-repository é definida como trust (conexão sem senha). Portanto, a senha não está configurada.
Comece a powa-web.
cd /home/postgres/.local/bin
./powa-web &