统一观测丨使用 Prometheus 监控 E-MapReduce,我们该关注哪些指标?

Posted 阿里云云栖号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统一观测丨使用 Prometheus 监控 E-MapReduce,我们该关注哪些指标?相关的知识,希望对你有一定的参考价值。

开源大数据平台E-MapReduce(简称“EMR”)是云原生开源大数据平台,向客户提供简单易集成的Hadoop、Hive、Spark、Flink、Presto、ClickHouse、StarRocks、Delta、Hudi等开源大数据计算和存储引擎。本文旨在分享阿里云Prometheus对EMR平台大数据服务的监控实践。

EMR 简介

开源大数据开发平台E-MapReduce(简称“EMR”)作为大数据处理的系统解决方案被越来越多的企业所接受。而阿里云EMR构建于云服务器ECS上,基于开源的Apache Hadoop和Apache Spark可以方便地使用Hadoop和Spark生态系统中的其他周边系统分析和处理数据,还可以与阿里云OSS和RDS等云数据存储系统和数据库系统进行数据传输,让企业可以快速搭建Hadoop、Spark、Flink、Kafka和HBase等开源大数据服务。

我们可以看到,E-MapReduce的核心是集群。E-MapReduce集群是由一个或多个ECS实例组成的Hadoop、Flink、Druid、ZooKeeper集群。以Hadoop为例,每个ECS 实例上通常都运行了一些daemon进程(例如,NameNode、DataNode、ResouceManager和NodeManager),这些daemon进程共同组成了Hadoop集群。在众多大数据组件背后,是海量需要被观测的指标,这就给运维工程师、SRE工程师带来了巨大的挑战。那么,构建E-MapReduce之后,我们针对不同组件,应该关注哪些指标呢?

E-MapReduce 观测指标解读

Metric指标采集

E-MapReduce指标观测主要包括HOST监控、HDFS 、YARN、Hive、Kafka、Zookeeper、ClickHouse和Flink等,那么接下来我们将进行逐一解读。

HOST指标[1]

提供ECS节点CPU、内存、磁盘、load、网络、socket等监控指标。

HDFS指标[2]

HDFS(Hadoop Distributed File System)是一种Hadoop分布式文件系统,适用于大规模数据的分布式读写,特别是读多写少的场景。HDFS指标包括HOME、NameNodes、DataNodes和JournanlNodes指标。

  • HDFS-HOME
  • HDFS-NameNodes
  • HDFS-DataNodes
  • HDFS-JournanlNodes

YARN指标[3]

YARN是Hadoop系统的核心组件,主要功能包括负责Hadoop集群的资源管理,对作业进行调度运行以及监控。YARN指标包括HOME、Queue、ResourceManager、NodeManager、TimeLineServer和JobHistory。

  • YARN-HOME
  • YARN-Queues
  • YARN-ResourceManager
  • YARN-NodeManagers
  • YARN-TimeLineServer
  • YARN-JobHistory

Hive指标[4]

Hive是一个基于Hadoop的数据仓库框架,在大数据业务场景中,主要用来进行数据提取、转化和加载(ETL)以及元数据管理。Hive由HiveServer2(HiveQL查询服务器)、Hive MetaStore(元数据管理模块)和Hive Client构成,其指标包括HiveMetaStore和HiveServer2。

  • HiveMetaStore
指标描述
hive_memory_heap_maxJVM最大可用堆内存,单位:Byte。
hive_memory_heap_usedJVM已使用堆内存,单位:Byte。
hive_memory_non_heap_usedJVM已使用堆外内存量,单位:Byte。
hive_active_calls_api_alter_table当前活跃的alter table请求数。
hive_active_calls_api_create_table当前活跃的create table请求数。
hive_active_calls_api_drop_table当前活跃的drop table请求数。
hive_api_alter_tablealter table请求平均时间,单位:ms。
hive_api_alter_table_with_environment_contextalter table with env context请求平均时间,单位:ms。
hive_api_create_tablecreate table请求平均时间,单位:ms。
hive_api_create_table_with_environment_contextcreate table with env context请求平均时间,单位:ms。
api_drop_tabledrop table请求平均时间,单位:ms。
hive_api_drop_table_with_environment_contextdrop table with env context请求平均时间,单位:ms。
hive_api_get_all_databasesget all databases请求平均时间,单位:ms。
hive_api_get_all_functionsget all functions请求平均时间,单位:ms。
hive_api_get_databaseget database请求平均时间,单位:ms。
hive_api_get_databasesget databases请求平均时间,单位:ms。
hive_api_get_multi_tableget multi table请求平均时间,单位:ms。
hive_api_get_tables_by_typeget table请求平均时间,单位:ms。
hive_api_get_table_objects_by_name_reqget table objects by name请求平均时间,单位:ms。
hive_api_get_table_reqget table req请求平均时间,单位:ms。
hive_api_get_table_statistics_reqget table statistics请求平均时间,单位:ms。
hive_api_get_tablesget tables请求平均时间,单位:ms。
hive_api_get_tables_by_typeget tables by type请求平均时间,单位:ms。
  • HiveServer2
指标描述
hive_metrics_hs2_active_sessions当前活跃的session个数。
hive_metrics_memory_total_initJVM初始化总内存,单位:Byte。
hive_metrics_memory_total_committedJVM已预留总内存,单位:Byte。
hive_metrics_memory_total_maxJVM最大可用总内存,单位:Byte。
hive_metrics_memory_heap_committedJVM已预留堆内存,单位:Byte。
hive_metrics_memory_heap_inithive_metrics_memory_heap_committedJVM初始化堆内存,单位:Byte。
hive_metrics_memory_non_heap_committedJVM已预留堆外内存,单位:Byte。
hive_metrics_memory_non_heap_initJVM初始化堆外内存,单位:Byte。
hive_metrics_memory_non_heap_maxJVM最大可用堆外内存,单位:Byte。
hive_metrics_gc_PS_MarkSweep_countJVM PS MarkSweep GC次数。
hive_metrics_gc_PS_MarkSweep_timeJVM PS MarkSweep GC时间,单位:ms。
hive_metrics_gc_PS_Scavenge_timeJVM PS Scavenge GC时间,单位:ms。
hive_metrics_threads_daemon_countJVM daemon线程数。
hive_metrics_threads_countJVM线程数。
hive_metrics_threads_blocked_countJVM blocked线程数。
hive_metrics_threads_deadlock_countJVM deadlock线程数。
hive_metrics_threads_new_countJVM new状态线程数。
hive_metrics_threads_runnable_countJVM runnable线程数。
hive_metrics_threads_terminated_countJVM terminated线程数。
hive_metrics_threads_waiting_countJVM waiting线程数。
hive_metrics_threads_timed_waiting_countJVM timed_waiting线程数。
hive_metrics_memory_heap_maxJVM最大可用堆内存,单位:Byte。
hive_metrics_memory_heap_usedJVM已使用堆内存,单位:Byte。
hive_metrics_memory_non_heap_usedJVM已使用堆外内存量,单位:Byte。
hive_metrics_hs2_open_sessions当前打开的session数。
hive_metrics_hive_mapred_tasks提交的Hive on MR作业总数。
hive_metrics_hive_tez_tasks提交的Hive on Tez作业总数。
hive_metrics_cumulative_connection_count累计连接数。
hive_metrics_active_calls_api_runTasks当前runtask请求数。
hive_metrics_hs2_completed_sql_operation_FINISHED已结束的SQL总数。
hive_metrics_hs2_sql_operation_active_user当前活跃用户数。
hive_metrics_open_connections当前打开的连接数。
hive_metrics_api_PostHook_com_aliyun_emr_meta_hive_hook_LineageLoggerHook执行LineageLoggerHook的平均时间,单位:ms。
hive_metrics_api_hs2_sql_operation_PENDINGSQL任务处于PEEDING状态的平均时间,单位:ms。
hive_metrics_api_hs2_sql_operation_RUNNING运SQL任务处于RUNNING状态的平均时间,单位:ms。
hive_metrics_hs2_submitted_queries提交查询的平均时间,单位:ms。
hive_metrics_hs2_executing_queries执行查询的平均时间,单位:ms。
hive_metrics_hs2_succeeded_queries服务启动后成功的查询数。
hive_metrics_hs2_failed_queries服务启动后失败的查询数。

ZooKeeper指标[5]

ZooKeeper是一个分布式、高可用性的协调服务。ZooKeeper提供分布式配置服务、同步服务和命名注册等功能。

指标描述
zk_packets_receivedZooKeeper接收的包的数量。
zk_packets_sentZooKeeper发送的包的数量。
zk_avg_latencyZooKeeper平均请求延迟,单位:ms。
zk_min_latencyZooKeeper最小请求延迟,单位:ms。
zk_max_latencyZooKeeper最大请求延迟,单位:ms。
zk_watch_countZooKeeper watch的数量。
zk_znode_countZooKeeper znode的数量。
zk_num_alive_connectionsZooKeeper存活的连接数。
zk_outstanding_requestsZooKeeper排队请求的数量。当ZooKeeper超过了它的处理能力时,该值会增大。
zk_approximate_data_sizeZooKeeper的数据大小(近似值),单位:Byte。
zk_open_file_descriptor_countZooKeeper打开文件的数量。
zk_max_file_descriptor_countZooKeeper最大允许打开的文件数量。
zk_node_statusZooKeeper节点状态:-1:节点不可用。0:作为follower节点。1:作为leader节点。
zk_synced_followers同步的ZooKeeper服务数量。
  • 指标描述
    zk_packets_receivedZooKeeper接收的包的数量。
    zk_packets_sentZooKeeper发送的包的数量。
    zk_avg_latencyZooKeeper平均请求延迟,单位:ms。
    zk_min_latencyZooKeeper最小请求延迟,单位:ms。
    zk_max_latencyZooKeeper最大请求延迟,单位:ms。
    zk_watch_countZooKeeper watch的数量。
    zk_znode_countZooKeeper znode的数量。
    zk_num_alive_connectionsZooKeeper存活的连接数。
    zk_outstanding_requestsZooKeeper排队请求的数量。当ZooKeeper超过了它的处理能力时,该值会增大。
    zk_approximate_data_sizeZooKeeper的数据大小(近似值),单位:Byte。
    zk_open_file_descriptor_countZooKeeper打开文件的数量。
    zk_max_file_descriptor_countZooKeeper最大允许打开的文件数量。
    zk_node_statusZooKeeper节点状态:-1:节点不可用。0:作为follower节点。1:作为leader节点。
    zk_synced_followers同步的ZooKeeper服务数量。
  • 指标描述
    zk_packets_receivedZooKeeper接收的包的数量。
    zk_packets_sentZooKeeper发送的包的数量。
    zk_avg_latencyZooKeeper平均请求延迟,单位:ms。
    zk_min_latencyZooKeeper最小请求延迟,单位:ms。
    zk_max_latencyZooKeeper最大请求延迟,单位:ms。
    zk_watch_countZooKeeper watch的数量。
    zk_znode_countZooKeeper znode的数量。
    zk_num_alive_connectionsZooKeeper存活的连接数。
    zk_outstanding_requestsZooKeeper排队请求的数量。当ZooKeeper超过了它的处理能力时,该值会增大。
    zk_approximate_data_sizeZooKeeper的数据大小(近似值),单位:Byte。
    zk_open_file_descriptor_countZooKeeper打开文件的数量。
    zk_max_file_descriptor_countZooKeeper最大允许打开的文件数量。
    zk_node_statusZooKeeper节点状态:-1:节点不可用。0:作为follower节点。1:作为leader节点。
    zk_synced_followers同步的ZooKeeper服务数量。
  • 指标描述
    zk_packets_receivedZooKeeper接收的包的数量。
    zk_packets_sentZooKeeper发送的包的数量。
    zk_avg_latencyZooKeeper平均请求延迟,单位:ms。
    zk_min_latencyZooKeeper最小请求延迟,单位:ms。
    zk_max_latencyZooKeeper最大请求延迟,单位:ms。
    zk_watch_countZooKeeper watch的数量。
    zk_znode_countZooKeeper znode的数量。
    zk_num_alive_connectionsZooKeeper存活的连接数。
    zk_outstanding_requestsZooKeeper排队请求的数量。当ZooKeeper超过了它的处理能力时,该值会增大。
    zk_approximate_data_sizeZooKeeper的数据大小(近似值),单位:Byte。
    zk_open_file_descriptor_countZooKeeper打开文件的数量。
    zk_max_file_descriptor_countZooKeeper最大允许打开的文件数量。
    zk_node_statusZooKeeper节点状态:-1:节点不可用。0:作为follower节点。1:作为leader节点。
    zk_synced_followers同步的ZooKeeper服务数量。
指标描述
zk_packets_receivedZooKeeper接收的包的数量。
zk_packets_sentZooKeeper发送的包的数量。
zk_avg_latencyZooKeeper平均请求延迟,单位:ms。
zk_min_latencyZooKeeper最小请求延迟,单位:ms。
zk_max_latencyZooKeeper最大请求延迟,单位:ms。
zk_watch_countZooKeeper watch的数量。
zk_znode_countZooKeeper znode的数量。
zk_num_alive_connectionsZooKeeper存活的连接数。
zk_outstanding_requestsZooKeeper排队请求的数量。当ZooKeeper超过了它的处理能力时,该值会增大。
zk_approximate_data_sizeZooKeeper的数据大小(近似值),单位:Byte。
zk_open_file_descriptor_countZooKeeper打开文件的数量。
zk_max_file_descriptor_countZooKeeper最大允许打开的文件数量。
zk_node_statusZooKeeper节点状态:-1:节点不可用。0:作为follower节点。1:作为leader节点。
zk_synced_followers同步的ZooKeeper服务数量。

Kafka指标[6]

消息队列Kafka版是阿里云提供的分布式、高吞吐、可扩展的消息队列服务。消息队列Kafka版广泛用于日志收集、监控数据聚合、流式数据处理、在线和离线分析等大数据领域,已成为大数据生态中不可或缺的部分。

  • Kafka-HOME
  • Kafka-Broker
    • Status
    • Throughput
    • Performance
    • Storage
    • Request Rate
    • Request Time
    • MessageConversion
    • ZK session
    • JVM
  • Kafka-Topic
    • Status
    • Throughput
    • Request Rate
    • MessageConversion
    • Storage

Impala指标[7]

Impala为存储在Apache Hadoop中的数据提供了高性能和低延迟的SQL查询。

指标描述
impala_impala_server_resultset_cache_total_bytes结果集缓存大小,单位:Byte。
impala_num_executing_queries当前正在执行的查询数量。
impala_num_waiting_queries当前正在等待的查询数量。
impala_impala_server_query_durations_ms_95th95%的查询耗时时间,单位:ms。
impala_num_in_flight_queries集群正在in fight状态的查询数量。
impala_impala_server_query_durations_ms_75th75%的查询耗时时间,单位:ms。
impala_impala_thrift_server_CatalogService_svc_thread_wait_time_99_9thCatalog Service的客户端对服务线程的等待时间,单位:ms。
impala_impala_thrift_server_CatalogService_connection_setup_time_99_9th99%的Catalog Service客户端等待建立连接所花费的时间,单位:ms。
impala_impala_server_query_durations_ms_99_9th99%的查询耗时时间,单位:ms。
impala_impala_server_ddl_durations_ms_99_9th99%的DDL操作耗时时间,单位:ms。
impala_impala_server_query_durations_ms_90th90%的查询耗时时间,单位:ms。
impala_impala_server_ddl_durations_ms_90th90%的DDL操作耗时时间,单位:ms。
impala_impala_server_query_durations_ms_50th50%的查询耗时时间,单位:ms。
impala_impala_server_ddl_durations_ms_50th50%的DDL操作耗时时间,单位:ms。
impala_impala_server_ddl_durations_ms_95th95%的DDL操作耗时时间,单位:ms。
impala_impala_server_scan_ranges_num_missing_volume_id在进程生命周期内缺失volume id的scan range总数。
impala_impala_server_ddl_durations_ms_75th75%的DDL操作耗时时间,单位:ms。
impala_impala_server_num_queries_spilled任何运算符溢出的查询数。
impala_impala_server_scan_ranges_total在进程生命周期内读取的扫描范围总数。
impala_impala_server_num_queries_expired由于不活动而过期的查询数。
impala_impala_server_resultset_cache_total_num_rows结果集缓存记录数。
impala_impala_server_num_open_hiveserver2_sessions打开的HiveServer2会话数。
impala_impala_server_num_sessions_expired由于不活动而过期的会话数。
impala_impala_server_num_fragments_in_flight当前正在执行的查询片段实例的数量。
impala_impala_server_num_queries_registered在此Impala服务器实例上注册的查询总数。包括正在进行中并等待关闭的查询。
impala_impala_server_num_files_open_for_insert当前为写入而打开的HDFS文件数。
impala_impala_server_num_queries在进程生命周期内处理的查询总数。
impala_impala_server_hedged_read_ops在进程生命周期内尝试的hedged reads总数。
impala_impala_server_num_open_beeswax_sessions打开Beeswax会话的数量。
impala_impala_server_backend_num_queries_executed在进程的生命周期内在此后端执行的查询总数。
impala_impala_server_num_fragments在进程生命周期内处理的查询片段总数。
impala_rpc_impala_ControlService_rpcs_queue_overflowControlService由于服务队列溢出而被拒绝的传入RPC总数。
impala_impala_server_hedged_read_ops_winHedged read比常规读取操作快的总次数。
impala_mem_tracker_DataStreamService_current_usage_bytesMemtracker DataStreamService当前使用的字节数。
impala_impala_server_backend_num_queries_executing当前在此后端上执行的查询数。
impala_cluster_membership_executor_groups_total_healthy处于健康状态的执行器组总数。
impala_rpc_impala_DataStreamService_rpcs_queue_overflowDataStreamService由于服务队列溢出而被拒绝的传入RPC总数。
impala_cluster_membership_backends_total向statestore注册的后端总数。
impala_mem_tracker_DataStreamService_peak_usage_bytesMemtracker DataStreamService峰值使用的字节数。
impala_total_senders_blocked_on_recvr_creation已被阻止等待接收片段初始化的发件人总数。
impala_mem_tracker_ControlService_peak_usage_bytesMemtracker ControlService峰值使用字节数。
impala_simple_scheduler_local_assignments_total本地作业数。
impala_mem_tracker_ControlService_current_usage_bytesMemtracker ControlService当前使用字节数。
impala_memory_total_used已使用内存,单位:Byte。
impala_cluster_membership_executor_groups_total至少有一个执行程序的执行程序组总数。
impala_memory_rssRSS的内存大小,包括TCMalloc、缓冲池和JVM,单位:Byte。
impala_total_senders_timedout_waiting_for_recvr_creation超时等待接收片段初始化的发送者总数。
impala_senders_blocked_on_recvr_creation等待接收片段初始化的发送者数量。
impala_simple_scheduler_assignments_total作业数。
impala_memory_mapped_bytes进程中内存映射的总字节数(虚拟内存大小),单位:Byte。

HUE指标[8]

指标描述
hue_requests_response_time_avg请求响应时间平均值。
hue_requests_response_time_95_percentile95%的请求响应时间。
hue_requests_response_time_std_dev请求响应时间标准差。
hue_requests_response_time_median50%的请求响应时间。
hue_requests_response_time_75_percentile75%的请求响应时间。
hue_requests_response_time_count请求响应时间计数。
hue_requests_response_time_5m_rate最近5分钟的请求响应速率。
hue_requests_response_time_min请求响应时间最小值。
hue_requests_response_time_sum请求响应时间总和。
hue_requests_response_time_max请求响应时间的最大值。
hue_requests_response_time_mean_rate请求响应速率平均值。
hue_requests_response_time_99_percentile99%的最近一小时请求响应时间。
hue_requests_response_time_15m_rate最近15分钟请求响应速率。
hue_requests_response_time_999_percentile99.9%的请求响应时间。
hue_requests_response_time_1m_rate最近1分钟的请求响应速率。
hue_users_active_total活跃用户总数。
hue_users_active最近1小时的活跃用户数。
hue_users用户总数。
hue_threads_total当前线程总数。
hue_threads_daemon常驻线程数量。
hue_queries_number查询数量总和。
hue_requests_exceptions当前异常请求数。
hue_requests_active当前活跃请求数。

Kudu指标[9]

参数指标描述
op_apply_queue_length(99)kudu_op_apply_queue_length_percentile_9999%的操作队列的长度。
op_apply_queue_length(75)kudu_op_apply_queue_length_percentile_7575%的操作队列的长度。
op_apply_queue_length(mean)kudu_op_apply_queue_length_mean操作队列的长度的平均值。
rpc_incoming_queue_time(99)kudu_rpc_incoming_queue_time_percentile_9999%的RPC队列的等待时间,单位:μs。
rpc_incoming_queue_time(75)kudu_rpc_incoming_queue_time_percentile_7575%的RPC队列的等待时间,单位:μs。
rpc_incoming_queue_time(mean)kudu_rpc_incoming_queue_time_meanRPC队列的等待时间的平均值,单位:μs。
reactor_load_percent(99)kudu_reactor_load_percent_percentile_9999%的Reactor线程的负载。
reactor_load_percent(75)kudu_reactor_load_percent_percentile_7575%的Reactor线程的负载。
reactor_load_percent(mean)kudu_reactor_load_percent_meanReactor线程的负载的平均值。
op_apply_run_time(99)kudu_op_apply_run_time_percentile_9999%的操作执行时间,单位:μs。
op_apply_run_time(75)kudu_op_apply_run_time_percentile_7575%的操作执行时间,单位:μs。
op_apply_run_time(mean)kudu_op_apply_run_time_mean操作执行时间的平均值,单位:μs。
op_prepare_run_time(99)kudu_op_prepare_run_time_percentile_9999%的操作准备时间,单位:μs。
op_prepare_run_time(75)kudu_op_prepare_run_time_percentile_7575%的操作准备时间,单位:μs。
op_prepare_run_time(mean)kudu_op_prepare_run_time_mean操作准备时间的平均值,单位:μs。
flush_mrs_duration(99)kudu_flush_mrs_duration_percentile_9999%的MemRowSet flush时间,单位:ms。
flush_mrs_duration(75)kudu_flush_mrs_duration_percentile_7575%的MemRowSet flush时间,单位:ms。
flush_mrs_duration(mean)kudu_flush_mrs_duration_meanMemRowSet flush时间的平均值,单位:ms。
log_append_latency(99)kudu_log_append_latency_percentile_9999%的日志的append时间,单位:μs。
log_append_latency(75)kudu_log_append_latency_percentile_7575%的日志的append时间,单位:μs。
log_append_latency(mean)kudu_log_append_latency_mean日志的append时间的平均值,单位:μs。
flush_dms_duration(99)kudu_flush_dms_duration_percentile_9999%的DeltaMemStore flush时间,单位:ms。
flush_dms_duration(75)kudu_flush_dms_duration_percentile_7575%的DeltaMemStore flush时间,单位:ms。
flush_dms_duration(mean)kudu_flush_dms_duration_meanDeltaMemStore flush时间的平均值,单位:ms。
op_prepare_queue_length(99)kudu_op_prepare_queue_length_percentile_9999%的准备队列的长度。
op_prepare_queue_length(75)kudu_op_prepare_queue_length_percentile_7575%的准备队列的长度。
op_prepare_queue_length(mean)kudu_op_prepare_queue_length_mean准备队列的长度的平均值。
log_gc_duration(99)kudu_log_gc_duration_percentile_9999%的日志GC的时间,单位:ms。
log_gc_duration(75)kudu_log_gc_duration_percentile_7575%的日志GC的时间,单位:ms。
log_gc_duration(mean)kudu_log_gc_duration_mean日志GC的时间的平均值,单位:ms。
log_sync_latency(99)kudu_log_sync_latency_percentile_9999%的日志Sync的时间,单位:μs。
log_sync_latency(75)kudu_log_sync_latency_percentile_7575%的日志Sync的时间,单位:μs。
log_sync_latency(mean)kudu_log_sync_latency_mean日志Sync的时间的平均值,单位:μs。
prepare_queue_time(99)kudu_op_prepare_queue_time_percentile_9999%的操作在准备队列的等待时间,单位:μs。
prepare_queue_time(75)kudu_op_prepare_queue_time_percentile_7575%的操作在准备队列的等待时间,单位:μs。
prepare_queue_time(mean)kudu_op_prepare_queue_time_mean操作在准备队列的等待时间的平均值,单位:μs。
rpc_connections_acceptedkudu_rpc_connections_acceptedRPC请求接收的数量。
block_cache_usagekudu_block_cache_usageTserver Block缓存的使用量,单位:Byte。
active_scannerskudu_active_scanners处于Active状态的Scanner数量。
data_dirs_fullkudu_data_dirs_fullFull状态的数据目录个数。
rpcs_queue_overflowkudu_rpcs_queue_overflowRPC队列溢出次数。
cluster_replica_skewkudu_cluster_replica_skew服务器上承载的最多的tablet数量与最少的tablet数量的差值。
log_gc_runningkudu_log_gc_running正在GC的日志数量。
data_dirs_failedkudu_data_dirs_failed失效的数据目录个数。
leader_memory_pressure_rejectionskudu_leader_memory_pressure_rejections内存压力拒绝的请求个数。
transaction_memory_pressure_rejectionskudu_transaction_memory_pressure_rejections内存压力拒绝的事务个数。

ClickHouse指标[10]

EMR ClickHouse完全兼容开源版本的产品特性,并且在开源的基础上优化了读写性能,提升了ClickHouse与EMR其他组件快速集成的能力。

指标描述
clickhouse_server_events_ReplicatedPartFailedFetches数据无法从Replicated*MergeTree表中任一副本获取的次数。
clickhouse_server_events_ReplicatedPartChecksFailedReplicated*MergeTree表中数据检查失败的次数。
clickhouse_server_events_ReplicatedDataLossReplicated*MergeTree表中数据不在任何一个副本中的次数。
clickhouse_server_events_ReplicatedMetaDataChecksFailedReplicated*MergeTree表检查元数据失败的次数。
clickhouse_server_events_ReplicatedMetaDataLossReplicated*MergeTree表中元数据丢失的次数。
clickhouse_server_events_DuplicatedInsertedBlocks写入Replicated*MergeTree表中的Block重复的次数。
clickhouse_server_events_ZooKeeperUserExceptionsZookeeper中与ClickHouse状态相关错误出现的次数。
clickhouse_server_events_ZooKeeperHardwareExceptionsZooKeeper网络或类似的错误出现的次数。
clickhouse_server_events_ZooKeeperOtherExceptionsZooKeeper中非硬件或状态错误出现的次数。
clickhouse_server_events_DistributedConnectionFailTry分布式连接重试出错的次数。
clickhouse_server_events_DistributedConnectionMissingTable分布式连接无法找到表的次数。
clickhouse_server_events_DistributedConnectionStaleReplica分布式连接得到的副本不新鲜的次数。
clickhouse_server_events_DistributedConnectionFailAtAll在所有次重试结束后分布式连接失败的次数。
clickhouse_server_events_SlowReadSlow Read的次数。
clickhouse_server_events_ReadBackoff由于Slow Read导致的线程减少的次数。
clickhouse_server_metrics_BackgroundPoolTaskbackground_pool中的任务个数。
clickhouse_server_metrics_BackgroundMovePoolTaskbackground_move_pool中的任务个数。
clickhouse_server_metrics_BackgroundSchedulePoolTaskschedule_pool中的任务个数。
clickhouse_server_metrics_BackgroundBufferFlushSchedulePoolTaskbuffer_flush_schedule_pool中的任务个数。
clickhouse_server_metrics_BackgroundDistributedSchedulePoolTaskdistributed_schedule_pool中的任务个数。
clickhouse_server_metrics_BackgroundTrivialSchedulePoolTasktrivial_schedule_pool中的任务个数。
clickhouse_server_metrics_TCPConnectionTCP连接个数。
clickhouse_server_metrics_HTTPConnectionHTTP连接个数。
clickhouse_server_metrics_InterserverConnection用于从其他副本上获取数据的连接个数。
clickhouse_server_metrics_MemoryTrackingServer使用的总内存,单位:Byte。
clickhouse_server_metrics_MemoryTrackingInBackgroundProcessingPoolbackground_pool中任务执行所使用的内存,单位:Byte。
clickhouse_server_metrics_MemoryTrackingInBackgroundMoveProcessingPoolbackground_move_pool中任务执行所使用的内存,单位:Byte。
clickhouse_server_metrics_MemoryTrackingInBackgroundBufferFlushSchedulePoolbuffer_flush_schedule_pool中任务执行所使用的内存,单位:Byte。
clickhouse_server_metrics_MemoryTrackingInBackgroundSchedulePoolschedule_pool中任务执行所使用的内存,单位:Byte。
clickhouse_server_metrics_MemoryTrackingInBackgroundDistributedSchedulePooldistributed_schedule_pool中任务执行所使用的内存,单位:Byte。
clickhouse_server_metrics_MemoryTrackingInBackgroundTrivialSchedulePooltrivial_schedule_pool中任务执行所使用的内存,单位:Byte。
clickhouse_server_metrics_MemoryTrackingForMerges后台执行Merge时使用的内存,单位:Byte。

Flink指标[11]

Flink是一个流式数据流执行引擎,其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。

  • Overview
参数指标描述
Num Of RunningJobsnumRunningJobsJM中正在运行的作业数。
Job Uptimejob_uptime作业已运行时间,单位:ms。仅支持返回单个系列或表的查询。
TaskSlots AvailabletaskSlotsAvailable当前可用的TaskSlots数量。
TaskSlots TotaltaskSlotsTotalTaskSlots的总数量。
Num of TMnumRegisteredTaskManagers已注册的TM数量。
sourceIdleTimesourceIdleTime源没有处理任何记录的时间,单位:ms。
currentFetchEventTimeLagcurrentFetchEventTimeLag业务延时(fetch=数据发生时间与数据进入Flink Source时间之间的差值)。
currentEmitEventTimeLagcurrentEmitEventTimeLag业务延时(emit=数据发生时间与数据离开Flink Source时间之间的差值)。
  • Checkpoint
参数指标描述
Num of CheckpointstotalNumberOfCheckpoints检查点总数。
numberOfFailedCheckpoints失败的检查点数量。
numberOfCompletedCheckpoints已完成的检查点数量。
numberOfInProgressCheckpoints正在进行的检查点数量。
lastCheckpointDurationlastCheckpointDuration最近一个检查点完成时间,单位:ms。
lastCheckpointSizelastCheckpointSize最近一个检查点的大小,单位:Byte。
lastCheckpointRestoreTimestamplastCheckpointRestoreTimestamp协调器上最近一个检查点的恢复时间,单位:ms。
  • Network
参数指标描述
InPool UsageinPoolUsage输入缓冲区使用量。
OutPool UsageoutPoolUsage输出缓冲区使用量。
OutputQueue LengthoutputQueueLength输出缓冲区排队数量。
InputQueue LengthinputQueueLength输入缓冲区排队数量。
  • IO
参数指标描述
numBytesIn PerSecondnumBytesInLocalPerSecond每秒本地读取数据的字节数。
numBytesInRemotePerSecond每秒远端读取数据的字节数。
numBuffersInLocalPerSecond每秒本地读取网络缓冲区的数量。
numBuffersInRemotePerSecond每秒远端读取网络缓冲区的数量。
numBytesOut PerSecondnumBytesOutPerSecond每秒发出字节数。
numBuffersOutPerSecond每秒发出网络缓冲区的数量。
Task numRecords I/O PerSecondnumRecordsInPerSecond每秒接收的记录数。
numRecordsOutPerSecond每秒发出的记录数。
Task numRecords I/OnumRecordsIn接收的记录数。
numRecordsOut发出的记录数。
Operator CurrentSendTimecurrentSendTime发送最新一条记录的耗时时间,单位:ms。
  • Watermark
参数指标描述
Task InputWatermarkcurrentInputWatermark任务收到最后一个水印的时间,单位:ms。
Operator In/Out WatermarkcurrentInputWatermark算子收到最后一个水印的时间,单位:ms。
currentOutputWatermark算子发出最后一个水印的时间,单位:ms。
watermarkLagwatermarkLagWatermark滞后时间,单位:ms。
  • CPU
参数指标描述
JM CPU LoadCPU_LoadJM CPU使用率。
TM CPU LoadCPU_LoadTM CPU使用率。
CPU UsageCPU_UsageTM CPU使用率(基于ProcessTree)。
  • Memory
参数指标描述
以上是关于统一观测丨使用 Prometheus 监控 E-MapReduce,我们该关注哪些指标?的主要内容,如果未能解决你的问题,请参考以下文章

统一观测丨使用 Prometheus 监控云原生网关,我们该关注哪些指标?

统一观测丨使用 Prometheus 监控 Nginx Ingress 网关最佳实践

对比开源丨Prometheus 服务多场景存储压测全解析

实用干货丨如何使用Prometheus配置自定义告警规则

实用干货丨如何使用Prometheus配置自定义告警规则

在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践

(c)2006-2019 SYSTEM All Rights Reserved IT常识