Configurar um Aplicativo de Ops Manager altamente disponível
Nesta página
- Considerações
- balancer de carga
- Conjunto de réplicas para o aplicativo de banco de dados do Ops Manager
- O arquivo
gen.key
- Modo de atualização
- Pré-requisitos
- Procedimento
- Configure um balancer de carga com o conjunto de hosts do aplicativo de Ops Manager.
- Configure o Ops Manager para usar o balancer de carga.
- Atualize cada host do aplicativo de Ops Manager com as informações dos hosts de replicação.
- Altere a URL do Ops Manager para a URL do balancer de carga no arquivo de configuração do MongoDB Agent.
- Inicie um dos aplicativos de Ops Manager.
- Copie o arquivo
gen.key
para cada host do Ops Manager. - Inicie os aplicativos restantes de Ops Manager.
- Informações adicionais
O MongoDB Ops Manager Application oferece alta disponibilidade por meio do uso de vários servidores do aplicativo MongoDB Ops Manager atrás de um balanceador de carga e por meio do uso de umconjunto de réplicas para hospedar oOps Manager Application Database .
Considerações
balancer de carga
Os componentes do aplicativo de Ops Manager não têm estado entre as solicitações. Qualquer servidor do aplicativo de Ops Manager pode lidar com solicitações, desde que todos os servidores leiam do mesmo aplicativo de banco de dados do Ops Manager. Se um aplicativo de Ops Manager ficar indisponível, outro preencherá as solicitações.
Para tirar proveito disso para alta disponibilidade, configure um balancer de carga de sua escolha para equilibrar o pool de hosts do Aplicativo de Ops Manager. Para fazer isso no Ops Manager, execute as seguintes ações:
Defina a propriedade
URL to Access Ops Manager
como a URL do balancer de carga.Configure a propriedade
Load Balancer Remote IP Header
paraX-Forwarded-For
, que é o campo de cabeçalho HTTP que o balanceador de carga utiliza para identificar o endereço IP do cliente de origem.Observação
Se você estiver usando um4 balancer de carga de camada que não suporta
X-Forwarded-For
por padrão, habiliteX-Forwarded-For
ou use o protocolo de proxy.
O Aplicativo de Ops Manager usa o endereço IP do cliente para auditoria, registro e definição de uma lista de acesso para a API.
Depois que o balancer de carga for configurado e iniciado, você não deverá se conectar ao Aplicativo de Ops Manager a partir de seus URLs de host individual.
Observação
Para proibir o acesso a cada servidor de aplicativos de Ops Manager, configure suas regras de firewall adequadamente.
Exemplo
Se você tiver dois hosts do Ops Manager que atendem aos seguintes endereços URLs:
ops1.example.com
ops2.example.com
e coloque-os atrás de um balancer de carga na seguinte URL:
opsmanager.example.com
Após configurar e iniciar este balancer de carga, você não deve registrar no ops1.example.com
. Em vez disso, registre-se em opsmanager.example.com
.
Observação
Se você definir esses parâmetros utilizando o arquivo de configuração, altere o mms.remoteIp.header
para a URL para o balancer de carga e mms.centralUrl
para a URL para o host e porta do Ops Manager.
Os snapshots do sistema de arquivos exigem que o sistema de arquivos seja compartilhado
Se você configurar o MongoDB Ops Manager para usar vários servidores de aplicativos do MongoDB Ops Manager atrás de um balancer de carga HTTP ou HTTPS e usar snapshots do sistema de arquivos, FCV 4.2 ou tarefas de snapshot de backup posterior executadas em paralelo em um ou mais servidores. Certifique-se de ter um sistema de arquivos compartilhado montado em cada servidor MongoDB Ops Manager. O servidor do aplicativo MongoDB Ops Manager pode abrir e gravar diferentes offsets dos mesmos arquivos. Certifique-se de que o sistema de arquivos compartilhados permita isso. Caso contrário, você encontrará erros de acesso.
Arquivo de diagnóstico
Para que o arquivo de diagnóstico do Ops Manager tenha tempo de ser gerado, defina o parâmetro HTTP idle timeout para o balancer de carga como 180 segundos.
Suporte à camada de rede do dispositivo
Qualquer dispositivo de balanceamento de carga deve suportar a camada (a Camada de 7 Aplicativo) do modelo OSI .
Conjunto de réplicas para o aplicativo de banco de dados do Ops Manager
Distribua um conjunto de réplicas em vez de um autônomo para hospedar o Ops Manager Application Database. Os conjuntos de réplicas terão failover automático se o primário ficar indisponível.
Se o conjunto de réplicas tiver membros em diversas instalações, certifique-se de que uma única instalação tenha votos suficientes para eleger um primário , se necessário. Escolha a instalação que hospeda os principais sistemas de aplicativos. Coloque a maioria dos membros votantes e todos os membros que podem se tornar primários nesta instalação. Caso contrário, as partições da rede poderiam impedir que o conjunto fosse capaz de formar uma maioria. Para obter detalhes sobre como os conjuntos de réplicas elegem as primárias, veja Eleições do conjunto de réplicas.
Você pode fazer backup do conjunto de réplicas usando snapshots do sistema de arquivos. Os snapshots do sistema de arquivos usam ferramentas em nível de sistema para criar cópias do dispositivo que contém os arquivos de dados do conjunto de réplicas.
Para distribuir o conjunto de réplicas que hospeda o banco de dados do Aplicativo de Ops Manager, consulte Instância de apoio do MongoDB.
O gen.key
arquivo
gen.key
é um arquivo binário de 24 bytes usado para criptografar e descriptografar os bancos de dados de backup e as credenciais de usuário do Ops Manager. Um arquivo gen.key
idêntico deve ser armazenado em cada servidor que faz parte de um sistema do Ops Manager altamente disponível.
O arquivo gen.key
pode ser gerado automaticamente ou manualmente.
- Para que o Ops Manager gere o arquivo:
- Inicie um servidor Ops Manager. O Ops Manager criará um arquivo
gen.key
se não houver nenhum. - Para criar o arquivo manualmente:
Gere um arquivo binário de 24 bytes.
Exemplo
O seguinte cria o arquivo
gen.key
usandoopenssl
:openssl rand 24 > /<keyPath>/gen.key Proteja o arquivo
gen.key
como qualquer arquivo confidencial. Altere o proprietário para o usuário que está executando o Ops Manager e defina a permissão de leitura e gravação do arquivo somente para o proprietário.
Depois de obter o arquivo gen.key
(criado de maneira automática ou manual), antes de iniciar os outros servidores do Ops Manager, copie o arquivo no diretório apropriado no servidor atual e para o diretório apropriado nos outros servidores do Ops Manager:
/etc/mongodb-mms/
para instalações de RPM ou Ubuntu${HOME}/.mongodb-mms/
para instalações de arquivo (.tar
)
Importante
Qualquer recurso de armazenamento compartilhado que armazena o arquivo
gen.key
deve ser configurado para alta disponibilidade de forma a não introduzir um ponto único potencial de falha.Qualquer servidor do Ops Manager que não tenha o arquivo
gen.key
instalado não pode se conectar aos bancos de dados de suporte e se tornar parte de uma instância do HA Ops Manager.Depois de gerar o
gen.key
para a instância do Ops Manager no primeiro servidor do Ops Manager, faça backup do arquivogen.key
em uma localização segura.
Modo de atualização
Se você tiver uma instalação do Ops Manager com mais de um host do Ops Manager apontando para o mesmo aplicativo de banco de dados, poderá atualizar o Ops Manager para uma versão mais recente sem incorrer em tempo de inatividade de monitoramento. Após concluir a atualização de um host Ops Manager de um sistema do Ops Manager altamente disponível, esse sistema entra em um estado conhecido como Modo de atualização. Nesse estado, o Ops Manager está disponível durante uma atualização. Os benefícios desse modo são que, durante todo o processo de atualização, o usuário pode fazer a atualização:
Alertas e monitoramento operam
As instâncias do Ops Manager permanecem ativas
O aplicativo do gerente de operações pode ser acessado no modo somente leitura
APIs do Ops Manager que gravam ou excluem dados estão desabilitadas
Sua instância do Ops Manager permanece no Modo de atualização até que todos os hosts do Ops Manager tenham sido atualizados e reiniciados. Você não deve atualizar mais de um host do Ops Manager de cada vez.
Pré-requisitos
Distribua o conjunto de réplicas que atende ao Ops Manager Application Database. Para distribuir um conjunto de réplicas, consulte Distribuir um conjunto de réplicas no manual do MongoDB.
Procedimento
O procedimento a seguir pressupõe que você tenha gerado o primeiro gen.key
usando um dos hosts do aplicativo de Ops Manager. Se, em vez disso, você criar seu próprio gen.key
, distribua-o aos hosts do Ops Manager antes de iniciar qualquer um dos aplicativos de Ops Manager.
Importante
O balancer de carga colocado na frente dos servidores de aplicativos de Ops Manager não deve retornar conteúdo armazenado em cache. O balancer de carga deve ter o cache desabilitado.
Para configurar vários aplicativos de Ops Manager com balanceamento de carga:
Configure um balancer de carga com o conjunto de hosts do aplicativo de Ops Manager.
Configure o balancer de carga para realizar uma verificação de integridade em cada ponto de extremidade da API de integridade do Ops Manager:
http://<OpsManagerHost>:<OpsManagerPort>/monitor/health
O Ops Manager responde com um dos dois códigos HTTP:
HTTP Status Code | Status de integridade |
---|---|
200 | O host do Ops Manager e o banco de dados de aplicativos parecem saudáveis. |
500 | O host do Ops Manager ou o aplicativo de banco de dados não parecem íntegros. Se esse endpoint retornar |
O balancer de carga não pode devolver conteúdo em cache.
Configure o Ops Manager para usar o balancer de carga.
No Ops Manager, clique em Admin, depois na aba General e, em seguida, em Ops Manager Config.
Defina a propriedade
URL to Access Ops Manager
para apontar para o URL do balancer de carga.Configure a propriedade
Load Balancer Remote IP Header
para o nome do campo de cabeçalho HTTP que o balancer de carga usa para identificar o endereço IP do cliente.Após o
Load Balancer Remote IP Header
ser configurado, o Ops Manager habilita os seguintes cabeçalhos HTTP:Cabeçalho HTTPEncaminhar para o Ops ManagerHost original que o cliente solicitou no cabeçalho da solicitação HTTP do Host.Protocolo usado para fazer a solicitação HTTP.Nome de host do servidor proxy.Status HTTPS de uma solicitação.
Atualize cada host do aplicativo de Ops Manager com as informações dos hosts de replicação.
Em cada host, edite o arquivo conf-mms.properties
para definir a propriedade mongo.mongoUri
como a string de conexão do Ops Manager Application Database. Você deve especificar pelo menos 3 hosts na string de conexão mongo.mongoUri
.
mongo.mongoUri=mongodb://<mms0.example.net>:<27017>,<mms1.example.net>:<27017>,<mms2.example.net>:<27017>/?maxPoolSize=100
Altere a URL do Ops Manager para a URL do Load Balancer no arquivo de configuração do MongoDB Agent .
Conclua as etapas a seguir em cada host do agente MongoDB.
Abra o arquivo de configuração do MongoDB Agent.
vi /path/to/configurationFile.config O local do arquivo de configuração Automação depende da sua plataforma:
/path/to/install/local.config /etc/mongodb-mms/automation-agent.config /etc/mongodb-mms/automation-agent.config /path/to/install/local.config Edite a propriedade
mmsBaseUrl
para apontar para o balanceador de carga e salvar as alterações.mmsBaseUrl=<LOAD-BALANCER-URL>:<PORT> Reinicie o MongoDB Agent.
Copie o gen.key
arquivo para cada host do Ops Manager.
O arquivo gen.key
está localizado no /etc/mongodb-mms/
para instalações a partir de um gerenciador de pacote e no ${HOME}/.mongodb-mms/
para instalações a partir de um arquivo morto.
Copie o arquivo gen.key
do host do aplicativo de Ops Manager em execução para o diretório apropriado nos outros hosts do aplicativo de Ops Manager.
Informações adicionais
Para obter informações sobre como tornar o backup do Ops Manager altamente disponível, consulte Configurar um serviço de backup do Ops Manager altamente disponível.