Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.
Versión del artículo: Enterprise Server 2.15

Esta versión de GitHub Enterprise se discontinuará el Esta versión de GitHub Enterprise se discontinuó el 2019-10-16. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. 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.

Supervisar los nodos de agrupación

Una agrupación de Servidor de GitHub Enterprise está compuesta por servicios redundantes que se distribuyen entre dos o más nodos. Si un servicio individual o un nodo completo falla, los usuarios de la agrupación no deberían percibirlo inmediatamente. Sin embargo, si el rendimiento y la redundancia se ven afectados, es importante supervisar el estado de una agrupación de Servidor de GitHub Enterprise.

Comprobación manual del estado de la agrupación

Servidor de GitHub Enterprise tiene una utilidad de línea de comando incorporada para supervisar el estado de la agrupación. Desde el shell administrativo, la puesta en funcionamiento de un comando ghe-cluster-status ejecuta una serie de revisiones de estado en cada nodo, incluida la verificación de la conectividad y el estado del servicio. La salida muestra todos los resultados de la prueba incluido el texto ok o error. Por ejemplo, para mostrar solamente las pruebas fallidas, ejecuta:

admin@ghe-data-node-0:~$ ghe-cluster-status | grep error> mysql-replication ghe-data-node-0: error Stopped
> mysql cluster: error

Nota: Si no hay pruebas fallidas, este comando no produce salidas. Esto indica que la agrupación está en buen estado.

Supervisar el estado de la agrupación con Natgios

Puedes configurar Nagios para supervisar Servidor de GitHub Enterprise. Además de supervisar la conectividad básica para cada uno de los nodos de la agrupación, puedes comprobar el estado de la agrupación al configurar Nagios para que use el comando ghe-cluster-status -n. Esto devuelve salidas en un formato que Nagios comprende.

Prerrequisitos

Configurar el host de Nagios

  1. Genera una clave SSH con una contraseña en blanco. Nagios usa esto para autenticar la agrupación de Servidor de GitHub Enterprise.

    nagiosuser@nagios:~$ ssh-keygen -t rsa -b 4096> Generar un par de claves rsa públicas/privadas.
    > Ingresar un archivo en el que se guardará la clave (/home/nagiosuser/.ssh/id_rsa):
    > Ingresar contraseña (vacío, sin contraseña): dejar en blanco al presionar Intro> Volver a introducir la misma contraseña: presionar Intro nuevamente> Tu identificación se ha guardado en /home/nagiosuser/.ssh/id_rsa.
    > Tu clave pública se ha guardado en /home/nagiosuser/.ssh/id_rsa.pub.

    Advertencia de seguridad Una clave SSH sin una contraseña puede plantear un riesgo de seguridad en caso de que un host tenga autorización de acceso completo. Limita la autorización de esa clave a un comando único de solo lectura.

  2. Copia la clave privada a la carpeta de inicio de (id_rsa) to the nagios y establece la propiedad correspondiente.

    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 una clave pública a fin de que ejecute el comando only the ghe-cluster-status -n, usa un prefijo command= en el archivo /data/user/common/authorized_keys. Desde el shell administrativo en cualquier nodo, modifica este archivo para agregar la clave pública generada en el paso 1. Por ejemplo: command="/usr/local/bin/ghe-cluster-status -n" ssh-rsa AAAA....

  4. Valida y copia la configuración e cualquier nodo en la agrupación al ejecutar ghe-cluster-config-apply en el nodo donde modificase el archivo /data/user/common/authorized_keys.

    admin@ghe-data-node-0:~$ ghe-cluster-config-apply> Validar configuración
    > ...
    > Configuración de agrupación finalizada
  5. Para probar que el plugin de Nagios puede ejecutar el comando exitosamente, ejecútalo interactivamente desde el host de 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. Crea una definición de comando en tu configuración Nagios.

    Definición de ejemplo
    definir comando {
          command_name    check_ssh_ghe_cluster
          command_line    $USER1$/check_by_ssh -H $HOSTADDRESS$ -C "ghe-cluster-status -n" -l admin -p 122 -t 30
    }
  7. Agrega este comando a una definición de servicio para un nodo en la agrupación de Servidor de GitHub Enterprise.

    Definición de ejemplo
    define host{
          use                     generic-host
          host_name               ghe-data-node-0
          alias                   ghe-data-node-0
          address                 10.11.17.180
          }
    
    define service{
            use                             generic-service
            host_name                       ghe-data-node-0
            service_description             GitHub Cluster Status
            check_command                   check_ssh_ghe_cluster
            }

En cuanto agregues la definición a Nagios, se ejecutará la comprobación del servicio de acuerdo con tu configuración. Deberías poder ver el servicio configurado recientemente en la interfaz web de Nagios.

Ejemplo de Nagios

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos