Skip to content
Esta página se tradujo con IA y puede contener imprecisiones. Ayuda a mejorarla en GitHub.

Rendimiento ​

Rendimiento reúne en una página los datos del host, del proceso de Gately y de cada sitio, y envía una alerta por el Centro de notificaciones cuando una métrica se mantiene por encima de su umbral, seguida de un aviso de recuperación cuando la condición deja de cumplirse. Está en la barra lateral, en Sistema → Rendimiento.

Cubre casos como una CPU al máximo de madrugada, un pico de conexiones en un sitio o un backend que se vuelve lento sin que nadie se entere, y guarda sus datos solo en memoria. Para historial de más de 24 horas, agregación entre instancias o consultas complejas, usa Prometheus y Grafana.

Panel ​

Cambia entre 60 segundos, 1 hora y 24 horas en la esquina superior derecha de la página.

Host y proceso de Gately ​

GráficoContenido
CPU del hostUso medio de todos los núcleos de la máquina
Memoria / disco del hostMemoria usada respecto a la memoria física (sin la caché recuperable), proporción usada de la partición del directorio de configuración
Carga del sistemaCarga de 1 minuto
CPU del proceso de GatelyProporción de toda la máquina que usa el proceso de Gately, medida igual que la CPU del host
Memoria del proceso de GatelyMemoria residente (MB)
Descriptores de archivo / goroutinesDescriptores de archivo abiertos y goroutines de Go del proceso

Se toma una muestra cada 5 segundos: el rango de 60 segundos muestra cada muestra; el de 1 hora, un punto por minuto (la media del minuto); el de 24 horas, un punto cada 5 minutos. La línea discontinua de los gráficos de CPU es el pico de cada punto, de modo que los picos breves no se pierden en la media. Pasa el ratón por un gráfico para ver los valores de un momento concreto.

Algunas plataformas no ofrecen todas las métricas (por ejemplo, en macOS no hay uso de CPU); esos gráficos muestran «Sin datos».

Sitios ​

Con el módulo Servicios web activado se listan todos los sitios en ejecución (incluidos los sitios por defecto):

ColumnaSignificado
En cursoPeticiones que el sitio atiende ahora mismo, incluidas conexiones largas como WebSocket
Peticiones/sMedia de peticiones por segundo en aproximadamente los últimos 60 segundos
Proporción 5xxRespuestas 5xx como porcentaje de las respuestas completadas en aproximadamente los últimos 60 segundos
Latencia P95Percentil 95 estimado del tiempo hasta el primer byte en aproximadamente los últimos 60 segundos
BackendsBackends sanos / todos los backends, y conexiones que se están reenviando

Haz clic en un sitio para abrir sus estadísticas con las tendencias de 24 horas de peticiones, errores y latencia.

Tiempo hasta el primer byte ​

La latencia es el «tiempo hasta el primer byte»: desde la llegada de la petición hasta el envío de las cabeceras de respuesta, lo que refleja la rapidez del backend o del propio sitio. No se cuenta:

  • el tiempo de transferencia del cuerpo de la respuesta (las descargas grandes no aumentan la latencia);
  • WebSocket y otras peticiones con cambio de protocolo;
  • las peticiones cortadas por el control de acceso o por un administrador.

Cada petición cae en uno de 50 tramos finos (de 1 ms a 60 s, con unos 10 % a 25 % de diferencia entre vecinos). Cada tramo acumula el número de peticiones y el tiempo total; los percentiles usan el tiempo medio del tramo en el que caen, así que el error nunca supera el ancho del tramo, y no se guarda nada de peticiones individuales. El histograma gately_site_request_duration_seconds exportado a Prometheus usa 13 límites habituales de entre ellos.

Reglas de alerta ​

Haz clic en «Añadir regla de alerta». Al crearla puedes pulsar una plantilla para rellenar una regla habitual (CPU del host alta, poco espacio en disco, errores 5xx del sitio, respuestas lentas del sitio, etc.) y ajustarla.

CampoDescripción
NombreObligatorio, hasta 64 caracteres, aparece en el título de la notificación
MétricaVer la tabla siguiente
UmbralOperador >, >=, < o <= más un valor; la unidad depende de la métrica
DuraciónDe 1 a 1440 minutos. La alerta solo se envía cuando la condición se ha mantenido este tiempo; una sola bajada por debajo del umbral reinicia el contador
SitiosPara métricas de sitios y de nodos de backend; vacío para todos los sitios
Peticiones mínimasPara la proporción 5xx y la latencia, 20 por defecto. No se evalúa mientras los últimos ~60 segundos tengan menos peticiones, para que uno o dos errores o peticiones lentas en un sitio con poco tráfico no disparen una alerta
Nivel de alertaAviso o error; fija el nivel del evento de notificación
Nota, habilitarOpcional
MétricaUnidadSe evalúa por
Uso de CPU del host%Este host
Uso de memoria del host%Este host
Uso de disco del host (partición del directorio de configuración)%Este host
Uso de CPU del proceso de Gately%Proceso de Gately
Memoria residente del proceso de GatelyMBProceso de Gately
Peticiones en curso del sitionúmeroCada sitio
Peticiones por segundo del sitiopet/sCada sitio
Proporción de respuestas 5xx del sitio%Cada sitio
Tiempo hasta el primer byte P95 del sitiomsCada sitio
Conexiones del nodo de backendnúmeroCada nodo de backend

Las métricas de sitios y de nodos de backend se evalúan y alertan por objeto, así que una regla «proporción 5xx > 5 %» puede alertar por separado sobre dos sitios. «Peticiones por segundo del sitio < 1» detecta tráfico que se ha detenido de repente.

Evaluación y notificaciones ​

  1. Todas las reglas habilitadas se evalúan cada 5 segundos.
  2. Cuando la condición empieza a cumplirse el objeto pasa a «Pendiente»; tras mantenerse la duración pasa a «Activa» y se publica un evento perf.alert.
  3. Cuando deja de cumplirse la condición de una alerta activa se publica un evento perf.recovered. La proporción 5xx y la latencia de un sitio no se pueden evaluar si los últimos ~60 segundos tienen pocas peticiones; eso también cuenta como recuperación y el aviso lo indica.
  4. Si un sitio se elimina o se desactiva, sus alertas desaparecen sin aviso de recuperación.

La parte superior de la página lista los objetos pendientes y activos con su valor actual y su duración.

Cambiar el nombre, el nivel o la nota de una regla mantiene el contador en curso; cambiar la métrica, el umbral, la duración, los sitios o las peticiones mínimas, o desactivar la regla, borra sus contadores y alertas. Una alerta ya disparada recibe un aviso de recuperación que indica que la regla se eliminó, desactivó o modificó. Los contadores y estados de alerta solo viven en memoria y empiezan de nuevo tras un reinicio.

Las alertas se envían por el Centro de notificaciones: añade una regla de notificación que suscriba «Rendimiento: alerta activada» y «Rendimiento: alerta recuperada» (la plantilla «Alertas de rendimiento» lo hace); si no, las alertas solo se escriben en el registro de esta página y la página muestra un aviso. El silencio del Centro de notificaciones también se aplica a las alertas de rendimiento; cada objeto tiene un origen de evento distinto, así que no se silencian entre sí. La duración ya evita alertas intermitentes, por lo que normalmente no hace falta silencio.

Recursos y límites ​

  • El historial solo se guarda en memoria: el host y el proceso tienen un punto por minuto durante 24 horas; la latencia de los sitios guarda P50 y P95 por minuto, unos 23 KB por sitio con tráfico.
  • Hasta 200 reglas de alerta y hasta 200 sitios por regla.
  • Con el módulo Servicios web activado, cada petición cuesta una lectura de reloj adicional y unas pocas actualizaciones de contadores.

Métricas de monitorización ​

Con Rendimiento activado, /api/metrics exporta además las métricas del host y del proceso de la última muestra y el número de alertas activas por regla; consulta Monitorización.

API ​

EndpointDescripción
GET /api/perf/overview?range=60s|1h|24hHistorial del host y del proceso
GET /api/perf/sitesMétricas de cada sitio en aproximadamente los últimos 60 segundos
GET /api/perf/alertsObjetos pendientes y activos
GET /api/perf/metricsMétricas disponibles para alertas
/api/perf/rulesCrear, leer, actualizar y eliminar reglas de alerta, habilitarlas, ordenarlas y agruparlas

Leer requiere el permiso perf:read y modificar reglas perf:write; consulta Tokens de API.

Publicado bajo la licencia Apache-2.0.