Skip to main content

Supervisar por medio de SNMP

GitHub Enterprise proporciona datos sobre el uso del disco, la utilización del CPU, el uso de la memoria y más sobre SNMP.

SNMP es una norma común para controlar dispositivos en una red. Se recomienda encarecidamente habilitar SNMP para que puedas supervisar el estado de tu instancia de GitHub Enterprise Server y saber cuándo agregar más memoria, almacenamiento o potencia del procesador a la máquina host.

GitHub Enterprise tiene una instalación SNMP estándar, para poder aprovechar los numerosos complementos disponibles para Nagios o para cualquier otro sistema de supervisión.

Configurar SNMP v2c

  1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haga clic en .

  2. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.

  3. En la barra lateral " Administrador del sitio", haz clic en Consola de administración .

  4. En la barra lateral "Configuración", haga clic en Supervisión.

  5. En "Supervisión", seleccione Habilitar SNMP.

  6. En el campo Community string (Cadena de comunidad), introduzca una nueva cadena de comunidad. Si se deja en blanco, su valor es public de manera predeterminada.

  7. En la barra lateral "Configuración" , haga clic en Guardar configuración.

    Note

    Al guardar la configuración en Consola de administración se restablecen los servicios del sistema, lo que podría generar un tiempo de inactividad visible para el usuario.

  8. Espera que se complete la fase de configuración.

  9. Prueba tu configuración SNMP al ejecutar el siguiente comando en una estación de trabajo por separado con soporte de SNMP en tu red:

    # 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
    

Esto debería devolver la hora del sistema en el host de tu instancia de GitHub Enterprise Server.

Seguridad basada en el usuario

Si habilitas el SNMP v3, puedes aprovechar la seguridad en base al usuario aumentada a través de User Security Model (USM). Para cada usuario único, puedes especificar un nivel de seguridad:

  • noAuthNoPriv: este nivel de seguridad no proporciona autenticación ni privacidad.
  • authNoPriv: este nivel de seguridad proporciona autenticación, pero no privacidad. Para consultar al aparato deberás usar un nombre de usuario y una contraseña (que debe tener como mínimo ocho caracteres). La información se envía sin encriptación, similar a SNMPv2. El protocolo de autenticación puede ser MD5 o SHA o SHA como predeterminado.
  • authPriv: este nivel de seguridad proporciona autenticación con privacidad. Se requiere autenticación, incluida una contraseña de autenticación de ocho caracteres como mínimo, y las respuestas están encriptadas. No se requiere una contraseña de privacidad, pero si se proporciona debe tener como mínimo ocho caracteres. Si no se proporciona una contraseña de privacidad, se usa la contraseña de autenticación. El protocolo de privacidad puede ser DES o AES y queda AES como predeterminado.

Configurando usuarios para SNMP v3

  1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haga clic en .

  2. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.

  3. En la barra lateral " Administrador del sitio", haz clic en Consola de administración .

  4. En la barra lateral "Configuración", haga clic en Supervisión.

  5. En "Supervisión", seleccione Habilitar SNMP.

  6. Seleccione SNMP v3.

  7. En "Username (Nombre de usuario)", escribe el nombre de usuario único de tu usuario SNMP v3.

  8. Seleccione el menú desplegable Security Level (Nivel de seguridad), a continuación haga clic en el nivel de seguridad para su usuario de SNMP v3.

  9. Para los usuarios de SNMP v3 con el nivel de seguridad authnopriv, configure la autenticación.

    • En "Contraseña de autenticación", escriba la contraseña de autenticación.
    • Junto a "Contraseña de autenticación", en el menú desplegable Protocolo, seleccione el protocolo de autenticación que desea usar.
    • Si el sistema de supervisión externo requiere el algoritmo SHA, GitHub Enterprise Server actualmente usa SHA-1.
  10. Para los usuarios de SNMP v3 con el nivel de seguridad authpriv, configure la autenticación.

    • En "Contraseña de autenticación", escriba la contraseña de autenticación.
    • Junto a "Contraseña de autenticación", en el menú desplegable Protocolo, seleccione el protocolo de autenticación que desea usar.
    • De forma opcional, en "Privacy password" (Contraseña de privacidad), escribe la contraseña de privacidad.
    • Junto a "Privacy password" (Contraseña de privacidad), seleccione el menú desplegable Protocol (Protocolo), a continuación haga clic en el método de protocolo de privacidad que quiera usar.
    • Si el sistema de supervisión externo requiere el algoritmo AES, GitHub Enterprise Server actualmente usa AES-128.
  11. Haga clic en Agregar usuario.

  12. En la barra lateral "Configuración" , haga clic en Guardar configuración.

    Note

    Al guardar la configuración en Consola de administración se restablecen los servicios del sistema, lo que podría generar un tiempo de inactividad visible para el usuario.

  13. Espera que se complete la fase de configuración.

Consultar datos de SNMP

Tanto la información del nivel de software como de hardware sobre tu aparato está disponible con SNMP v3. Debido a la falta de cifrado y privacidad para los niveles de seguridad noAuthNoPriv y authNoPriv, excluimos la tabla hrSWRun (1.3.6.1.2.1.25.4) de los informes SNMP resultantes. Incluimos esta tabla si está usando el nivel de seguridad authPriv. Para obtener más información, vea la "documentación de referencia de OID".

Con SNMP v2c, solo está disponible la información del nivel de hardware de tu aparato. Estas aplicaciones y servicios dentro de GitHub Enterprise no tienen configurado OID para informar métricas. Hay varios MIB disponibles, que se pueden ver ejecutando snmpwalk en una estación de trabajo independiente que disponga de compatibilidad con SNMP en la red:

# 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

De los MIB disponibles para SNMP, el más útil es HOST-RESOURCES-MIB (1.3.6.1.2.1.25). Consulta la tabla de abajo para ver algunos objetos importantes en este MIB:

NombreOIDDescripción
hrSystemDate.21.3.6.1.2.1.25.1.2La noción de servidores de los datos locales y de la hora del día.
hrSystemUptime.01.3.6.1.2.1.25.1.1.0Cuánto tiempo ha pasado desde que el servidor se inició por última vez.
hrMemorySize.01.3.6.1.2.1.25.2.2.0La cantidad de RAM en el servidor.
hrSystemProcesses.01.3.6.1.2.1.25.1.6.0La cantidad de contextos de proceso actualmente cargados o ejecutándose en el servidor.
hrStorageUsed.11.3.6.1.2.1.25.2.3.1.6.1La cantidad de espacio de almacenamiento consumido en el servidor, en hrStorageAllocationUnits.
hrStorageAllocationUnits.11.3.6.1.2.1.25.2.3.1.4.1El tamaño, en bytes, de una hrStorageAllocationUnit

Por ejemplo, para consultar hrMemorySize con SNMP v3, ejecute el comando siguiente en una estación de trabajo independiente que disponga de compatibilidad con SNMP en su red:

# 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

Con SNMP v2c, para consultar hrMemorySize, ejecute el comando siguiente en una estación de trabajo independiente que disponga de compatibilidad con SNMP en su red:

# 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 que se filtre información acerca de los servicios que se ejecutan en su dispositivo, excluimos la tabla hrSWRun (1.3.6.1.2.1.25.4) de los informes SNMP resultantes, salvo que esté usando el nivel de seguridad authPriv con SNMP v3. Incluimos la tabla hrSWRun si está usando el nivel de seguridad authPriv.

A fin de obtener más información sobre las asignaciones de OID para atributos comunes del sistema en SNMP, vea "OID SNMP de Linux para las estadísticas de CPU, memoria y disco".