10 principais recursos de automatização do HQBird Standard
Data da última atualização: 09/09/2020
O HQbird Standard é uma ferramenta poderosa para automatizar diversas tarefas de administração de bases de dados, além de monitorar a performance de servidores Firebird 2.5 ou 3.0.
Para instalar o HQbird Standard não é necessário parar ou reinstalar o Firebird, pois ele funciona como uma aplicação cliente rodando no servidor. Nesse artigo, você encontrará as 10 tarefas mais comuns que podem ser automatizadas com o HQbird Standard.
1. Implementar sweeps corretamente, a fim de evitar backups/restores rotineiros
Muitas vezes o sweep não consegue limpar a base de dados de forma eficiente, pois ele não fecha transações de escrita que estão abertas por um longo período de tempo. Como resultado, a coleta de lixo acaba não acontecendo, ou acontecendo de forma ineficiente. O HQBird Standard fornece um agendador de sweeps que executa essa função de forma apropriada.
Para configurar o sweep, marque o flag "ativado", verifique o horário em que deseja que o sweep seja executado (por padrão é diariamente às 23h) e clique em Salvar.
Com a configuração acima, antes de executar o sweep, o HQBird encerrará todas as conexões que tenham transações de escrita que estejam abertas há mais de 30 minutos (você pode alterar o tempo, se necessário), excluindo aquelas associadas à ferramentas de sistema, como o gbak, gstat, gfix, etc, e somente depois fará o sweep.
Após ativar o Agendador de Sweep, a base de dados terá o "lixo" coletado corretamente, não sendo mais necessário fazer backup/restore regulares para "limpá-la".
2. Implementar agendamentos complexos de backups (gbak)
O Gbak é um utilitário bastante simples, mas implementar esquemas de backup corretamente não é uma tarefa tão simples.
O HQBird permite criar esquemas complexos de backup em um minuto. Por exemplo, podemos agendar backups para às 6am e 23h, configurar para manter os 5 últimos backups, comprimir os arquivos (usando compressão zip padrão) e armazenar em uma pasta específica:
O HQbird sempre acompanha a execução dos backups e, opcionalmente, pode enviar relatórios detalhados após o término de um backup, se a opção "Enviar relatório de OK" estiver ativa. Mas isso não é tudo: é possível configurar também timeouts para a execução do backup, ativar a checagem do backup através de um restore automático, especificar parâmetros adicionais para o comando de backup, mover o arquivo de backup bem como executar um script customizado após o término do backup:
O HQbird calculará automaticamente o espaço necessário para a execução das tarefas e, caso não haja espaço suficiente, enviará um alerta de erro e cancelará a execução do backup.
No caso de uma execução de backup bem sucedida, a seguinte mensagem será enviada por email:
Regular backup was done successfully. Backup 'D:\MyDatabase\backup_20200824_20-00.zbk' 10.3 MB was created at 2020-08-24 20:00:00.011+02:00 took total 00m:02s.808 to complete. Test restore is omitted. Backup: [OK] Backup [D:\MyDatabase\backup_20200824_20-00.fbk] 10.3 MB done successfully at 2020-08-24 20:00:02.429+02:00, taking 00m:02s.403. Other: [OK] Archive [D:\MyDatabase\backup_20200824_20-00.zbk] 1.2 MB done successfully at 2020-08-24 20:00:02.819+02:00, taking 00m:00s.359. Regular backup was done successfully. Test restore is omitted.
Para abrir a configuração de emails de alerta, clique no nome do servidor desejado, no cabeçalho do HQbird web console:
Preencha os dados do servidor SMTP. O HQbird automaticamente detecta os detalhes como SSL/TLS/etc, bem como suporta envios através do Google Mail, Office 365, e qualquer outro servidor de SMTP padrão.
Os usuários que tem o HQBird Ilimitado (modelo de assinatura) podem usar o Control Center (fornecido separadamente) para coletar alertas de diversas instalações do HQBird e concentrá-los em uma única página para visualizar os status de backups, erros, alertas, etc.
3. Implementar backups incrementais
Backup incremental (com o nbackup) é especialmente útil se o seu banco de dados é grande (mais que 100GB), pois ele é mais rápido que o gbak.
Como o nbackup não verifica o arquivo da base de dados (diferente do gbak) é recomendado combinar ambos os tipos de backups.
O HQbird oferece 3 tipos de backups incrementais.
3.1 Dump backup
Dump backup é a forma mais simples de fazer um backup incremental – ele cria uma cópia completa da base de dados.
Para configurá-lo, simplesmente informe quando e onde o arquivo deverá ser feito.
Se você tiver configurado a opção "Enviar email de OK", o HQbird enviará uma notificação sobre a execução do backup executado com sucesso:
Dump backup was done successfully Dump backup ["E:\MyBackups\nbackup.nbk.nbackupcopy"] 13.5 GB was created at 2020-09-08 18:00:00.0 CAT.
3.2 Backup incremental simples
O segundo tipo de backup incremental é o modo simples. Ele permite especificar até 3 níveis de incrementos: nível 0 (semanalmente), nível 1 (diariamente) e nível 2 (de hora em hora).
Atualmente, a configuração mínima necessária é informar o path onde será gerado os backups, e o flag de "ativado".
Mas há muito mais opções disponíveis, portanto, é melhor ler a documentação detalhada dos backups incrementais no Guia do Usuário do HQBird.
3.3 Backup Incremental Avançado
Essa opção deve ser usada quando há necessidade de mais flexibilidade no agendamento e até 5 níveis de backup:
4. Transferir um backup para outro computador
Ok, você já configurou seus backups no HQbird, mas agora precisa transferi-los para outro computador? O HQbird tem uma tarefa chamada "Transfer Files" para facilitar essa tarefa.
Ela faz o seguinte: checa a pasta especificada à procura de arquivos que correspondem à máscara informada, e caso encontre algum, o envia por FTP (FTPS/FTP over SSH). A tarefa também pode comprimir o arquivo que será transferido, e mantém automaticamente um journal dos envios.
Para enviar os backups para outro computador, ative a tarefa de transferência de arquivos, especifique a pasta que será monitorada e a máscara de nome de arquivos desejada (a máscara padrão usa a extensão fbk).
Configure o FTP (quando necessário). Até 5 servidores de FTP podem ser configurados.
Uma boa pergunta é "Onde conseguir um servidor FTP?". É claro que você pode usar o Filezilla ou outros servidores de FTP, mas o HQBird traz um servidor FTP embutido que permite receber os arquvos enviados por outros HQBird.
O FTP do HQBird é ativado/configurado diretamente editando o arquivo de configuração que fica em C:\HQBirdData\config\ftpsrv.properties.
#Dataguard config checker #Wed Sep 09 14:17:25 AST 2020 ftpsrv.enable=false ftpsrv.defpsw=defaultpassword2 ftpsrv.defuser=admin2 ftpsrv.homedir= ftpsrv.port=8721
Ele pode ser ativado manualmente (o HQbird FBDataGuard precisará ser reiniciado) ou, no Windows, configurado diretamente durante a instalação.
5. Implementar o restore e verificação dos backups incrementais em outro computador
Se você configurou o HQBird no servidor master para transferir os backups para um FTP de outro HQBird rodando no servidor de backup, ou mesmo usando um FTP de terceiros, você pode configurar restores automáticos desses backups. Para isso, o HQbird tem o job “RestoreDB”, com uma lista extensa de opções:
A job RestoreDB monitora a pasta informada à procura de novos arquivos (geralmente é a pasta incoming do seu servidor FTP), e restaura tanto os backups gerados pelo gbak como os incrementais. É necessário configurar onde o backup será restaurado, e o que fazer com os restores anteriores: sobcrescrever ou renomear.
Para mais detalhes, consulte o Guia do HQBird.
6. Recalcular as estatísticas dos índices
As estatísticas de índices no Firebird não são atualizadas automaticamente. Apesar de não ser uma tarefa que precisa ser realizada frequentemente, é bom executá-la uma vez por semana em bases de dados com grande volume de alteração nos dados.
O HQbird tem um job de Realculo de Índices para isso:
7. Agendador de monitoramento de performance
O HQbird tem um poderoso sistema de monitoramento de performance, baseado na TraceAPI do Firebird. Para ativá-lo, abra a aba “Performance” na Dashboard:
Selecione o banco de dados que deseja monitorar, e clique no íncone para abrir a janela:
Para ativar o monitoramento de performance, configure o horário de início (usando a sintaxe do CRON - por padrão está configurado para iniciar as 10h30 diariamente) e o horário final (por padrão configurado para 11h00 diariamente), e clique Ok
Você deve configurar o horário de monitoramento para o horário onde o banco de dados tem maior carga, geralmente é quando os usuários reclamam de lentidão. Após coletar as informações de performance, o HQbird irá gerar um relatório completo com o resultado das 10 queries mais lentas, as 10 queries que mais fizeram fetches na base de dados (ex: alto uso de CPU), leituras, escritas e resumo por tempo.
O relatório é gerado em formato HTML e armazenado na pasta de saída especificada (até 50 relatórios, por padrão), e caso a opção de "Enviar emails" estiver marcada, ele também será enviado por email.
Com esse relatório de performance fica muito fácil determinar as queries mais problemáticas, e concentrar seus esforços em otimizá-las.
8. Monitoramento geral de performance e ping de SQL
O HQbird tem um job chamado “SQL Ping”, que mede o tempo de resposta do banco de dados e coleta estatísticas de performance:
Com esse job, o HQbird coleta as principais estatísticas de performance, permitindo identificar facilmente os horários de pico.
Os gráficos com os resultados podem ser vistos na aba "Resumo de gráficos" do HQbird:
9. Análise de estatísticas da base de dados com o DBAnalyst
Os desenvolvedores focados na melhoria de performance e controle de transações devem instalar o pacote chamado HQBird Admin e usar a ferramenta HQBird Database Analyst para coletar as estatísticas. Esse utilitário exibe uma série de informações sobre a base de dados: tamanho das tabelas e dos índices, número de registros e de versões de registros, profundidade dos índices, etc. Ele fornece um relatório detalhado dos problemas identificados, como índices inúteis ou ruins, melhor tamanho de página, tabelas fragmentadas, etc. bem como recomendações de como resolvê-los.
10. Detalhes sobre transações abertas há muito tempo
O MON$Logger é outro utilitário do pacote HQbird Admin. Ele coleta e analisa informações extraídas das tabelas de monitoramento do Firebird. É especialmente útil para identificar conexões com transações ativas há um longo tempo:
Essas transações bloqueiam a coleta de lixo, e mesmo que haja apenas uma dessas transações longas ativas, ela podeerá afetar a performance do banco de forma bastante negativa.
O MON$Logger exibe os detalhes da conexão, como o IP, nome do usuário, role, I/O, transações e SQLs em execução.
O que não está incluso na versão Standard do HQBird
Os seguintes recursos não estão disponíveis na versão standard do HQBird, sendo necessário as versões mais completas da ferramenta (professional e enterprise):
HQBird Professional
- IBSurgeon FirstAID e IBBackupSurgeon, ferramentas para recuperação de bases de dados e backups corrompidos
- Firebird SQL Studio – ferramenta de administração
HQBird Enterprise - inclui tudo que tem na Standard e na Professional, mais:
- Replicação nativa (assíncrona e síncrona, unidirecional, de 1 para N, sem necessidade de triggers especiais e com replicação de DDL)
- Backup multitarefa (até 6x mais rápido que o gbak normal)
- Restore multitarefa (até 3x mais rápido que o gbak normal)
- Sweep multitarefa (até 6x mais rápido)
- Licença de plugin de criptografia para 1 servidor
Os brasileiros podem adquirir todas as versões do HQBird com um desconto especial, somente através dos links disponíveis na FireBase.