本文采用Prometheus+jmx_prometheus_javaagent-xxx.jar+Grafana方法;
相关文件见文章末尾:
1.上传jmx_prometheus_javaagent-xxx.jar和hs2.yaml文件到hive机器(文件位置自己定,本文如下图)
2./usr/local/service/hive/bin/hive 文件添加jmx配置,如图:
黄框或者绿框其一即可。(由于腾讯hive包的问题,有绿色框内容不存在的情况出现)
-javaagent:/data/jmx/jmx_prometheus_javaagent-0.13.0.jar=9400:/data/jmx/hs2.yaml
3.prometheus configs 添加 h2s-emr-chusjwow.json 文件
[
{
"targets": ["10.89.98.69:9400","10.89.98.146:9400","10.89.98.209:9400","10.89.98.188:9400","10.89.98.224:9400","10.89.98.30:9400","10.89.98.222:9400","10.89.98.8:9400"]
}
]
4.prometheus.yml中添加配置,并reload
- job_name: 'hs2-emr-chusjwow'
file_sd_configs:
- files:
- configs/hs2-emr-chusjwow.json
附件:
hs2.yaml
rules:
- pattern: '.*'
hiveserver2监控指标
指标 | 描述 |
metrics_hs2_active_sessions_Value | 当前活跃的session个数。 |
metrics_memory_total_init_Value | JVM初始化总内存,单位:Byte。 |
metrics_memory_total_committed_Value | JVM已预留总内存,单位:Byte。 |
metrics_memory_total_max_Value | JVM最大可用总内存,单位:Byte。 |
metrics_memory_heap_committed_Value | JVM已预留堆内存,单位:Byte。 |
metrics_memory_heap_init_Value | JVM初始化堆内存,单位:Byte。 |
metrics_memory_non_heap_committed_Value | JVM已预留堆外内存,单位:Byte。 |
metrics_memory_non_heap_init_Value | JVM初始化堆外内存,单位:Byte。 |
metrics_memory_non_heap_max_Value | JVM最大可用堆外内存,单位:Byte。 |
metrics_gc_PS_MarkSweep_count_Value | JVM PS MarkSweep GC次数。 |
metrics_gc_PS_MarkSweep_time_Value | JVM PS MarkSweep GC时间,单位:ms。 |
metrics_gc_PS_Scavenge_time_Value | JVM PS Scavenge GC时间,单位:ms。 |
metrics_threads_daemon_count_Value | JVM daemon线程数。 |
metrics_threads_count_Value | JVM线程数。 |
metrics_threads_blocked_count_Value | JVM blocked线程数。 |
metrics_threads_deadlock_count_Value | JVM deadlock线程数。 |
metrics_threads_new_count_Value | JVM new状态线程数。 |
metrics_threads_runnable_count_Value | JVM runnable线程数。 |
metrics_threads_terminated_count_Value | JVM terminated线程数。 |
metrics_threads_waiting_count_Value | JVM waiting线程数。 |
metrics_threads_timed_waiting_count_Value | JVM timed_waiting线程数。 |
metrics_memory_heap_max_Value | JVM最大可用堆内存,单位:Byte。 |
metrics_memory_heap_used_Value | JVM已使用堆内存,单位:Byte。 |
metrics_memory_non_heap_used_Value | JVM已使用堆外内存量,单位:Byte。 |
metrics_hs2_open_sessions_Value | 当前打开的session数。 |
metrics_hive_tez_tasks_Count | 提交的Hive on Tez作业总数。 |
metrics_cumulative_connection_count_Count | 累计连接数。 |
metrics_active_calls_api_runTasks_Count | 当前runtask请求数。 |
metrics_hs2_completed_sql_operation_FINISHED_Count | 已结束的SQL总数。 |
metrics_hs2_sql_operation_active_user_Count | 当前活跃用户数。 |
metrics_open_connections_Count | 当前打开的连接数。 |
metrics_api_hs2_sql_operation_PENDING | SQL任务处于PEEDING状态的平均时间,单位:ms。 |
metrics_api_hs2_sql_operation_RUNNING | 运SQL任务处于RUNNING状态的平均时间,单位:ms。 |
metrics_hs2_submitted_queries | 提交查询的平均时间,单位:ms。 |
metrics_hs2_executing_queries | 执行查询的平均时间,单位:ms。 |
metrics_hs2_succeeded_queries | 服务启动后成功的查询数。 |
metrics_hs2_failed_queries | 服务启动后失败的查询数。 |
jvm_gc_collection_seconds_count | FGC时长 |
jvm_gc_collection_seconds_count | FGC次数 |
jvm_classes_loaded | 获取当前jvm已加载类数量 | 加载了多少class线程数以及待加载的class数 |
jvm_classes_loaded_total | 从jvm运行开始加载的类的数量 |
jvm_classes_unloaded_total | jvm运行后卸载的类数量 |
jvm_threads_peak | 峰值线程数 |