Esta versão do GitHub Enterprise foi descontinuada em 2021-06-09. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Monitorar usando SNMP

O GitHub Enterprise fornece dados sobre o uso de disco, CPU, memória e muito mais no SNMP.

O SNMP é um padrão comum para monitorar dispositivos em uma rede. É altamente recomendável ativar o SNMP para monitorar a integridade da sua instância do GitHub Enterprise Server e saber quando adicionar mais memória, armazenamento ou potência do processador à máquina host.

O GitHub Enterprise tem uma instalação SNMP padrão que permite aproveitar vários plugins disponíveis para Nagios ou qualquer outro sistema de monitoramento.

Configurar SMTP v2c

  1. A partir de uma conta administrativa em GitHub Enterprise Server, clique em no canto superior direito de qualquer página. Ícone de foguete para acessar as configurações de administrador do site
  2. Na barra lateral esquerda, clique em Console de gerenciamento. Console de gerenciamento aba na barra lateral esquerda
  3. Na barra lateral esquerda, clique em Monitoring. Aba de monitoramento
  4. Em "Monitorar" selecione Enable SNMP (Ativar SNMP). Botão para habilitar o SNMP
  5. No campo Community string (String de comunidade), insira a nova string da comunidade. Se deixada em branco, essa informação fica como public por padrão. Campo para adicionar a string da comunidade
  6. Na barra lateral esquerda, clique Save settings (Salvar configurações). Botão Save settings (Salvar configurações) no Console de gerenciamento
  7. Aguarde a conclusão da execução de suas configurações.
  8. Teste a configuração SNMP executando o seguinte comando em uma estação de trabalho separada com suporte a SNMP na rede:
    # community-string is your community string
    # hostname is the IP or domain of your Enterprise instance
    $ snmpget -v 2c -c community-string -O e hostname hrSystemDate.0

Isso deve retornar o horário do sistema no host do sua instância do GitHub Enterprise Server.

Segurança baseada no usuário

Se habilitar o SNMP v3, você poderá aproveitar o aumento da segurança baseada no usuário por meio do User Security Model (USM). É possível especificar um nível de segurança para cada usuário:

  • noAuthNoPriv: este nível de segurança não oferece autenticação nem privacidade.
  • authNoPriv: este nível de segurança oferece autenticação, mas não privacidade. Para consultar o appliance, você precisará de nome de usuário e senha (com pelo menos oito caracteres). As informações são enviadas sem criptografia, de modo semelhante ao SNMPv2. O protocolo de autenticação pode ser MD5 ou SHA, e o padrão é SHA.
  • authPriv: este nível de segurança oferece autenticação e privacidade. A autenticação (com senha de no mínimo oito caracteres) é necessária, e as respostas são criptografadas. Não é necessário usar uma senha de privacidade, mas, se houver, ela deve ter no mínimo oito caracteres. Se não houver senha de privacidade, a senha de autenticação será usada. O protocolo de privacidade pode ser DES ou AES, e o padrão é AES.

Configurar usuários para o SNMP v3

  1. A partir de uma conta administrativa em GitHub Enterprise Server, clique em no canto superior direito de qualquer página. Ícone de foguete para acessar as configurações de administrador do site
  2. Na barra lateral esquerda, clique em Console de gerenciamento. Console de gerenciamento aba na barra lateral esquerda
  3. Na barra lateral esquerda, clique em Monitoring. Aba de monitoramento
  4. Em "Monitorar" selecione Enable SNMP (Ativar SNMP). Botão para habilitar o SNMP
  5. Selecione SNMP v3. Botão para habilitar o SNMP v3
  6. Em "Username" (Nome de usuário), digite o nome exclusivo do seu usuário SNMP v3. Campo para digitar o nome de usuário SNMP v3
  7. No menu suspenso Security Level (Nível de segurança), clique no nível de segurança do seu usuário SNMP v3. Menu suspenso para o nível de segurança do usuário SNMP v3
  8. Para usuários SNMP v3 com nível de segurança authnopriv: Configurações para o nível de segurança authnopriv
    • Em "Authentication password" (Senha de autenticação), digite a senha de autenticação.
    • No lado direito de "Authentication password" (Senha de autenticação), no menu suspenso Protocol, clique no protocolo de autenticação que você deseja usar.
  9. Para usuários SNMP v3 com nível de segurança authpriv: Configurações para o nível de segurança authpriv
    • Em "Authentication password" (Senha de autenticação), digite a senha de autenticação.
    • No lado direito de "Authentication password" (Senha de autenticação), no menu suspenso Protocol, clique no protocolo de autenticação que você deseja usar.
    • Como alternativa, em "Privacy password" (senha de privacidade), digite a senha de privacidade.
    • No lado direito de "Privacy password" (Senha de privacidade), no menu suspenso Protocol (Protocolo), clique no protocolo de privacidade que você deseja usar.
  10. Clique em Add user (Adicionar usuário). Botão para adicionar usuário SNMP v3
  11. Na barra lateral esquerda, clique Save settings (Salvar configurações). Botão Save settings (Salvar configurações) no Console de gerenciamento
  12. Aguarde a conclusão da execução de suas configurações.
Consultar dados SNMP

As informações de hardware e software do appliance estão disponíveis no SNMP v3. Devido à falta de criptografia e privacidade para os níveis de segurança dw noAuthNoPriv e authNoPriv, excluimos a tabela hrSWRun (1.3.6.1.2.1.25.4) dos relatórios SNMP resultantes. Incluímos esta tabela para o caso de você estar usando o nível de segurança authPriv. Para obter mais informações, consulte a "Documentação de referência do OID".

Com o SNMP v2c, ficam disponíveis somente as informações em nível de hardware. Os aplicativos e serviços no GitHub Enterprise não têm OIDs configurados para reportar métricas. Diversas MIBs estão disponíveis, o que pode ser visto ao executar snmpwalk em uma estação de trabalho à parte com suporte SNMP na rede:

# community-string é a string de sua comunidade
# hostname é o IP ou domínio da sua instância Enterprise
$ snmpwalk -v 2c -c community-string -O e hostname

Entre os MIBs disponíveis para SNMP, o mais útil é HOST-RESOURCES-MIB (1.3.6.1.2.1.25). Consulte a tabela a seguir para ver objetos importantes dessa MIB:

NomeOIDDescrição
hrSystemDate.21.3.6.1.2.1.25.1.2A noção dos hosts de data e hora locais de um dia.
hrSystemUptime.01.3.6.1.2.1.25.1.1.0Tempo transcorrido desde a última inicialização do host.
hrMemorySize.01.3.6.1.2.1.25.2.2.0Quantidade de RAM no host.
hrSystemProcesses.01.3.6.1.2.1.25.1.6.0Número de contextos de processo carregados ou em execução no host.
hrStorageUsed.11.3.6.1.2.1.25.2.3.1.6.1Quantidade de espaço de armazenamento consumido no host, em hrStorageAllocationUnits.
hrStorageAllocationUnits.11.3.6.1.2.1.25.2.3.1.4.1Tamanho em bytes de um hrStorageAllocationUnit.

Por exemplo, para consultar hrMemorySize com SNMP v3, execute o seguinte comando em outra estação de trabalho com suporte a SNMP na sua rede:

# username é o nome exclusivo do seu usuário do SNMP v3
# auth password é a senha de autenticação
# privacy password é a senha de privacidade
# hostname é o IP ou domínio da sua instância do Enterprise
$ snmpget -v 3 -u username -l authPriv \
  -A "auth password" -a SHA \
  -X "privacy password" -x AES \
  -O e hostname HOST-RESOURCES-MIB::hrMemorySize.0

Para consultar hrMemorySize com SNMP v2c, execute o seguinte comando em outra estação de trabalho com suporte a SNMP na sua rede:

# community-string é a string da sua comunidade
# hostname é o IP ou domínio da sua instância do Enterprise
snmpget -v 2c -c community-string hostname HOST-RESOURCES-MIB::hrMemorySize.0

Observação: Para evitar vazamento de informações sobre serviços que estão em execução no aparelho, excluímos a tabela hrSWRun (1.3.6.1.2.1.25.4) dos relatórios SNMP resultantes, a menos que você esteja usando o nível de segurança Priv com SNMP v3. Incluímos a tabela hrSWRun para o caso de você estar usando o nível de segurança authPriv.

Para obter mais informações sobre mapeamentos OID para atributos comuns do sistema no SNMP, consulte "OID de SNMP do Linux para estatísticas de CPU, memória e disco".