Tableaux de bord d'assistance

PrestoIBM® watsonx.data ( Java ) offre une observabilité complète grâce à un ensemble robuste de tableaux de bord qui fournissent une visibilité sur les mesures de performance, permettant un diagnostic rapide des problèmes et une optimisation de l'allocation des ressources.

Voici les tableaux de bord pris en charge :

  • État du système
  • Santé des performances des requêtes
  • Intégrité des données et des métadonnées
  • Santé de la charge de travail
  • Santé de la latence des requêtes
  • État du cycle de vie des requêtes
  • Informations sur les anomalies et les tendances
  • Journal et erreurs de santé

L'outil Grafana ne prend en charge que les quatre tableaux de bord suivants : état du système, état des performances des requêtes, état des données et métadonnées, et état de la charge de travail, tandis que l'outil Instana prend en charge les huit tableaux de bord.

La liste suivante représente l'ensemble par défaut des métriques Presto ( Java ). Les utilisateurs peuvent étendre cette fonctionnalité en ajoutant des indicateurs supplémentaires selon leurs besoins. Une liste complète des métriques disponibles et leurs définitions est disponible dans les métriques Presto JMX exposées.

État du système

La surveillance de l'infrastructure sous-jacente est primordiale pour Presto. Se concentre sur l'infrastructure fondamentale, surveillant les ressources essentielles telles que le processeur, la mémoire et les E/S afin de détecter les goulots d'étranglement et d'assurer la stabilité des opérations.

Presto Moteur ( Java ):

  • Utilisation du processeur- Surveille l'utilisation du processeur sur toutes Presto les instances.

    • process_cpu_seconds_total
  • Utilisation de la mémoire- Suivi de la mémoire totale utilisée par rapport à la mémoire 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 pool de mémoire- Suivi de la consommation de mémoire dans les pools de mémoire réservés et généraux 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
  • Cache Alluxio- Suit l'efficacité et l'utilisation des données mises en cache dans Alluxio pendant les requêtes.

    • 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

Pour générer les métriques du cache Alluxio, le cache Alluxio doit être activé. Pour plus d'informations, reportez-vous à la section Amélioration des performances des requêtes grâce à la mise en cache.

De plus, assurez-vous que les configurations suivantes sont incluses dans le jvm.config fichier : -Dalluxio.metrics.key.including.unique.id.enabled=true -Dalluxio.user.app.id=presto

  • Cache de fragments- Suit l'utilisation et les taux de réussite ou d'échec des fragments de requêtes mis en cache dans 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

Performances des requêtes

Comprendre le comportement des requêtes est essentiel pour un moteur de recherche. Les indicateurs de performance des requêtes comprennent :

Presto Moteur ( Java ):

  • Requêtes en cours d'exécution- Surveille le taux de requêtes.

    • watsonx_data_presto_query_manager_running_queries
  • Temps d'exécution des requêtes- Suit la latence des requêtes.

    • watsonx_data_presto_query_manager_execution_time_five_minutes_p99
  • Données traitées- Mesure les taux de transfert des données pendant l'exécution de la requête.

    • watsonx_data_presto_task_manager_input_data_size_five_minute_count
    • watsonx_data_presto_task_manager_output_data_size_five_minute_count
  • Taux d'erreur- Indique le pourcentage de requêtes qui génèrent une erreur lorsque le système est soumis à une charge importante.

    • 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
  • Demandes réussies vs échouées- Suit le nombre de demandes réussies vs échouées.

    • 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

Intégrité des données et des métadonnées

Pour un système traitant d'énormes quantités de données, la santé de l'ingestion des données et de la gestion des métadonnées est cruciale.

Presto Moteur ( Java ):

  • Ingestion des données - Gestionnaire de requêtes- Surveille le volume et le débit des données ingérées dans le système.

    • 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 Erreurs de stockage d'objets- Suit les métriques d'échec lors de la lecture des données à partir des couches de S3 stockage d'objets ou.

    • 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
  • Mesure de la file d'attente- Mesure la taille et le taux de traitement des files d'attente internes de traitement des données.

    • 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
  • Mesures du cache des métadonnées des fichiers- Observe les taux de réussite/échec et l'efficacité du cache des métadonnées pour l'accès aux fichiers.

    • 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

Santé de la charge de travail

Comprendre comment différentes charges de travail interagissent avec le système est essentiel pour optimiser les ressources.

Presto Moteur ( Java ):

  • Nombre de charges de travail- Indique le nombre de requêtes actuellement en cours d'exécution.

    • watsonx_data_presto_query_manager_running_queries
  • Statut: indique si la charge de travail est active, inactive ou a échoué.

    • 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
  • Taux d'erreur- Taux d'erreur

    • 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
  • Utilisation des ressources: suit l'utilisation du processeur, de la mémoire et du disque associée à chaque charge de travail.

    • 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
  • Nombre de requêtes- Nombre total de requêtes d'exécution de charge de travail reçues au cours d'une période donnée.

    • watsonx_data_presto_query_manager_running_queries
    • watsonx_data_presto_dispatch_manager_queued_queries

État du cycle de vie des requêtes

Il fournit des informations sur chaque étape du parcours d'une requête, de sa soumission à son exécution, ce qui permet d'identifier les goulots d'étranglement dans la mise en file d'attente, l'exécution des tâches et leur achèvement.

Presto Moteur ( Java ):

  • Erreurs à chaque étape- Suit les échecs d'exécution des requêtes à différentes étapes des Presto instances en identifiant les zones problématiques du pipeline où les tâches échouent.

    • watsonx_data_presto_task_manager_failed_tasks_five_minute_count
  • Utilisation des ressources par requête: capture l'utilisation des ressources système par requête, y compris les threads, les divisions et les requêtes en attente ou en cours d'exécution.

    • 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
  • Santé du pool d'exécuteurs: surveille le pool de threads interne utilisé pour exécuter Presto les tâches.

    • 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
  • Temps CPU divisé- Suit le temps CPU consommé par les divisions feuilles et intermédiaires.

    • 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

Santé de la latence des requêtes

Se concentre sur la phase d'exécution des requêtes en identifiant les sources de latence et l'impact de la complexité des requêtes.

Presto Moteur ( Java ):

  • Latence (ms)- Mesure le temps d'exécution à différentes étapes.

    • 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
  • Volume des demandes- Suivi des tâches, des divisions et des activités de planification.

    • 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

Journal et erreurs de santé

Surveille les erreurs et les défaillances tout au long du pipeline d'exécution des requêtes, en mettant en évidence la stabilité du système et les schémas de défaillance.

Presto Moteur ( Java ):

  • Taux d'échec des requêtes- Suit les échecs d'exécution et les goulots d'étranglement.

    • 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
  • Service/composant affecté - HiveS3 / FileSystem- Identifie les Presto composants défaillants.

    • 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
  • Service/composant affecté - Exécuteur de tâches- Identifie les Presto composants défaillants.

    • 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
  • Niveau de gravité- Classe les indicateurs en fonction de la gravité de leur impact.

    • Grave (critique)

      • 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
    • Modéré (Avertissement)

      • 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
    • Faible (Info)

      • 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

Informations sur les anomalies et les tendances

Met en évidence les modèles ou les écarts inattendus dans le comportement des requêtes, ce qui permet de détecter les baisses ou les améliorations de performances.

Presto Moteur ( Java ):

  • Dérive de latence- Suit l'évolution des latences des requêtes.

    • 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
  • Taux d'erreur par rapport à la référence- Compare les mesures d'exécution récentes aux références historiques.

    • 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
  • Détecteur de baisse de débit- Détecte les baisses de débit dans le traitement des données.

    • 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
  • Durée de la requête: mesure le temps d'exécution moyen par tâche ou fractionnement.

    • watsonx_data_presto_task_executor_leaf_split_cpu_time_avg
    • watsonx_data_presto_task_executor_intermediate_split_cpu_time_avg
  • Tendance mémoire- Suivi de l'utilisation de la mémoire et des fuites potentielles.

    • jvm_memory_bytes_used
    • watsonx_data_presto_memory_heap_memory_usage_used_bytes
  • Comparaison des tendances de charge de travail- Compare l'utilisation des ressources sur différentes périodes.

    • 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