• Prometheus指标


    Prometheus指标

    主要参数解释

    # 节点IP和端口(instance)
    例如:192.168.1.226:9100、192.168.1.227:9100、192.168.1.228:9100
    
    # HDFS-DataNode-IP和端口
    例如:192.168.1.226:30003、192.168.1.227:30003、192.168.1.228:30003
    
    # Yarn-NodeManager-IP和端口
    例如:192.168.1.226:30005、192.168.1.227:30005、192.168.1.228:30005
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    一、可用性监测(0代表存在异常或未启动,1代表运行中)

    # 各个节点的可用性监测
    up{job="node_exporter"}
    
    # hdfs-namenode可用性监测
    up{job="hdfs-namenode"}
    
    # hdfs-datanode可用性监测
    up{job="hdfs-datanode"}
    
    # yarn-resourcemanager可用性监测
    up{job="yarn-resourcemanager"}
    
    # yarn-nodemanager可用性监测
    up{job="yarn-nodemanager"}
    
    # zookeeper可用性监测
    up{job="zookeeper"}
    
    # kafka可用性监测
    up{job="kafka"}
    
    # hiveserver2可用性监测
    up{job="hiveserver2"}
    
    # metastore可用性监测
    up{job="metastore"}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    二、节点监测

    # 磁盘总容量
    node_filesystem_size_bytes{instance="节点IP和端口",mountpoint="/"}/1024/1024/1024
    
    # 磁盘可用容量
    node_filesystem_avail_bytes{instance="节点IP和端口",mountpoint="/"} /1024 /1024/1024
    
    # CPU负载
    node_load1{instance="节点IP和端口"}
    
    # CPU使用率
    100-avg(irate(node_cpu_seconds_total{mode="idle",instance="节点IP和端口"}[1m])) by (instance)*100
    
    # 内存饱和度
    sum((rate(node_vmstat_pgpgin{instance="节点IP和端口"}[1m])+rate(node_vmstat_pgpgout{instance="节点IP和端口"}[1m]))) by (instance)
    
    # 物理内存使用率
    (node_memory_MemTotal_bytes{instance="节点IP和端口"} - (node_memory_MemFree_bytes{instance="节点IP和端口"} + node_memory_Buffers_bytes{instance="节点IP和端口"} + node_memory_Cached_bytes{instance="节点IP和端口"}))/node_memory_MemTotal_bytes{instance="节点IP和端口"} * 100
    
    # SWAP内存使用率
    (node_memory_SwapTotal_bytes{instance="节点IP和端口"} - node_memory_SwapFree_bytes{instance="节点IP和端口"})/node_memory_SwapTotal_bytes{instance="节点IP和端口"} * 100
    
    # 磁盘分区使用率("/"分区)
    (node_filesystem_size_bytes{mountpoint="/",instance="节点IP和端口"} - node_filesystem_free_bytes{mountpoint="/",instance="节点IP和端口"})/node_filesystem_size_bytes{mountpoint="/",instance="节点IP和端口"} * 100
    
    # 磁盘吞吐量(每秒读速率)
    irate(node_disk_read_bytes_total{device="sda",instance="节点IP和端口"}[1m]) / 1024
    
    # 磁盘吞吐量(每秒写速率)
    irate(node_disk_written_bytes_total{device="sda",instance="节点IP和端口"}[1m]) / 1024
    
    # 磁盘IOPS(每秒读次数)
    irate(node_disk_reads_completed_total{device="sda",instance="节点IP和端口"}[1m])
    
    # 磁盘IOPS(每秒写次数)
    irate(node_disk_writes_completed_total{device="sda",instance="节点IP和端口"}[1m])
    
    # 网卡流量(下载流量总字节数)
    irate(node_network_receive_bytes_total{device != "lo",device !~ "docker.*",instance="节点IP和端口"}[1m]) / 1024
    
    # 网卡流量(上传流量总字节数)
    irate(node_network_transmit_bytes_total{device != "lo",device !~ "docker.*",instance="节点IP和端口"}[1m]) / 1024
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    三、服务监测

    1.HDFS监测
    # HDFS NameNode JVM堆内存使用率
    Hadoop_NameNode_MemHeapUsedM/Hadoop_NameNode_MemHeapMaxM * 100
    
    # HDFS DataNode JVM堆内存使用率
    Hadoop_DataNode_MemHeapUsedM{instance="HDFS-DataNode-IP和端口"}/Hadoop_DataNode_MemHeapMaxM{instance="HDFS-DataNode-IP和端口"} * 100
    
    # HDFS 容量使用率(百分比)
    Hadoop_NameNode_PercentUsed
    
    # HDFS:CPU 使用率
    sum(java_lang_OperatingSystem_ProcessCpuLoad{job=~"hdfs.*"})*100
    
    # HDFS:NameNode RPC请求平均处理时间 (单位:ms)
    Hadoop_NameNode_RpcProcessingTimeAvgTime{job="hdfs-namenode"}
    
    # HDFS:NameNode RPC处理队列长度 (无单位或1/个)
    Hadoop_NameNode_CallQueueLength{job="hdfs-namenode"}
    
    # HDFS:DataNode RPC请求平均处理时间 (单位:ms)
    Hadoop_DataNode_RpcProcessingTimeAvgTime{job="hdfs-datanode"}
    
    # HDFS:DataNode RPC处理队列长度 (无单位或1/个)
    Hadoop_DataNode_CallQueueLength{job="hdfs-datanode"}
    
    # HDFS:NameNode 线程阻塞数量(无单位或1/个)
    sum(Hadoop_NameNode_ThreadsBlocked{job="hdfs-namenode"})
    
    # HDFS:NameNode 线程等待数量(无单位或1/个)
    sum(Hadoop_NameNode_ThreadsWaiting{job="hdfs-namenode"})
    
    # HDFS:DataNode 线程阻塞数量(无单位或1/个)
    sum(Hadoop_DataNode_ThreadsBlocked{job="hdfs-datanode"})
    
    # HDFS:DataNode 线程等待数量(无单位或1/个)
    sum(Hadoop_DataNode_ThreadsWaiting{job="hdfs-datanode"})
    
    # HDFS:DataNode 当前已使用容量(单位:MB)
    Hadoop_NameNode_CapacityUsed{name="FSNamesystem"}/1024/1024
    
    # HDFS:DataNode 原始总容量(单位:GB)
    Hadoop_NameNode_CapacityTotal{name="FSNamesystem"}/1024/1024/1024
    
    # HDFS:当前运行正常的DataNode数量
    Hadoop_NameNode_NumLiveDataNodes
    
    # HDFS:当前运行异常的DataNode数量
    Hadoop_NameNode_NumDeadDataNodes
    
    # HDFS:当前分配的block数量
    Hadoop_NameNode_BlocksTotal{name="FSNamesystem"}
    
    # HDFS:NameNode接收字节速率(单位:B/s)
    irate(Hadoop_NameNode_ReceivedBytes[1m])
    
    # HDFS:NameNode发送字节速率(单位:B/s)
    irate(Hadoop_NameNode_SentBytes[1m])
    
    # HDFS:NameNode创建文件的操作总数
    Hadoop_NameNode_CreateFileOps
    
    # HDFS:NameNode删除文件的操作总数
    Hadoop_NameNode_DeleteFileOps
    
    # HDFS:NameNode当前连接数
    Hadoop_NameNode_TotalLoad{name="FSNamesystem"}
    
    # HDFS:NameNode当前文件和目录的数量
    Hadoop_NameNode_FilesTotal{name="FSNamesystem"}
    
    # HDFS:DataNode读取字节速率(单位:B/s)
    sum(irate(Hadoop_DataNode_BytesRead[1m]))
    
    # HDFS:DataNode写入字节速率(单位:B/s)
    sum(irate(Hadoop_DataNode_BytesWritten[1m]))
    
    # HDFS:DataNode读操作总数
    sum(Hadoop_DataNode_ReadBlockOpNumOps)
    
    # HDFS:DataNode写操作总数
    sum(Hadoop_DataNode_WriteBlockOpNumOps)
    
    # HDFS:DataNode接收字节速率(单位:B/s)
    sum(irate(Hadoop_DataNode_ReceivedBytes[1m]))
    
    # HDFS:DataNode发送字节速率(单位:B/s)
    sum(irate(Hadoop_DataNode_SentBytes[1m]))
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    2.Yarn监测
    # Yarn ResourceManager JVM堆内存使用率
    Hadoop_ResourceManager_MemHeapUsedM/Hadoop_ResourceManager_MemHeapMaxM * 100
    
    # Yarn NodeManager JVM堆内存使用率
    Hadoop_NodeManager_MemHeapUsedM{instance="Yarn-NodeManager-IP和端口"}/Hadoop_NodeManager_MemHeapMaxM{instance="Yarn-NodeManager-IP和端口"} * 100
    
    # Yarn:CPU 使用率
    sum(java_lang_OperatingSystem_ProcessCpuLoad{job=~"yarn.*"})*100
    
    # Yarn:ResourceManager RPC请求平均处理时间(单位:ms)
    Hadoop_ResourceManager_RpcProcessingTimeAvgTime{job="yarn-resourcemanager"}
    
    # Yarn:ResourceManager RPC处理队列长度(无单位或1/个)
    Hadoop_ResourceManager_CallQueueLength{job="yarn-resourcemanager"}
    
    # Yarn:NodeManager RPC请求平均处理时间(单位:ms)
    Hadoop_NodeManager_RpcProcessingTimeAvgTime{job="yarn-nodemanager"}
    
    # Yarn:NodeManager RPC处理队列长度(无单位或1/个)
    Hadoop_NodeManager_CallQueueLength{job="yarn-nodemanager"}
    
    # Yarn:ResourceManager 线程阻塞数量(无单位或1/个)
    sum(Hadoop_ResourceManager_ThreadsBlocked{job="yarn-resourcemanager"})
    
    # Yarn:NodeManager 线程阻塞数量(无单位或1/个)
    sum(Hadoop_NodeManager_ThreadsBlocked{job="yarn-nodemanager"})
    
    # Yarn:ResourceManager 线程等待数量(无单位或1/个)
    sum(Hadoop_ResourceManager_ThreadsWaiting{job="yarn-resourcemanager"})
    
    # Yarn:NodeManager 线程等待数量(无单位或1/个)
    sum(Hadoop_NodeManager_ThreadsWaiting{job="yarn-nodemanager"})
    
    # Yarn:NM存活节点数量统计
    Hadoop_ResourceManager_NumActiveNMs
    
    # Yarn:NM丢失节点数量统计
    Hadoop_ResourceManager_NumLostNMs
    
    # Yarn:NM不健康节点数量统计
    Hadoop_ResourceManager_NumUnhealthyNMs
    
    # Yarn:app运行数量
    sum(Hadoop_ResourceManager_AppsRunning{q1 != ""})
    
    # Yarn:app提交数量
    sum(Hadoop_ResourceManager_AppsSubmitted{q1 != ""})
    
    # Yarn:app等待数量
    sum(Hadoop_ResourceManager_AppsPending{q1 != ""})
    
    # Yarn:app完成数量
    sum(Hadoop_ResourceManager_AppsCompleted{q1 != ""})
    
    # Yarn:app被kill的数量
    sum(Hadoop_ResourceManager_AppsKilled{q1 != ""})
    
    # Yarn:app失败数量
    sum(Hadoop_ResourceManager_AppsFailed{q1 != ""})
    
    # Yarn:已分配的内存大小
    sum(Hadoop_ResourceManager_AllocatedMB{q1 != ""})
    
    # Yarn:已分配的核数量
    sum(Hadoop_ResourceManager_AllocatedVCores{q1 != ""})
    
    # Yarn:已分配的Container数量
    sum(Hadoop_ResourceManager_AllocatedContainers{q1 != ""})
    
    # Yarn:可用的内存大小(单位:MB)
    sum(Hadoop_ResourceManager_AvailableMB{q1 != ""})
    
    # Yarn:1min内NM心跳汇报次数
    increase(Hadoop_ResourceManager_NodeUpdateNumOps[1m])
    
    # Yarn:NM心跳汇报处理时间
    Hadoop_ResourceManager_NodeUpdateAvgTime
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    3.Hive监测
    # Hive:CPU 使用率
    sum(java_lang_OperatingSystem_ProcessCpuLoad{job=~"hiveserver2|metastore"})*100
    
    # Hive:JVM堆内存使用率
    sum(jvm_memory_bytes_used{job=~"hiveserver2|metastore",area="heap"})/sum(jvm_memory_bytes_max{job=~"hiveserver2|metastore",area="heap"})*100
    
    # Hive:JVM GC Time(单位:ms)
    increase(jvm_gc_collection_seconds_sum{job=~"hiveserver2|metastore"}[5m]) * 1000
    
    # Hive:JVM GC Count(无单位)
    increase(jvm_gc_collection_seconds_count{job=~"hiveserver2|metastore"}[5m])
    
    # Hive:jvm当前线程数量(无单位)
    sum(jvm_threads_current{job=~"hiveserver2|metastore"})
    
    # Hive:jvm后台线程数量(无单位)
    sum(jvm_threads_daemon{job=~"hiveserver2|metastore"})
    
    # Hive:jvm死锁线程数量(无单位)
    sum(jvm_threads_deadlocked{job=~"hiveserver2|metastore"})
    
    # Hive:jvm线程阻塞数量(无单位)
    sum(jvm_threads_state{job=~"hiveserver2|metastore",state="BLOCKED"})
    
    # Hive:jvm线程等待数量(无单位)
    sum(jvm_threads_state{job=~"hiveserver2|metastore",state="WAITING"})
    
    # Hive:当前jvm已加载类数量(无单位)
    sum(jvm_classes_loaded_total{job=~"hiveserver2|metastore"})
    
    # Hive:用户和系统的总cpu使用时间(单位:s)
    max(process_cpu_seconds_total{job=~"hiveserver2|metastore"})
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    4.Kafka监测
    # Kafka:CPU使用率(%)
    irate(process_cpu_seconds_total{job="kafka"}[5m])*100
    
    # Kafka:JVM内存使用情况(单位:MiB)
    sum without(area)(jvm_memory_bytes_used{job="kafka"}) / 1024 / 1024
    
    # Kafka:Broker网络吞吐量-流入(单位:B/s)
    sum(rate(kafka_server_brokertopicmetrics_bytesinpersec{job="kafka",topic!=""}[5m]))
    
    # Kafka:Broker网络吞吐量-流出(单位:B/s)
    sum(rate(kafka_server_brokertopicmetrics_bytesoutpersec{job="kafka",topic!=""}[5m]))
    
    # Kafka:激活状态控制器数量(无单位)
    sum(kafka_controller_kafkacontroller_activecontrollercount{job="kafka"})
    
    # Kafka:在线分区数(无单位)
    sum(kafka_server_replicamanager_partitioncount{job="kafka"})
    
    # Kafka:离线分区数(无单位)
    sum(kafka_controller_kafkacontroller_offlinepartitionscount{job="kafka"})
    
    # Kafka:在线Broker数量(无单位)
    count(kafka_server_replicamanager_leadercount{job="kafka"})
    
    # Kafka:Broker消息速率(io/s)
    sum without(topic)(rate(kafka_server_brokertopicmetrics_messagesinpersec{job="kafka"}[5m]))
    
    # Kafka:Broker入站流量速率(B/s)
    sum without(topic)(rate(kafka_server_brokertopicmetrics_bytesinpersec{job="kafka"}[5m]))
    
    # Kafka:Broker出站流量速率(B/s)
    sum without(topic)(rate(kafka_server_brokertopicmetrics_bytesoutpersec{job="kafka"}[5m]))
    
    # Kafka:topic消息速率(io/s)
    sum without(instance)(rate(kafka_server_brokertopicmetrics_messagesinpersec{job="kafka",topic!=""}[5m]))
    
    # Kafka:topic入站流量速率(B/s)
    sum without(instance)(rate(kafka_server_brokertopicmetrics_bytesinpersec{job="kafka",topic!=""}[5m]))
    
    # Kafka:topic出站流量速率(B/s)
    sum without(instance)(rate(kafka_server_brokertopicmetrics_bytesoutpersec{job="kafka",topic!=""}[5m]))
    
    # Kafka:I-O线程池平均空闲比例(%)
    kafka_server_kafkarequesthandlerpool_requesthandleravgidlepercent_total{job="kafka"}
    
    # Kafka:活跃连接数
    sum(kafka_server_socketservermetrics_connection_count{job="kafka"}) by (instance, listener)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    5.Zookeeper监测
    # Zookeeper:Quorum Size(无单位)
    zookeeper_QuorumSize{job="zookeeper"}
    
    # Zookeeper:Follower个数(无单位)
    avg(zookeeper_QuorumSize{job="zookeeper"}) -1
    
    # Zookeeper:健康检查(Ticktime)(单位:ms)
    avg(zookeeper_TickTime{job="zookeeper"}) by (instance)
    
    # Zookeeper:平均请求延迟
    zookeeper_AvgRequestLatency{job="zookeeper"}
    
    # Zookeeper:Znode个数
    zookeeper_InMemoryDataTree_NodeCount{job="zookeeper"}
    
    # Zookeeper:活跃连接数
    zookeeper_NumAliveConnections{job="zookeeper"}
    
    # Zookeeper:未完成请求数
    zookeeper_OutstandingRequests{job="zookeeper"}
    
    # Zookeeper:监视器数量
    zookeeper_InMemoryDataTree_WatchCount{job="zookeeper"}
    
    # Zookeeper:JVM GC Time(单位:ms)
    increase(jvm_gc_collection_seconds_sum{job="zookeeper"}[5m]) * 1000
    
    # Zookeeper:JVM GC Count(无单位)
    increase(jvm_gc_collection_seconds_count{job="zookeeper"}[5m])
    
    # Zookeeper:JVM堆内存使用率(%)
    jvm_memory_bytes_used{job="zookeeper", area="heap"}/jvm_memory_bytes_max{job="zookeeper", area="heap"}*100
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
  • 相关阅读:
    python从视频中取图片
    RHCE之路配置本地DNS服务器的正反向解析
    Java日志 -slf4j、logback、log4j2、springboot中日志
    rxbinding
    什么是神经网络?用代码示例解析其工作原理
    VueUI Day01(7.29)Vue 组件库、Vue 组件库、NavMenu 组件、ElementUI 的布局相关组件
    有免代码开发平台,还需要学习软件工程吗?
    python打卡提醒机器人(企业微信)
    【SwiftUI模块】0051、SwiftUI搭建Note笔记应用程序UI,适用于iOS和macOS平台
    【32-业务开发-基础业务-规格参数-保存数据-查询数据-更新操作之数据回显展示-更新操作-前后端项目交互整合与测试-总结收获】
  • 原文地址:https://blog.csdn.net/weixin_43757056/article/details/137977465