Acceder a las métricas de rendimiento del servidor de Outline
Outline ofrece métricas de rendimiento detalladas a través de Prometheus, lo que te permite acceder a estadísticas más exhaustivas sobre el uso y el estado de tu servidor. Esta guía explica el proceso de obtener y consultar esas métricas.
Nota importante: En esta guía se asume que tienes nociones básicas de Prometheus y PromQL. Si nunca has usado Prometheus, te recomendamos consultar su documentación y tutoriales antes de analizar las métricas de Outline.
Requisitos previos
-
Servidor de Outline con Prometheus habilitado: asegúrate de que tu servidor de Outline tiene habilitadas las métricas de Prometheus (suele ser la configuración predeterminada).
-
Acceso SSH a tu servidor: necesitarás acceso SSH para redirigir el puerto de Prometheus.
Instrucciones
- Redirigir el puerto de Prometheus
Conéctate a tu servidor mediante SSH y redirige el puerto 9090:
ssh root@your_server_ip -L 9090:localhost:9090
- Acceder a la interfaz web de Prometheus
Abre tu navegador web y ve a: http://localhost:9090/graph Consultar las métricas de Prometheus
- Usa las consultas de PromQL para obtener las métricas que te interesen.
Ejemplos de consultas de PromQL
Uso
- Bytes de datos (por clave de acceso, protocolo y dirección):
increase(shadowsocks_data_bytes[1d])
- Bytes de datos (agregados por clave de acceso):
sum(increase(shadowsocks_data_bytes[1d])) by (access_key)
- Bytes de datos (para el cálculo de límites de datos):
sum(increase(shadowsocks_data_bytes{dir=~"c<p|p>t"}[30d])) by (access_key)
- Bytes de datos (por ubicación, protocolo y dirección):
increase(shadowsocks_data_bytes_per_location[1d])
Claves de acceso activas
sum(max(max_over_time(shadowsocks_data_bytes{access_key!=""} [1h])) by (access_key) > bool 0)
Conexiones TCP
- Conexiones TCP (por clave de acceso, ubicación y estado):
increase(shadowsocks_tcp_connections_closed[1d])
- Conexiones TCP (por ubicación):
increase(shadowsocks_tcp_connections_opened[1d])
UDP
- Paquetes UDP (por ubicación y estado):
increase(shadowsocks_udp_packets_from_client_per_location[1d])
- Asociaciones UDP (sin desglose):
increase(shadowsocks_udp_nat_entries_added[1d])
Rendimiento
- Uso de CPU (por proceso):
rate(process_cpu_seconds_total[10m])
- Memoria (por proceso):
process_virtual_memory_bytes
Información de compilación
- Prometheus:
prometheus_build_info
- outline-ss-server:
shadowsocks_build_info
- Node.js:
nodejs_version_info
Puedes consultar la lista completa de las métricas disponibles en el código fuente de outline-ss-server.