Skip to main content

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. Recomendamos fortemente habilitar o SNMP para que você possa monitorar a integridade do sua instância do GitHub Enterprise Server e saber quando adicionar mais memória, armazenamento ou potência do processador ao computador host.

O GitHub Enterprise tem uma instalação SNMP padrão, ou seja, você pode aproveitar os vários plug-ins disponíveis para o Nagios ou para qualquer outro sistema de monitoramento.

Configurar SMTP v2c

  1. Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .

  2. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.

  3. Na barra lateral " Administrador do site", clique em Console de Gerenciamento .

  4. Na barra lateral "Configurações", clique em Monitoramento.

  5. Em "Monitoramento", selecione Habilitar SNMP.

  6. No campo Cadeia de caracteres da comunidade, insira uma nova cadeia de caracteres da comunidade. Se ele for deixado em branco, public será usado como padrão.

  7. Na barra lateral "Configurações", clique em Salvar configurações.

    Observação: se você salvar as configurações no Console de Gerenciamento, isso reiniciará os serviços do sistema, o que poderá resultar em tempo de inatividade visível pelo usuário.

  8. Aguarde a conclusão da execução de suas configurações.

  9. 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 retornará a hora 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: esse nível de segurança não fornece autenticação nem privacidade.
  • authNoPriv: esse nível de segurança fornece autenticação, mas sem 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: esse nível de segurança fornece autenticação com 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. Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .

  2. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.

  3. Na barra lateral " Administrador do site", clique em Console de Gerenciamento .

  4. Na barra lateral "Configurações", clique em Monitoramento.

  5. Em "Monitoramento", selecione Habilitar SNMP.

  6. Selecione SNMP v3.

  7. Em "Username" (Nome de usuário), digite o nome exclusivo do seu usuário SNMP v3.

  8. Selecione o menu suspenso Nível de segurança e clique no nível de segurança do seu usuário do SNMP v3.

  9. Para usuários do SNMP v3 com o nível de segurança authnopriv, configure a autenticação.

    • Em "Senha de autenticação", digite a senha de autenticação.
    • Ao lado de "Senha de autenticação", no menu suspenso Protocolo, clique no protocolo de autenticação que deseja usar.
    • Se o sistema de monitoramento externo exigir o algoritmo SHA, GitHub Enterprise Server usa SHA-1 no momento.
  10. Para usuários do SNMP v3 com o nível de segurança authpriv, configure a autenticação.

    • Em "Senha de autenticação", digite a senha de autenticação.
    • Ao lado de "Senha de autenticação", no menu suspenso Protocolo, clique no protocolo de autenticação que deseja usar.
    • Como alternativa, em "Privacy password" (senha de privacidade), digite a senha de privacidade.
    • Ao lado de "Senha de privacidade", selecione o menu suspenso Protocolo e clique no protocolo de autenticação que deseja usar.
    • Se o sistema de monitoramento externo exigir o algoritmo AES, GitHub Enterprise Server usa AES-128 no momento.
  11. Clique em Adicionar usuário.

  12. Na barra lateral "Configurações", clique em Salvar configurações.

    Observação: se você salvar as configurações no Console de Gerenciamento, isso reiniciará os serviços do sistema, o que poderá resultar em tempo de inatividade visível pelo usuário.

  13. 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 noAuthNoPriv e authNoPriv, excluímos a tabela hrSWRun (1.3.6.1.2.1.25.4) dos relatórios resultantes do SNMP. Incluímos essa tabela se você usa o nível de segurança authPriv. Para obter mais informações, confira a "Documentação de referência de 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. Vários MIBs estão disponíveis, que você pode ver executando snmpwalk em uma estação de trabalho separada com suporte a SNMP na sua rede:

# community-string is your community string
# hostname is the IP or domain of your Enterprise instance
$ snmpwalk -v 2c -c COMMUNITY-STRING -O e HOSTNAME

Dos MIBs disponíveis para o 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 o SNMP v3, execute o seguinte comando em uma estação de trabalho separada com suporte a SNMP na sua rede:

# username is the unique username of your SNMP v3 user
# auth password is the authentication password
# privacy password is the privacy password
# hostname is the IP or domain of your Enterprise instance
$ 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

Com o SNMP v2c, para consultar hrMemorySize, execute o seguinte comando em uma estação de trabalho separada com suporte a SNMP na sua rede:

# community-string is your community string
# hostname is the IP or domain of your Enterprise instance
snmpget -v 2c -c COMMUNITY-STRING HOSTNAME HOST-RESOURCES-MIB::hrMemorySize.0

Note

Para evitar o vazamento de informações sobre serviços em execução no dispositivo, excluímos a tabela hrSWRun (1.3.6.1.2.1.25.4) dos relatórios resultantes do SNMP, a menos que você esteja usando o nível de segurança authPriv com o SNMP v3. Se você estiver usando o nível de segurança authPriv, incluiremos a tabela hrSWRun.

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