Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Monitorar nós de cluster

Um cluster do GitHub Enterprise Server é formado por serviços redundantes distribuídos em dois ou mais nós. Em caso de falha de um serviço ou de um nó inteiro, a falha não será aparente de imediato para os usuários do cluster. No entanto, como o desempenho e a redundância são afetados, é importante monitorar a integridade de um cluster do GitHub Enterprise Server.

Neste artigo

Did this doc help you?

Verificar o status do cluster manualmente

O GitHub Enterprise Server tem um utilitário integrado de linha de comando para monitorar a integridade do cluster. No shell administrativo, acionar o comando ghe-cluster-status executa uma série de verificações de integridade em cada nó, verificando também o status do serviço e da conectividade. A saída mostra todos os resultados de teste, inclusive o texto ok ou erro. Por exemplo, para exibir somente os testes com falha, execute:

admin@ghe-data-node-0:~$ status-ghe-cluster | grep erro
> mysql-replicacao no-dados-ghe-0: erro Parado
> mysql cluster: erro

Observação: se não houver testes com falha, o comando não vai gerar saída. Nesse caso, a integridade do cluster terá sido preservada.

Monitorar o status do cluster com o Nagios

É possível configurar o Nagios para monitorar o GitHub Enterprise Server. Além de monitorar a conectividade básica para cada nó do cluster, você pode verificar o status do cluster configurando o Nagios para usar o comando ghe-cluster-status -n. Fazer isso gera uma saída em um formato que o Nagios consegue interpretar.

Pré-requisitos

  • Host Linux com Nagios;
  • Acesso de rede ao cluster do GitHub Enterprise Server.

Configurar o host do Nagios

  1. Gere uma chave SSH com a frase secreta em branco. O Nagios usa essa informação para fazer a autenticação ao cluster do GitHub Enterprise Server.

    nagiosuser@nagios:~$ ssh-keygen -t rsa -b 4096
    > Gerando par de chaves rsa pública/privada.
    > Digite o arquivo no qual salvar a chave (/home/nagiosuser/.ssh/id_rsa):
    > Digite a frase secreta (vazia para nenhuma frase secreta): deixe em branco pressionando enter
    > Digite a mesma frase secreta novamente: pressione enter novamente
    > Sua identificação foi salva em /home/nagiosuser/.ssh/id_rsa.
    > Sua chave pública foi salva no /home/nagiosuser/.ssh/id_rsa.pub.

    Aviso de segurança: chaves SSH sem senha podem representar um risco de segurança se tiverem permissão de acesso total a um host. Limite o acesso desse tipo de chave a comandos de somente leitura.

  2. Copie a chave privada (id_rsa) para a pasta inicial nagios e defina a propriedade adequada.

    nagiosuser@nagios:~$ sudo cp .ssh/id_rsa /var/lib/nagios/.ssh/
    nagiosuser@nagios:~$ sudo chown nagios:nagios /var/lib/nagios/.ssh/id_rsa
  3. Para autorizar a chave pública a executar somente o comando ghe-cluster-status-n, use o prefixo command= no arquivo /data/user/common/authorized_keys. No shell administrativo de qualquer nó, modifique esse arquivo para incluir a chave pública gerada na etapa 1. Por exemplo: command="/usr/local/bin/ghe-cluster-status -n" ssh-rsa AAAA....

  4. Valide e copie a configuração para cada nó do cluster executando ghe-cluster-config-apply no nó em que você modificou o arquivo /data/user/common/authorized_keys.

    admin@ghe-data-node-0:~$ ghe-cluster-config-apply
    > Validando a configuração
    > ...
    > Configuração de cluster concluída
  5. Para testar se o plugin do Nagios consegue executar o comando, execute-o de forma interativa no host do Nagios.

    nagiosuser@nagios:~$ /usr/lib/nagios/plugins/check_by_ssh -l admin -p 122 -H hostname -C "ghe-cluster-status -n" -t 30
    > OK - Nenhum erro detectado
  6. Crie uma definição de comando na sua configuração do Nagios.

    Definição de exemplo
    definir comando {
          nome_comando    verificar_ssh_ghe_cluster
          linha_comando    $USER1$/verificar_por_ssh -H $HOSTADDRESS$ -C "status-cluster-ghe -n" -l admin -p 122 -t 30
    }
    
  7. Adicione este comando a uma definição de serviço para um nó no cluster do GitHub Enterprise Server.

    Definição de exemplo
    definir host{
          uso                     host-genérico
          nome_host               nó-dados-ghe-0
          alias                   nó-dados-ghe-0
          endereço                 10.11.17.180
          }
    
    definir serviço{
            uso                             serviço-genérico
            nome_host                       nó-dados-ghe-0
            descrição_serviço             Status GitHub Cluster
            verificar_comando                   verificar_cluster_ssh_ghe
            }
    

Depois de adicionar a definição ao Nagios, a verificação de serviço será executada conforme a sua configuração. Você deve conseguir ver o serviço recém-configurado na interface da web do Nagios.

Exemplo Nagios

Did this doc help you?