Cómo acceder a las métricas de rendimiento del servidor de Outline
Outline proporciona métricas de rendimiento detalladas a través de Prometheus, lo que te permite obtener estadísticas detalladas sobre el uso y el estado de tu servidor. En esta guía, te explicaremos el proceso para obtener y consultar estas métricas.
Nota importante: En esta guía, se supone que tienes conocimientos básicos de Prometheus y PromQL. Si no conoces Prometheus, sugerimos que leas su documentación y sus instructivos antes de adentrarte en las métricas de Outline.
Requisitos previos
-
Servidor de Outline con Prometheus habilitado: Asegúrate de que tu servidor de Outline tenga habilitadas las métricas de Prometheus (por lo general, esta es la configuración predeterminada).
-
Acceso SSH a tu servidor: Deberás contar con acceso SSH para reenviar el puerto de Prometheus.
Instrucciones
- Reenvía el puerto de Prometheus
Conecta tu servidor usando SSH y el puerto de reenvío 9090:
ssh root@your_server_ip -L 9090:localhost:9090
- Accede a la interfaz web de Prometheus
Abre tu navegador web y dirígete a http://localhost:9090/graph Consulta las métricas de Prometheus
- Usa las consultas de PromQL para recuperar las métricas específicas que te interesan.
Consultas PromQL de ejemplo
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 calcular 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 de TCP
- Conexiones de TCP (por clave de acceso, ubicación y estado):
increase(shadowsocks_tcp_connections_closed[1d])
- Conexiones de TCP (por ubicación):
increase(shadowsocks_tcp_connections_opened[1d])
UDP
- Paquetes de UDP (por ubicación y estado):
increase(shadowsocks_udp_packets_from_client_per_location[1d])
- Asociaciones de 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 encontrar la lista completa de métricas disponibles en el código fuente de outline-ss-server.