A administração de banco de dados vai além de garantir operações suaves para ter desempenho histórico que oferecerá algumas linhas de base para planejamento de capacidade, obter desempenho em tempo real para picos de carga, automatizar um grande cluster de nós e ter um plano de backup para o base de dados.
Existem muitas ferramentas de automação que podem executar algumas dessas tarefas, como Ansible, Salt e Puppet, mas o MongoDB Ops Manager oferece mais além de sua capacidade. Além disso, é preciso saber qual é o estado do banco de dados, em um determinado momento e quais atualizações precisam ser feitas para que o sistema esteja atualizado.
O que é o MongoDB Ops Manager?
Este é um aplicativo de gerenciamento para MongoDB criado pelos engenheiros de banco de dados do MongoDB para facilitar e acelerar os processos de implantação, monitoramento, backups e dimensionamento. Está disponível apenas com a licença MongoDB Enterprise Advanced.
O uso do banco de dados aumenta com o tempo à medida que mais usuários o utilizam e a vulnerabilidade dos dados envolvidos também aumenta. Um banco de dados pode estar sujeito a riscos, como zumbido de rede e hackers, afetando assim uma operação comercial. O grupo de gerenciamento de banco de dados precisa observar as mudanças nos números para manter o banco de dados com os patches e a capacidade de serviço mais recentes. O MongoDB Ops Manager fornece esses recursos de extensão para um desempenho aprimorado do banco de dados das seguintes maneiras:
- Proteção contra perda de dados
- Automação de tarefas fáceis
- Fornecendo informações sobre taxas de consulta
- Visibilidade geral do desempenho da GUI
- Gerenciamento de implantações elásticas
- Integração com aplicativos em nuvem
Em geral, o Ops Manager ajuda na automação, monitoramento e backups.
Recursos de automação do gerenciador de operações
Gerenciar uma grande implantação de cluster por conta própria pode se tornar tedioso, especialmente ao executar as mesmas instruções ao longo do tempo e (dependendo da demanda) você aumentará ou diminuirá a escala. Algumas dessas tarefas podem exigir que você contrate especialistas em banco de dados para fazer isso. A GUI do Ops Manager oferece algumas dessas ações com apenas alguns cliques. Você pode usá-lo para adicionar ou remover nós do cluster de acordo com a demanda e o MongoDB se reequilibra automaticamente em relação à nova topologia com tempo mínimo ou nenhum tempo de inatividade.
Algumas das operações executadas manualmente (como implantar um novo cluster, atualizar nós, adicionar membros e fragmentos do conjunto de réplicas) são orquestradas e automatizadas pelo Ops Manager. Na próxima vez que você realizar o procedimento, você só precisará clicar em um botão e todas as tarefas serão executadas. Há também uma API RESTful do Ops Manager para permitir que você integre o gerenciamento programático.
Com esse tipo de automação, você pode reduzir seus custos operacionais e despesas gerais.
MongoDG Monitoring com Ops Manager
O monitoramento é um recurso importante para qualquer sistema de banco de dados em relação à alocação de recursos e notificações sobre a integridade do banco de dados. Sem nenhuma ideia do desempenho do seu banco de dados, as chances de encontrar um problema técnico são altas e, consequentemente, catastróficas. O MongoDB Ops Manager ainda tem uma visibilidade completa do desempenho em uma representação gráfica, fornece relatórios em tempo real e um recurso de alerta sobre os principais indicadores de desempenho, como recursos de hardware.
No caso de planejamento de capacidade, o Ops Manager oferece uma visão histórica do desempenho a partir da qual a linha de base operacional pode ser derivada.
O monitoramento é obtido habilitando-o no mesmo host do MongoDB. O monitoramento coleta os dados de todos os nós da implantação e um agente transmite essas estatísticas ao gerente de operações, que cria um relatório sobre o status da implantação em tempo real.
Nos relatórios, você pode ver facilmente consultas lentas e rápidas e descobrir como otimizá-las para um desempenho médio.
O Ops Manager fornece painéis e gráficos personalizados para rastrear muitos bancos de dados sobre as principais métricas de integridade que incluem utilização de CPU e memória.
Ativar alertas no Gerenciador de operações é importante porque você deseja saber quais métricas-chave do banco de dados estão fora do alcance. Sua configuração varia em termos de parâmetros que afetam hosts individuais, agentes, conjuntos de réplicas e backups. O Ops Manager oferece 4 estratégias principais de relatórios para mantê-lo sobrecarregado de possíveis problemas técnicos:sistema de gerenciamento de incidentes, SMS, e-mail ou Slack.
Você também pode usar a API RESTful do Ops Manager e alimentar os dados em plataformas como o APM para visualizar as métricas de integridade.
Backups do MongoDB com o Ops Manager
A perda de dados é um dos contratempos mais dolorosos que podem afetar a operação de qualquer negócio. No entanto, com o Ops Manager, os dados ficam protegidos. O tempo de inatividade do banco de dados pode ocorrer a qualquer momento, por exemplo, devido a blecautes ou desconexões de rede. Lucky é a organização que usa o MongoDB Ops Manager, pois mantém backups continuamente em um modo de instantâneos programados ou em uma recuperação pontual. Se a implantação do MongoDB falhar em algum momento, o backup mais recente estará apenas alguns momentos atrás do último status do banco de dados antes da falha, reduzindo a perda de dados.
A ferramenta oferece uma janela para executar consultas de backups diretamente para encontrar o ponto correto para uma restauração. Além disso, você pode usar isso para entender como as estruturas de dados mudaram com o tempo.
O backup do Ops Manager só funciona com um cluster ou conjunto de réplicas, caso contrário, para um processo mongod autônomo, você precisará convertê-lo em um conjunto de réplicas de membro único.
Como o backup e a restauração funcionam com o Ops Manager
Após habilitar o backup na implantação do MongoDB, o backup executa uma sincronização inicial dos dados da implantação da mesma forma que poderia criar um novo membro invisível de um conjunto de réplicas. Um agente envia a sincronização inicial e o oplog dados pelo HTTPS de volta ao Ops Manager. Durante o processo de backup, o banco de dados retém todas as operações de taxa de transferência, mas elas são registradas no oplog, portanto, também é enviada para obter a última atualização.
O backup seguirá o oplog de cada conjunto de réplicas para manter um banco de dados autônomo em disco (banco de dados principal) que será mantido pelo Ops Manager para cada conjunto de réplicas com backup. Esse banco de dados principal permanece consistente com o primário original até o último oplog fornecido pelo agente.
Para um cluster fragmentado, uma restauração pode ser feita a partir de pontos de verificação entre instantâneos, enquanto para um conjunto de réplicas, uma restauração pode ser feita a partir de pontos selecionados no tempo.
Para uma restauração de instantâneo, o Ops Manager lerá diretamente do armazenamento de instantâneo.
Ao usar point-in-time ou ponto de verificação, o gerenciador de operações restaura um instantâneo completo do armazenamento de instantâneos e, em seguida, aplica os oplogs armazenados a um ponto especificado. O gerenciador de operações entrega o instantâneo e a atualização do oplog usando um mecanismo HTTPS.
A quantidade de oplog que você mantém por backup determinará quanto tempo um ponto de verificação e uma restauração pontual podem cobrir.
Integração com aplicativos em nuvem
Nem todas as implantações do MongoDB são executadas no mesmo host de cluster. Existem tantos hosts de nuvem (como Red Hat OpenShift, Kubernates e Pivotal Cloud Foundry) que estão dificultando a integração com outras ferramentas. O Ops Manager, no entanto, pode ser integrado a essa variedade de plataformas de implantação de aplicativos em nuvem, tornando consistente e elegante a execução e implantação de cargas de trabalho onde quer que elas estejam, garantindo a mesma configuração de banco de dados em diferentes ambientes e controlando-as a partir de uma única plataforma.
Conclusão
Gerenciar uma grande implantação de cluster MongoDB não é uma tarefa fácil. O Ops Manager é uma ferramenta de automação que oferece um estado de banco de dados visualizado e um sistema de alerta; recursos-chave no fornecimento de informações sobre a integridade do banco de dados. No entanto, requer uma licença corporativa que, para algumas organizações, pode estar fora do orçamento.
O ClusterControl oferece uma alternativa, oferecendo muitos dos mesmos recursos e funções do Ops Manager, mas por mais da metade do custo. Você pode aprender mais sobre o que o ClusterControl faz para o MongoDB aqui.