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

Esse documento ajudou você?

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.

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

Esse documento ajudou você?

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.