Esta é uma citação de um dos meus conhecidos que, há muito tempo, veio até mim com uma pergunta sobre Postgres. Naquela época, conseguimos resolver seu problema em alguns dias e, agradecendo, ele adicionou: 'É bom ter um DBA conhecido.'
Mas o que fazer se não há um DBA conhecido? As opções podem variar bastante, desde procurar entre amigos de amigos até estudar a questão de forma autônoma. Mas, independentemente da resposta que lhe venha à mente, tenho uma boa notícia para você. Em fase de testes, lançamos um serviço de recomendações para Postgres e tudo ao seu redor. O que é isso e como chegamos até aqui?
Por que tudo isso?
Postgres é, no mínimo, não simples, e às vezes até muito complicado. Isso depende do nível de envolvimento e responsabilidade.
Aqueles que trabalham em operações precisam garantir que o Postgres como serviço funcione corretamente e de forma estável - monitorar a utilização de recursos, a disponibilidade, a adequação da configuração, realizar atualizações periódicas e checagens regulares de integridade. Para aqueles que estão no desenvolvimento e escrevem aplicativos, de forma geral, precisam acompanhar como o aplicativo interage com o banco de dados e garantir que não cause situações de falha que possam derrubar o banco. Se a pessoa está em uma posição de liderança técnica, é crucial que o Postgres funcione de maneira confiável, previsível e não gere problemas, preferencialmente sem se aprofundar muito em Postgres.
Em qualquer uma dessas situações, há você e o Postgres. Para cuidar bem do Postgres, é necessário ter um bom entendimento de como ele funciona. Se Postgres não é uma especialização direta, pode-se gastar bastante tempo para estudá-lo. No cenário ideal, quando há tempo e disposição, nem sempre é claro por onde começar e para onde ir.
Mesmo que esteja cercado de ferramentas de monitoramento, que deveriam facilitar a operação, a necessidade de conhecimento especializado permanece em aberto. Para ser capaz de ler e entender gráficos, é preciso também ter um bom entendimento de como o Postgres funciona. Caso contrário, qualquer monitoramento se transforma em imagens desanimadoras e notificações falsas à qualquer hora do dia.
foi projetado para facilitar a operação do Postgres. O serviço coleta e analisa dados sobre o Postgres e fornece recomendações sobre o que pode ser melhorado.
O objetivo principal do serviço é oferecer recomendações claras que proporcionem uma visão do que está acontecendo e o que precisa ser feito a seguir.
Para especialistas que não possuem conhecimentos aprofundados, as recomendações servem como um ponto de partida para o aprimoramento. Para profissionais mais experientes, as recomendações destacam os aspectos que merecem atenção. Nesse sentido, Weaponry atua como um assistente que realiza tarefas rotineiras de identificação de problemas ou deficiências que requerem atenção especial. Weaponry pode ser comparado a um linter que verifica o Postgres e aponta falhas.
Como está a situação agora
Atualmente está em fase de testes e de forma gratuita, com registro temporariamente restrito. Juntamente com alguns voluntários, estamos aprimorando o mecanismo de recomendações em bases de dados de teste, identificando alarmes falsos e trabalhando no texto das recomendações.
Vale ressaltar que as recomendações ainda são bastante diretas - simplesmente indicam o que e como fazer, sem detalhes adicionais - então, nos primeiros tempos, será necessário seguir os links relevantes ou pesquisar mais. As verificações e recomendações abrangem configurações do sistema e hardware, configurações do próprio Postgres, esquema interno e recursos utilizados. Há muitos outros itens planejados para serem adicionados.
E claro, estamos à procura de voluntários que queiram experimentar o serviço e fornecer feedback. Além disso, temos , que você pode acessar e conferir. Se você percebeu que isso é algo que precisa e está pronto para experimentar, entre em contato conosco pelo .
Atualizado em 16-09-2020. Começando.
Após o registro, o usuário é solicitado a criar um projeto - que permite agrupar instâncias de banco de dados. Após a criação do projeto, o usuário é direcionado para as instruções de configuração e instalação do agente. Em termos simples, é preciso criar usuários para o agente, após o que deve-se baixar o script de instalação do agente e executá-lo. Nos comandos shell, isso se parecerá com:
psql -c "CREATE ROLE pgscv WITH LOGIN SUPERUSER PASSWORD 'A7H8Wz6XFMh21pwA'"
export PGSCV_PG_PASSWORD=A7H8Wz6XFMh21pwA
curl -s https://dist.weaponry.io/pgscv/install.sh |sudo -E sh -s - 1 6ada7a04-a798-4415-9427-da23f72c14a5Se houver um pgbouncer no host, será necessário criar um usuário para conectar o agente. O método específico de configuração do usuário no pgbouncer pode variar bastante e depende muito da configuração utilizada. De forma geral, a configuração envolve adicionar o usuário em stats_users no arquivo de configuração (geralmente é pgbouncer.ini) e especificar a senha (ou seu hash) no arquivo indicado no parâmetro auth_file. Ao alterar o stats_users, será necessário reiniciar o pgbouncer.
O script install.sh recebe um par de argumentos obrigatórios que são exclusivos para cada projeto e, através de variáveis de ambiente, aceita as credenciais dos usuários criados. Em seguida, o script inicia o agente em modo bootstrap — o agente se copia no PATH, cria a configuração com as credenciais, a unidade systemd e se inicia como um serviço systemd.
Com isso, a instalação é concluída. Dentro de alguns minutos, a instância do banco de dados aparecerá na lista de hosts na interface e já será possível visualizar as primeiras recomendações. Mas um ponto importante, muitas recomendações exigem uma grande quantidade de métricas acumuladas (pelo menos por um dia).
Fonte: habr.com
