👋 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Learn more on the GitHub blog.


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.

Esta versão do GitHub Enterprise será descontinuada em Esta versão do GitHub Enterprise foi descontinuada em 2020-08-20. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Versão do artigo: Enterprise Server 2.18

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

Você conseguiu encontrar o que estava procurando?

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
    > Generating public/private rsa key pair.
    > Enter file in which to save the key (/home/nagiosuser/.ssh/id_rsa):
    > Enter passphrase (empty for no passphrase): leave blank by pressing enter
    > Enter same passphrase again: press enter again
    > Your identification has been saved in /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
    > Validating configuration
    > ...
    > 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 - No errors detected
  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

Você conseguiu encontrar o que estava procurando?

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato