Paneles de control de apoyo

PrestoIBM® watsonx.data ( Java ) ofrece una observabilidad completa a través de un sólido conjunto de paneles de control que proporcionan visibilidad de las métricas de rendimiento, lo que permite un diagnóstico rápido de los problemas y optimiza la asignación de recursos.

Los siguientes son los paneles compatibles:

  • Salud del sistema
  • Estado del rendimiento de las consultas
  • Salud de los datos y metadatos
  • Salud de la carga de trabajo
  • Estado de la latencia de las consultas
  • Estado del ciclo de vida de la consulta
  • Información sobre anomalías y tendencias
  • Registro y estado de errores

La Grafana herramienta solo es compatible con los siguientes cuatro paneles: Estado del sistema, Rendimiento de las consultas, Datos y metadatos, y Carga de trabajo, mientras que la herramienta Instana es compatible con los ocho paneles.

La siguiente lista representa el conjunto predeterminado de métricas Presto ( Java ). Los usuarios pueden ampliar esto añadiendo métricas adicionales según sea necesario. En métricas Presto JMX expuestas se puede encontrar una lista completa de las métricas disponibles y sus definiciones.

Salud del sistema

La supervisión de la infraestructura subyacente es fundamental para Presto. Se centra en la infraestructura básica, supervisando recursos fundamentales como la CPU, la memoria y la E/S para detectar cuellos de botella y garantizar un funcionamiento estable.

Presto Motor ( Java ):

  • Uso de la CPU: supervisa el uso de la CPU en todas Presto las instancias.

    • process_cpu_seconds_total
  • Uso de memoria: realiza un seguimiento de la memoria total utilizada frente a la disponible

    • watsonx_data_presto_cluster_memory_manager_cluster_memory_bytes
    • watsonx_data_presto_cluster_memory_manager_leaked_bytes
    • watsonx_data_presto_memory_heap_memory_usage_committed_bytes
    • watsonx_data_presto_memory_heap_memory_usage_max_bytes
    • watsonx_data_presto_memory_non_heap_memory_usage_committed_bytes
    • watsonx_data_presto_memory_non_heap_memory_usage_max_bytes
    • watsonx_data_presto_cluster_memory_manager_cluster_user_memory_reservation
    • watsonx_data_presto_cluster_memory_manager_cluster_total_memory_reservation
    • watsonx_data_presto_cluster_memory_manager_queries_killed_due_to_out_of_memory
    • jvm_memory_bytes_committed
  • Presto memory pool- Realiza un seguimiento del consumo de memoria dentro de los pools de memoria reservados y generales de Presto.

    • watsonx_data_presto_memory_pool_general_max_bytes
    • watsonx_data_presto_cluster_memory_pool_general_nodes
    • watsonx_data_presto_memory_pool_general_free_bytes
    • watsonx_data_presto_memory_pool_general_reserved_bytes
    • watsonx_data_presto_cluster_memory_pool_general_free_distributed_bytes
    • watsonx_data_presto_cluster_memory_pool_general_total_distributed_bytes
    • watsonx_data_presto_cluster_memory_pool_general_reserved_distributed_bytes
    • watsonx_data_presto_cluster_memory_pool_general_reserved_revocable_distributed_bytes
  • Caché de Alluxio: realiza un seguimiento de la eficiencia y el uso de los datos almacenados en caché en Alluxio durante las consultas.

    • watsonx_data_presto_alluxio_cache_bytes_read_cache_count
    • watsonx_data_presto_alluxio_cache_bytes_requested_external_count
    • watsonx_data_presto_alluxio_cache_written_cache_external_count
    • watsonx_data_presto_alluxio_cache_get_errors_count
    • watsonx_data_presto_alluxio_cache_put_errors_count
    • watsonx_data_presto_alluxio_cache_pages_count
    • watsonx_data_presto_alluxio_cache_pages_evicted_count
    • watsonx_data_presto_alluxio_cache_space_available_value
    • watsonx_data_presto_alluxio_cache_space_used_value

Para generar métricas de caché de Alluxio, es necesario habilitar la caché de Alluxio. Para obtener más información, consulte Mejorar el rendimiento de las consultas mediante el almacenamiento en caché.

Además, asegúrese de que las siguientes configuraciones estén incluidas en el jvm.config archivo: -Dalluxio.metrics.key.including.unique.id.enabled=true -Dalluxio.user.app.id=presto

  • Caché de fragmentos: realiza un seguimiento del uso y las tasas de acierto o error de los fragmentos de consulta almacenados en caché en Presto.
    • watsonx_data_presto_fragment_cache_stats_cache_entries
    • watsonx_data_presto_fragment_cache_stats_cache_hit
    • watsonx_data_presto_fragment_cache_stats_cache_removal
    • watsonx_data_presto_fragment_cache_stats_cache_size_in_bytes
    • watsonx_data_presto_fragment_cache_stats_inflight_bytes

Rendimiento de consultas

Comprender el comportamiento de las consultas es fundamental para un motor de consultas. Las métricas de rendimiento de las consultas incluyen:

Presto Motor ( Java ):

  • Consultas actualmente en ejecución: supervisa la tasa de solicitudes de consulta.

    • watsonx_data_presto_query_manager_running_queries
  • Tiempo de ejecución de la consulta: realiza un seguimiento de la latencia de la consulta.

    • watsonx_data_presto_query_manager_execution_time_five_minutes_p99
  • Datos procesados: mide las velocidades de transferencia de datos durante la ejecución de la consulta.

    • watsonx_data_presto_task_manager_input_data_size_five_minute_count
    • watsonx_data_presto_task_manager_output_data_size_five_minute_count
  • Tasas de error: indica el porcentaje de consultas que dan error cuando el sistema está sometido a una carga elevada.

    • watsonx_data_presto_query_manager_user_error_failures_five_minute_count
    • watsonx_data_presto_query_manager_abandoned_queries_five_minute_count
    • watsonx_data_presto_query_manager_canceled_queries_five_minute_count
  • Solicitudes exitosas frente a solicitudes fallidas: realiza un seguimiento del recuento de solicitudes exitosas frente a las fallidas.

    • watsonx_data_presto_query_manager_completed_queries_five_minute_count
    • watsonx_data_presto_query_manager_failed_queries_five_minute_count
    • watsonx_data_presto_query_manager_internal_failures_five_minute_count
    • watsonx_data_presto_task_manager_failed_tasks_five_minute_count

Salud de los datos y metadatos

Para un sistema que maneja grandes cantidades de datos, la integridad de la ingesta de datos y la gestión de metadatos es fundamental.

Presto Motor ( Java ):

  • Ingesta de datos: gestor de consultas. Supervisa el volumen y la velocidad de los datos que se ingieren en el sistema.

    • watsonx_data_presto_query_manager_consumed_input_bytes_five_minute_count
    • watsonx_data_presto_query_manager_consumed_input_rows_five_minute_count
    • watsonx_data_presto_query_manager_wall_input_bytes_rate_five_minutes_p90
  • S3 Errores de almacenamiento de objetos: realiza un seguimiento de las métricas de fallos durante la lectura de datos de S3 o capas de almacenamiento de objetos.

    • watsonx_data_presto_hive_s3_presto_s3_file_system_get_metadata_errors_total_count
    • watsonx_data_presto_hive_s3_presto_s3_file_system_failed_uploads_total_count
    • watsonx_data_presto_hive_s3_presto_s3_file_system_other_read_errors_total_count
  • Métrica de cola: mide el tamaño y la velocidad de procesamiento de las colas internas de procesamiento de datos.

    • watsonx_data_presto_dispatch_manager_queued_queries
    • watsonx_data_presto_split_scheduler_stats_mixed_split_queues_full_and_waiting_for_source_five_minute_count
    • watsonx_data_presto_task_executor_processor_executor_queued_task_count
    • watsonx_data_presto_task_executor_split_queued_time_all_time_max
    • watsonx_data_presto_task_executor_split_queued_time_all_time_avg
  • Métricas de caché de metadatos de archivos: observa las tasas de aciertos/errores y la eficiencia de la caché de metadatos para el acceso a archivos.

    • watsonx_data_presto_hive_cache_stats_mbean_parquet_metadata_hit_rate
    • watsonx_data_presto_hive_cache_stats_mbean_parquet_metadata_size
    • watsonx_data_presto_hive_cache_stats_mbean_orc_file_tail_size
    • watsonx_data_presto_hive_cache_stats_mbean_orc_file_tail_hit_rate
    • watsonx_data_presto_hive_cache_stats_mbean_stripe_footer_size
    • watsonx_data_presto_hive_cache_stats_mbean_stripe_stream_size

Salud de la carga de trabajo

Comprender cómo interactúan las diferentes cargas de trabajo con el sistema es clave para la optimización de los recursos.

Presto Motor ( Java ):

  • Recuento de carga de trabajo: indica el número de consultas que se están ejecutando actualmente.

    • watsonx_data_presto_query_manager_running_queries
  • Estado: indica si la carga de trabajo está activa, inactiva o ha fallado.

    • watsonx_data_presto_query_manager_completed_queries_five_minute_count
    • watsonx_data_presto_query_manager_abandoned_queries_five_minute_count
    • watsonx_data_presto_query_manager_canceled_queries_five_minute_count
    • watsonx_data_presto_query_manager_failed_queries_five_minute_count
  • Tasas de error- Tasas de error

    • watsonx_data_presto_query_manager_user_error_failures_five_minute_count
    • watsonx_data_presto_query_manager_failed_queries_five_minute_count
    • watsonx_data_presto_query_manager_external_failures_five_minute_count
    • watsonx_data_presto_query_manager_internal_failures_five_minute_count
    • watsonx_data_presto_query_manager_insufficient_resources_failures_five_minute_count
  • Utilización de recursos: realiza un seguimiento del uso de la CPU, la memoria y el disco asociado a cada carga de trabajo.

    • watsonx_data_presto_query_manager_consumed_cpu_time_seconds_five_minute_count
    • watsonx_data_presto_query_manager_cpu_input_byte_rate_five_minutes_p25
    • watsonx_data_presto_query_manager_cpu_input_byte_rate_five_minutes_p50
    • watsonx_data_presto_query_manager_cpu_input_byte_rate_five_minutes_p75
    • watsonx_data_presto_query_manager_cpu_input_byte_rate_five_minutes_p90
  • Recuento de solicitudes: número total de solicitudes de ejecución de cargas de trabajo recibidas durante un periodo de tiempo.

    • watsonx_data_presto_query_manager_running_queries
    • watsonx_data_presto_dispatch_manager_queued_queries

Estado del ciclo de vida de la consulta

Proporciona información sobre cada etapa del proceso de una consulta, desde su envío hasta su ejecución, lo que ayuda a identificar cuellos de botella en las colas, la ejecución de tareas y la finalización.

Presto Motor ( Java ):

  • Errores en cada etapa: realiza un seguimiento de los fallos en la ejecución de consultas en diferentes etapas de las Presto instancias identificando las áreas problemáticas en el proceso donde fallan las tareas.

    • watsonx_data_presto_task_manager_failed_tasks_five_minute_count
  • Utilización de recursos por consulta: captura el uso de recursos del sistema por consulta, incluidos subprocesos, divisiones y consultas en cola o en ejecución.

    • watsonx_data_presto_task_executor_running_tasks_level0
    • watsonx_data_presto_task_executor_running_splits
    • watsonx_data_presto_query_manager_submitted_queries_five_minute_count
    • watsonx_data_presto_query_manager_queued_queries
    • watsonx_data_presto_dispatch_manager_queued_queries
    • watsonx_data_presto_task_executor_blocked_splits
  • Estado del grupo de ejecutores: supervisa el grupo de subprocesos internos utilizado para ejecutar Presto tareas.

    • watsonx_data_presto_task_executor_processor_executor_pool_size
    • watsonx_data_presto_task_executor_processor_executor_active_count
    • watsonx_data_presto_task_executor_processor_executor_completed_task_count
    • watsonx_data_presto_task_executor_processor_executor_queued_task_count
  • Tiempo de CPU dividido: realiza un seguimiento del tiempo de CPU consumido por las divisiones finales e intermedias.

    • watsonx_data_presto_task_executor_intermediate_split_cpu_time_count
    • watsonx_data_presto_query_manager_consumed_cpu_time_seconds_five_minute_count
    • watsonx_data_presto_task_executor_leaf_split_cpu_time_p99

Estado de la latencia de las consultas

Se centra en la fase de ejecución de las consultas, identificando las fuentes de latencia y el impacto de la complejidad de las consultas.

Presto Motor ( Java ):

  • Latencia (ms): mide el tiempo de ejecución en varias etapas.

    • watsonx_data_presto_query_manager_execution_time_five_minutes_p99
    • watsonx_data_presto_task_executor_split_wall_time_one_minute_max
    • watsonx_data_presto_task_executor_split_wall_time_fifteen_minutes_max
    • watsonx_data_presto_task_executor_split_wall_time_all_time_p99
    • watsonx_data_presto_task_executor_leaf_split_wall_time_p99
  • Volumen de solicitudes: realiza un seguimiento de las tareas, las divisiones y las actividades de programación.

    • watsonx_data_presto_task_executor_split_queued_time_five_minutes_count
    • watsonx_data_presto_split_scheduler_stats_get_split_time_five_minutes_p99
    • watsonx_data_presto_task_executor_split_wall_time_five_minutes_count

Registro y estado de errores

Supervisa los errores y fallos en todo el proceso de ejecución de consultas, destacando la estabilidad del sistema y los patrones de fallo.

Presto Motor ( Java ):

  • Tasa de fallos de consulta: realiza un seguimiento de los fallos de ejecución y los cuellos de botella.

    • watsonx_data_presto_query_manager_failed_queries_five_minute_count
    • watsonx_data_presto_query_manager_internal_failures_five_minute_count
    • watsonx_data_presto_query_manager_user_error_failures_five_minute_count
    • watsonx_data_presto_task_executor_split_skipped_due_to_memory_pressure_five_minute_count
  • Servicio/componente afectado - HiveS3 / FileSystem- Identifica los Presto componentes defectuosos.

    • watsonx_data_presto_hive_s3_presto_s3_file_system_failed_uploads_total_count
    • watsonx_data_presto_hive_s3_presto_s3_file_system_aws_retry_count_fifteen_minute_count
    • watsonx_data_presto_hive_s3_presto_s3_file_system_get_metadata_errors_total_count
    • watsonx_data_presto_hive_s3_presto_s3_file_system_socket_timeout_exceptions_total_count
  • Servicio/componente afectado: ejecutor de tareas. Identifica los Presto componentes defectuosos.

    • watsonx_data_presto_task_executor_split_wall_time_all_time_max_error
    • watsonx_data_presto_task_executor_blocked_quanta_wall_time_all_time_max_error
    • watsonx_data_presto_task_executor_leaf_split_cpu_time_max_error
    • watsonx_data_presto_task_executor_intermediate_split_wall_time_max_error
    • watsonx_data_presto_task_executor_unblocked_quanta_wall_time_one_minute_max_error
    • watsonx_data_presto_task_executor_split_queued_time_one_minute_max_error
    • watsonx_data_presto_hive_s3_presto_s3_file_system_failed_uploads_total_count
    • watsonx_data_presto_hive_s3_presto_s3_file_system_aws_retry_count_fifteen_minute_count
    • watsonx_data_presto_hive_s3_presto_s3_file_system_get_metadata_errors_total_count
    • watsonx_data_presto_hive_s3_presto_s3_file_system_socket_timeout_exceptions_total_count
  • Nivel de gravedad: clasifica las métricas según la gravedad de su impacto.

    • Grave (crítico)

      • watsonx_data_presto_query_manager_internal_failures_five_minute_count
      • watsonx_data_presto_task_executor_split_wall_time_all_time_max_error
      • watsonx_data_presto_task_executor_blocked_quanta_wall_time_all_time_max_error
      • watsonx_data_presto_hive_s3_presto_s3_file_system_failed_uploads_total_count
      • watsonx_data_presto_cache_stats_quota_exceeded
    • Moderado (Advertencia)

      • watsonx_data_presto_query_manager_user_error_failures_five_minute_count
      • watsonx_data_presto_hive_s3_presto_s3_file_system_aws_retry_count_fifteen_minute_rate
      • watsonx_data_presto_hive_s3_presto_s3_file_system_get_object_errors_fifteen_minute_rate
      • watsonx_data_presto_hive_s3_presto_s3_file_system_read_retries_fifteen_minute_rate
    • Bajo (Información)

      • watsonx_data_presto_hive_s3_presto_s3_file_system_get_metadata_retries_five_minute_count
      • watsonx_data_presto_task_executor_split_skipped_due_to_memory_pressure_total_count
      • watsonx_data_presto_task_executor_processor_executor_shutdown

Información sobre anomalías y tendencias

Destaca patrones inesperados o desviaciones en el comportamiento de las consultas, lo que ayuda a detectar degradaciones o mejoras en el rendimiento.

Presto Motor ( Java ):

  • Desviación de latencia: realiza un seguimiento de la evolución de las latencias de las consultas.

    • watsonx_data_presto_task_executor_split_wall_time_fifteen_minutes_avg
    • watsonx_data_presto_task_executor_leaf_split_wait_time_avg
    • watsonx_data_presto_task_executor_intermediate_split_wall_time_avg
  • Tasa de error frente a referencia: compara las métricas de ejecución recientes con las referencias históricas.

    • watsonx_data_presto_task_executor_split_wall_time_fifteen_minutes_avg
    • watsonx_data_presto_task_executor_leaf_split_wait_time_avg
    • watsonx_data_presto_task_executor_intermediate_split_wall_time_avg
  • Detector de caída de rendimiento: detecta caídas en las velocidades de procesamiento de datos.

    • watsonx_data_presto_task_executor_global_scheduled_time_micros_five_minute_rate
    • watsonx_data_presto_hive_s3_presto_s3_file_system_successful_uploads_five_minute_rate
  • Duración de la consulta: mide el tiempo medio de ejecución por tarea o división.

    • watsonx_data_presto_task_executor_leaf_split_cpu_time_avg
    • watsonx_data_presto_task_executor_intermediate_split_cpu_time_avg
  • Tendencia de memoria: realiza un seguimiento del uso de la memoria y las posibles fugas.

    • jvm_memory_bytes_used
    • watsonx_data_presto_memory_heap_memory_usage_used_bytes
  • Comparación de tendencias de carga de trabajo: compara el uso de recursos en diferentes intervalos de tiempo.

    • watsonx_data_presto_task_executor_global_cpu_time_micros_total_count
    • watsonx_data_presto_cluster_memory_manager_cluster_total_memory_reservation
    • watsonx_data_presto_task_executor_blocked_quanta_wall_time_fifteen_minutes_avg