Saltar al contenido principal

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

  1. 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
  1. 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

  1. 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.