Monitorización de métricas del sistema con Grafana

Wialon Local expone métricas internas del sistema en formato Prometheus. Puede utilizar Prometheus para recopilar estas métricas y Grafana para visualizarlas mediante una plantilla de panel preconfigurada. Esta guía describe cómo habilitar la recopilación de métricas, configurar Prometheus y Grafana, e importar la plantilla del panel de Wialon Local.

Requisitos previos

Antes de comenzar, asegúrese de tener:

  • Una instancia de Wialon Local en funcionamiento.
  • Prometheus instalado (o listo para instalar) en el servidor de monitorización.
  • Grafana instalado (o listo para instalar) en el servidor de monitorización.

Paso 1. Habilitar la recopilación de métricas

Para habilitar la recopilación de métricas del sistema:

  1. En el sistema de administración, vaya a Sistema y localice la sección Configuraciones.
  2. Seleccione la casilla Activar servicio de métricas (la última opción de la sección).
  3. Haga clic en Guardar.
  4. Reinicie el servicio cuando se le solicite.

Después del reinicio, Wialon Local expone las métricas del sistema en formato Prometheus en el siguiente endpoint predeterminado:

http://<dirección-del-servidor>/wialon_metrics

donde <dirección-del-servidor> es la dirección IP o el nombre de dominio de su servidor Wialon Local.

Puede verificar que las métricas están disponibles abriendo esta URL en un navegador o con curl:

Copied!
curl http://<dirección-del-servidor>/wialon_metrics

Paso 2. Instalar y configurar Prometheus

Instale y configure Prometheus en el servidor que ha designado para la monitorización (se recomienda un servidor separado).

  1. Descargue e instale Prometheus.

  2. En el archivo de configuración prometheus.yml, agregue el siguiente trabajo para obtener métricas de Wialon Local:

    Copied!
    scrape_configs:
      - job_name: "adf"
        metrics_path: /wialon_metrics
        static_configs:
          - targets: ["<dirección-de-wialon-local>"]
    

    Reemplace <dirección-de-wialon-local> con la dirección IP o el nombre de dominio de su servidor Wialon Local (por ejemplo, 192.168.1.100 o wialon.suempresa.com). Dado que el endpoint se sirve a través de nginx en el puerto HTTP estándar, no es necesario especificar un número de puerto.

    Consulte la documentación de Prometheus para obtener información adicional.

  3. Inicie Prometheus con el archivo de configuración:

    Copied!
    ./prometheus --config.file=prometheus.yml
    
  4. Verifique que Prometheus está recopilando métricas abriendo la interfaz web de Prometheus (por defecto, http://localhost:9090) y comprobando Status → Targets. El objetivo adf debería aparecer con el estado UP.

Paso 3. Instalar Grafana y agregar la fuente de datos

Instale Grafana en el mismo servidor donde se ejecuta Prometheus.

  1. Descargue e instale Grafana.
  2. Abra la interfaz web de Grafana (por defecto, http://localhost:3000).
  3. Agregue Prometheus como fuente de datos:
    • Vaya a ConnectionsData sources.
    • Haga clic en Add data source y seleccione Prometheus.
    • En el campo Prometheus server URL, introduzca la dirección de su instancia de Prometheus (por ejemplo, http://localhost:9090).
    • Haga clic en Save & test para verificar la conexión.

Consulte la documentación de Grafana para obtener información adicional.

Paso 4. Importar el panel

Una plantilla de panel de Grafana preconfigurada está disponible como archivo JSON. Para importarla:

  1. Descargue la plantilla JSON del panel usando este enlace: local-dashboard-template.json .

  2. En Grafana, vaya a DashboardsNewImport.

  3. Haga clic en Upload JSON file y seleccione el archivo de la plantilla del panel.

  4. Seleccione la fuente de datos de Prometheus que configuró en el paso anterior.

  5. Haga clic en Import.

Consulte la documentación de Grafana para obtener información adicional.

El panel muestra paneles para todas las métricas clave del sistema Wialon Local, incluyendo el estado del servicio, operaciones de base de datos, uso de memoria y CPU, sesiones activas, informes, notificaciones y más.

Métricas disponibles

La tabla a continuación enumera todas las métricas del sistema expuestas por Wialon Local. Para información sobre los tipos de métricas, consulte Tipos de métricas.

Métricas de servicio y proceso

Métrica Tipo Descripción
adf_process_start_time Gauge Hora de inicio del servicio Wialon Local (marca de tiempo Unix en segundos).
adf_process_pid Gauge ID de proceso (PID) del servicio Wialon Local en ejecución.
adf_service_status Gauge Estado del servicio: 1 — en ejecución, 0 — detenido.
adf_process_cpu_time_seconds Gauge Tiempo de CPU utilizado por el proceso (modo kernel y usuario).
adf_process_mem_pages_in_mem Gauge Número de páginas del proceso en la memoria física.
adf_process_mem_vmem_used Gauge Cantidad de memoria virtual utilizada por el proceso (en bytes).
adf_mem_appmem_used Gauge Número de bytes utilizados por la memoria de la aplicación.
adf_mem_vmem_used Gauge Número de bytes utilizados como memoria virtual (excluyendo metadatos).

Métricas de base de datos y almacenamiento

Métrica Tipo Descripción
adf_storage_msgs_rw_count Counter Número total de mensajes escritos en la base de datos o leídos desde ella.
adf_storage_critical_errors Counter Número total de errores críticos devueltos por las operaciones de almacenamiento.
adf_sync_server_msgs_flushed_to_fs Counter Número de mensajes volcados al sistema de archivos para un servidor de copia de seguridad. Cuando el servidor de sincronización no está disponible, los mensajes se almacenan temporalmente en disco y se vuelcan después de que el servidor esté disponible.

Métricas de grupo de hilos y cola de eventos

Métrica Tipo Descripción
adf_threads_pool_active Gauge Número de hilos activos en el grupo de hilos global.
adf_threads_pool_max Gauge Tamaño máximo del grupo de hilos global. Se configura mediante la variable de entorno ADF_MAX_THREADS_COUNT (por defecto: 50).
adf_events_queue_size Gauge Número de eventos en la cola de ejecución. La mayoría de los eventos del sistema (comandos, mensajes registrados y otros) pasan por esta cola. Un tamaño mínimo de cola indica un procesamiento rápido. Una cola en crecimiento indica una degradación del rendimiento.

Métricas de ejecución de scripts

Métrica Tipo Descripción
adf_script_code_executions Counter Número total de ejecuciones de scripts en una ventana de 10 minutos. La mayoría de los eventos externos (por ejemplo, solicitudes API) se procesan mediante scripts. Esta métrica puede servir como indicador de carga del sistema.
adf_script_long_exec_number Gauge Número de scripts con tiempo de ejecución que excede el umbral. El umbral se configura mediante la variable de entorno ADF_SCRIPT_LONG_EXEC_DETECTION_TIME (por defecto: 600 segundos).

Métricas web y de sesiones

Métrica Tipo Descripción
adf_web_ajax_requests_duration_milliseconds Counter Duración total de las solicitudes AJAX procesadas (en milisegundos).
adf_web_active_sessions Gauge Número de sesiones web activas.

Métricas de informes y notificaciones

Métrica Tipo Descripción
adf_reports_count Counter Número total de informes procesados.
adf_reports_duration_milliseconds Counter Duración total de los informes procesados (en milisegundos).
adf_notifications_count Counter Número total de acciones de notificación procesadas.
adf_notifications_duration_milliseconds Counter Duración total de las acciones de notificación procesadas (en milisegundos).

Métricas de unidades y hardware

Métrica Tipo Descripción
adf_unit_to_tcp_conn_bindings Counter Número total de vinculaciones de unidad a conexión TCP. Las unidades que envían datos establecen vinculaciones de conexión.
adf_unit_to_udp_conn_bindings Counter Número total de vinculaciones de unidad a conexión UDP. Las unidades que envían datos establecen vinculaciones de conexión.
adf_unit_commands_executions Counter Número total de ejecuciones de comandos de unidad.
adf_retranslator_msgs_sent Counter Número total de mensajes enviados por el servicio de repetidor.

Métricas de tareas

Métrica Tipo Descripción
adf_jobs_completed Counter Número total de tareas completadas.

Tipos de métricas

Las métricas de Wialon Local utilizan dos tipos de métricas de Prometheus:

  • Gauge: Representa un valor que puede subir o bajar (por ejemplo, el número de sesiones activas o el uso de memoria). Los gauges reflejan el estado actual en un momento dado.

  • Counter: Representa un valor acumulativo que solo aumenta (por ejemplo, el número total de informes procesados). Los counters se reinician a cero cuando el servicio se reinicia.

Resolución de problemas

El objetivo de Prometheus muestra el estado DOWN

Verifique la conectividad de red entre el servidor que ejecuta Prometheus y el servidor de Wialon Local. Asegúrese de que el metrics_path en prometheus.yml esté configurado como /wialon_metrics y que el valor de targets contenga la dirección correcta del servidor de Wialon Local. Verifique que el puerto HTTP del servidor de Wialon Local (por defecto: 80 o 443) no esté bloqueado por un firewall.

El panel de Grafana muestra "No data"

Verifique que la fuente de datos de Prometheus esté configurada correctamente en Grafana (ConnectionsData sourcesPrometheus). Compruebe que la instancia de Prometheus esté en ejecución y que el objetivo adf tenga el estado UP en Prometheus (StatusTargets). Asegúrese de haber seleccionado la fuente de datos correcta al importar el panel.

El tamaño de la cola de eventos crece continuamente

Un adf_events_queue_size en crecimiento continuo indica que el sistema no puede procesar los eventos lo suficientemente rápido. Verifique el uso de CPU y memoria en el servidor. Revise el hardware del servidor en comparación con las especificaciones técnicas. Contacte con el soporte técnico si el problema persiste.

Si nota un error en el texto, por favor resáltelo y presione Ctrl+Intro.

Informar de un error

Su mensaje ha sido enviado. ¡Gracias!

Se produjo un error al enviar el formulario