Skip to main content

Enterprise Server 3.15 actualmente está disponible como versión candidata para lanzamiento.

Supervisión de una configuración de alta disponibilidad

Después de configurar la alta disponibilidad de tu instancia de GitHub Enterprise Server, puedes supervisar el estado de replicación de los datos entre los nodos de réplica de la instancia.

¿Quién puede utilizar esta característica?

Site administrators can monitor a high-availability configuration for a GitHub Enterprise Server instance.

Acerca de la observabilidad de alta disponibilidad

Para respaldar su plan para la recuperación ante desastres y complementar las copias de seguridad, o para mejorar el rendimiento de red y escritura para los usuarios distribuidos geográficamente, puedes configurar una alta disponibilidad para tu instancia de GitHub Enterprise Server. Para obtener más información, consulta "Acerca de la configuración de alta disponibilidad".

Después de configurar la alta disponibilidad, puedes garantizar proactivamente la redundancia mediante la supervisión del estado general de la replicación y el estado de cada uno de los nodos de réplica de la instancia. Puedes usar utilidades de línea de comandos en la instancia, un panel de información general, la API REST de la instancia, o un sistema de supervisión remota como Nagios.

Con alta disponibilidad, la instancia usa varios enfoques para replicar datos entre los nodos principal y de réplica. Los servicios de base de datos que admiten un mecanismo de replicación nativo, como MySQL, se replican mediante el mecanismo nativo del servicio. Otros servicios, como los repositorios de Git, se replican mediante un mecanismo personalizado desarrollado para GitHub Enterprise Server, o mediante herramientas de plataforma como rsync.

Supervisión de la replicación desde la instancia

Para supervisar el estado de replicación de un nodo de réplica existente para tu instancia de GitHub Enterprise Server, conéctate a la consola administrativa (SSH) del nodo y ejecuta la utilidad de línea de comandos ghe-repl-status. Para obtener más información, vea «Utilidades de la ea de comandos».

También puedes supervisar el estado de replicación desde el panel de información general de la instancia. En un explorador, ve a la siguiente dirección URL y reemplaza HOSTNAME por el nombre de host de la instancia.

http(s)://HOSTNAME/setup/replication

Supervisión de la replicación mediante GitHub CLI

Puedes supervisar el estado de replicación en la instancia mediante la extensión gh es para GitHub CLI. Para más información, consulta Documentación sobre utilización de la CLI de GHES y “Administración de la instancia mediante la CLI de GitHub”.

Supervisión de la replicación mediante la API REST

Puedes supervisar el estado de replicación en la instancia mediante la API REST. Para obtener más información, consulta "Administración de GitHub Enterprise Server" en la documentación de la API REST.

Supervisión de la replicación desde un sistema remoto

La salida de la utilidad de línea de comandos ghe-repl-status se ajusta a las expectativas del complemento de check_by_ssh de Nagios. Para obtener más información, vea «Utilidades de la ea de comandos».

Además, puedes supervisar la disponibilidad de la instancia mediante el análisis del código de estado devuelto por una solicitud a la siguiente dirección URL. Por ejemplo, si implementas un equilibrador de carga como parte de la estrategia de conmutación por error, puedes configurar comprobaciones de estado que analizan esta salida. Para obtener más información, vea «Utilizar el servidor de GitHub Enterprise con un balanceador de carga».

En función de dónde y cómo configures la supervisión, reemplaza HOST por el nombre de host de la instancia o por la dirección IP de un nodo individual.

http(s)://HOST/status

Un nodo activo para la replicación geográfica, que puede responder a las solicitudes de usuario, devolverá el código de estado 200 (CORRECTO). Las solicitudes a nodos individuales o el nombre de host de la instancia pueden devolver un error 503 (servicio no disponible) por los siguientes motivos.

  • El nodo individual es un nodo réplica pasivo, como el nodo réplica en una configuración de alta disponibilidad de dos nodos.
  • El nodo individual forma parte de una configuración de replicación geográfica, pero es un nodo de réplica pasiva.
  • La instancia está en modo de mantenimiento. Para obtener más información, vea «Habilitar y programar el modo de mantenimiento».

Para obtener más información sobre la replicación geográfica, consulta "Acerca de la Replicación geográfica".

Solución de errores de replicación

Para solucionar problemas de replicación en la instancia, asegúrate de que la replicación se está ejecutando y de que los nodos se pueden comunicar entre sí a través de la red. También puedes usar utilidades de línea de comandos para investigar la replicación insuficiente.

No ejecución de la replicación

Debes iniciar la replicación en cada nodo mediante la utilidad de línea de comandos ghe-repl-start. Si la replicación no se está ejecutando, conéctate al nodo afectado mediante SSH y ejecuta ghe-repl-start. Para obtener más información, vea «Utilidades de la ea de comandos».

Problemas de comunicación entre nodos

La replicación requiere que el nodo principal y todos los nodos de réplica puedan comunicarse entre sí a través de la red. Como mínimo, asegúrate de que los puertos 122/TCP y 1194/UDP estén abiertos para la comunicación bidireccional entre todos los nodos de la instancia. Para obtener más información, vea «Puertos de red».

Puedes usar ping u otra utilidad de administración de red para probar la conectividad de red entre nodos.

Replicación insuficiente

Si ejecutas la utilidad de línea de comandos ghe-repl-status en un nodo de réplica y los repositorios de Git, las redes de repositorio o los objetos de almacenamiento tienen una replicación insuficiente, uno o varios nodos de réplica no se sincronizan completamente con el nodo principal. Puede producirse una replicación insuficiente si el nodo principal no puede comunicarse con los nodos de réplica o si los nodos de réplica no pueden comunicarse con el nodo principal.

Si has configurado recientemente alta disponibilidad o replicación geográfica, la sincronización inicial tardará algún tiempo. La duración de la sincronización inicial depende de la cantidad de datos que existen y de las condiciones de red.

Repositorios o redes de repositorios con replicación insuficiente

Para ver el estado de replicación de un repositorio específico, conéctate a un nodo y ejecuta los siguientes comandos, reemplazando OWNER por el propietario del repositorio y REPOSITORY por el nombre del repositorio.

ghe-spokesctl check OWNER/REPOSITORY
ghe-spokesctl info OWNER/REPOSITORY

Como alternativa, si deseas ver el estado de replicación de una red del repositorio, reemplaza NETWORK-ID/REPOSITORY-ID por el identificador de red y el número de identificador del repositorio.

ghe-spokesctl check NETWORK-ID/REPOSITORY-ID
ghe-spokesctl info NETWORK-ID/REPOSITORY-ID

Objetos de almacenamiento con replicación insuficiente

Para ver el estado de un objeto de almacenamiento específico, conéctate a un nodo y ejecuta el siguiente comando, reemplazando OID por el identificador del objeto.

ghe-storage info OID

Obtención de soporte técnico de GitHub

Si revisas el consejo de solución de problemas para la replicación y continúas experimentando problemas en la instancia, recopila la siguiente información y ponte en contacto con nosotros en Soporte técnico para GitHub Enterprise.