Painéis de apoio

PrestoIBM® watsonx.data ( Java ) oferecem observabilidade abrangente por meio de um conjunto robusto de painéis que fornecem visibilidade das métricas de desempenho, permitindo o diagnóstico rápido de problemas e a otimização da alocação de recursos.

A seguir estão os painéis compatíveis:

  • Funcionamento do sistema
  • Desempenho da consulta
  • Integridade dos dados e metadados
  • Saúde da carga de trabalho
  • Integridade da latência da consulta
  • Verificar a integridade do ciclo de vida da consulta
  • Informações sobre anomalias e tendências
  • Registro e integridade de erros

A Grafana ferramenta oferece suporte apenas para os quatro painéis a seguir: Integridade do sistema, Integridade do desempenho da consulta, Integridade dos dados e metadados e Integridade da carga de trabalho, enquanto a ferramenta Instana oferece suporte para todos os oito painéis.

A lista a seguir representa o conjunto padrão de métricas Presto ( Java ). Os usuários podem ampliar isso adicionando métricas adicionais conforme necessário. Uma lista completa das métricas disponíveis e suas definições pode ser encontrada em métricas Presto JMX expostas.

Funcionamento do sistema

Monitorar a infraestrutura subjacente é fundamental para Presto. Concentra-se na infraestrutura básica, monitorando recursos essenciais como CPU, memória e E/S para detectar gargalos e garantir operações estáveis.

Presto Motor ( Java ):

  • Utilização da CPU- Monitora a utilização da CPU em todas Presto as instâncias.

    • process_cpu_seconds_total
  • Uso da memória- Monitora a memória total usada em comparação com a disponível

    • 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 memória- Rastreia o consumo de memória nos pools de memória reservados e gerais do 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- Rastreia a eficiência e o uso dos dados armazenados em cache no Alluxio durante as 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 gerar métricas de cache do Alluxio, o cache do Alluxio deve estar habilitado. Para obter mais informações, consulte Aprimorando o desempenho da consulta por meio do cache.

Além disso, certifique-se de que as seguintes configurações estejam incluídas no jvm.config arquivo: -Dalluxio.metrics.key.including.unique.id.enabled=true -Dalluxio.user.app.id=presto

  • Cache de fragmentos- Rastreia o uso e as taxas de acerto ou erro dos fragmentos de consulta armazenados em cache em 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

Desempenho da consulta

Compreender o comportamento das consultas é fundamental para um mecanismo de consulta. As métricas de desempenho da consulta incluem:

Presto Motor ( Java ):

  • Consultas em execução no momento- Monitora a taxa de solicitações de consulta.

    • watsonx_data_presto_query_manager_running_queries
  • Tempo de execução da consulta- Rastreia a latência da consulta.

    • watsonx_data_presto_query_manager_execution_time_five_minutes_p99
  • Dados processados- Mede as taxas de transferência de dados durante a execução da consulta.

    • watsonx_data_presto_task_manager_input_data_size_five_minute_count
    • watsonx_data_presto_task_manager_output_data_size_five_minute_count
  • Taxas de erro- Indica a porcentagem de consultas que apresentam erros quando o sistema está sob estresse.

    • 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
  • Solicitações bem-sucedidas vs. falhadas- Rastreia o número de solicitações bem-sucedidas vs. falhadas.

    • 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

Integridade dos dados e metadados

Para um sistema que lida com grandes quantidades de dados, a integridade da ingestão de dados e do gerenciamento de metadados é crucial.

Presto Motor ( Java ):

  • Ingestão de dados - Gerenciador de consultas- Monitora o volume e a taxa de dados que estão sendo ingeridos no 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 Erros de armazenamento de objetos- Rastreia métricas de falha durante a leitura de dados de S3 camadas de armazenamento 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 fila- Mede o tamanho e a taxa de processamento das filas internas de processamento de dados.

    • 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 do cache de metadados de arquivos- Observa as taxas de acerto/erro e a eficiência do cache de metadados para acesso a arquivos.

    • 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

Saúde da carga de trabalho

Compreender como diferentes cargas de trabalho interagem com o sistema é fundamental para a otimização dos recursos.

Presto Motor ( Java ):

  • Contagem de carga de trabalho- Indica o número de consultas atualmente em execução.

    • watsonx_data_presto_query_manager_running_queries
  • Status- Indica se a carga de trabalho está ativa, ociosa ou com falha.

    • 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
  • Taxas de erro- Taxas de erro

    • 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
  • Utilização de recursos- Monitora o uso da CPU, da memória e do disco associado a cada carga de trabalho.

    • 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
  • Contagem de solicitações- Número total de solicitações de execução de carga de trabalho recebidas durante um período de tempo.

    • watsonx_data_presto_query_manager_running_queries
    • watsonx_data_presto_dispatch_manager_queued_queries

Verificar a integridade do ciclo de vida da consulta

Ele fornece informações sobre cada etapa do percurso de uma consulta, desde o envio até a execução, ajudando a identificar gargalos na fila, na execução de tarefas e na conclusão.

Presto Motor ( Java ):

  • Erros em cada etapa- Rastreia falhas na execução de consultas em diferentes etapas das Presto instâncias, identificando as áreas problemáticas no pipeline onde as tarefas estão falhando.

    • watsonx_data_presto_task_manager_failed_tasks_five_minute_count
  • Utilização de recursos por consulta- Captura o uso de recursos do sistema por consulta, incluindo threads, divisões e consultas em fila ou em execução.

    • 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
  • Integridade do pool de executores- Monitora o pool de threads interno usado para executar Presto tarefas.

    • 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
  • Tempo de CPU dividido- Rastreia o tempo de CPU consumido pelas divisões finais e intermediárias.

    • 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

Integridade da latência da consulta

Concentra-se na fase de execução das consultas, identificando fontes de latência e o impacto da complexidade das consultas.

Presto Motor ( Java ):

  • Latência (ms)- Mede o tempo de execução em várias 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
  • Volume de solicitações- Acompanha tarefas, divisões e atividades de programação.

    • 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 e integridade de erros

Monitora erros e falhas em todo o pipeline de execução de consultas, destacando a estabilidade do sistema e os padrões de falha.

Presto Motor ( Java ):

  • Taxa de falhas de consulta- Rastreia falhas de execução e gargalos.

    • 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
  • Serviço/componente afetado - HiveS3 / FileSystem- Identifica componentes com Presto falha.

    • 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
  • Serviço/componente afetado - Executor de tarefas- Identifica componentes com Presto falha.

    • 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
  • Nível de gravidade- Categoriza as métricas por gravidade do 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 (Aviso)

      • 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
    • Baixo (Informação)

      • 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

Informações sobre anomalias e tendências

Destaca padrões inesperados ou desvios no comportamento das consultas, ajudando a detectar degradação ou melhorias no desempenho.

Presto Motor ( Java ):

  • Desvio de latência- Rastreia as latências de consulta em evolução.

    • 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
  • Taxa de erro vs. linha de base- Compara métricas de execução recentes com linhas de base 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 queda de rendimento- Detecta quedas nas taxas de processamento de dados.

    • 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
  • Duração da consulta- Mede o tempo médio de execução por tarefa ou divisão.

    • watsonx_data_presto_task_executor_leaf_split_cpu_time_avg
    • watsonx_data_presto_task_executor_intermediate_split_cpu_time_avg
  • Tendência de memória- Rastreia o uso da memória e possíveis vazamentos.

    • jvm_memory_bytes_used
    • watsonx_data_presto_memory_heap_memory_usage_used_bytes
  • Comparação de tendências de carga de trabalho- Compara o uso de recursos em janelas de tempo.

    • 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