赞
踩
本文采用Prometheus+jmx_prometheus_javaagent-xxx.jar+Grafana方法;
相关文件见文章末尾:
1.上传jmx_prometheus_javaagent-xxx.jar和kafka.yml文件到kakfa机器(文件位置自己定,本文如下图)
2.在bin/kafka-server-start.sh中添加配置
export KAFKA_OPTS="-javaagent:/opt/bdp/server/kafka-monitor/jmx_prometheus_javaagent-0.13.0.jar=9700:/opt/bdp/server/kafka-monitor/kafka.yml"
3.在prometheus/configs中添加 kafka.json(名字自定义)
格式如下:
- [
-
- {
-
- "targets": ["xx.xx.xx.xx:9700","xx.xx.xx.xx:9700","xx.xx.xx.xx:9700"]
-
- }
-
- ]
4.在prometheus.yml中添加配置,并重启prometheus
- job_name: 'kafka'
-
- file_sd_configs:
-
- files:
-
- configs/kafka.json
5.Grafana引入kafka Dashboard。
附件:
kafka.yml:
-
- wercaseOutputName: true
- rules:
- - pattern : kafka.cluster<type=(.+), name=(.+), topic=(.+), partition=(.+)><>Value
- name: kafka_cluster_$1_$2
- labels:
- topic: "$3"
- partition: "$4"
- - pattern : kafka.log<type=Log, name=(.+), topic=(.+), partition=(.+)><>Value
- name: kafka_log_$1
- labels:
- topic: "$2"
- partition: "$3"
- - pattern : kafka.controller<type=(.+), name=(.+)><>(Count|Value)
- name: kafka_controller_$1_$2
- - pattern : kafka.network<type=(.+), name=(.+)><>Value
- name: kafka_network_$1_$2
- - pattern : kafka.network<type=(.+), name=(.+)PerSec, request=(.+)><>Count
- name: kafka_network_$1_$2_total
- labels:
- request: "$3"
- - pattern : kafka.network<type=(.+), name=(\w+), networkProcessor=(.+)><>Count
- name: kafka_network_$1_$2
- labels:
- request: "$3"
- type: COUNTER
- - pattern : kafka.network<type=(.+), name=(\w+), request=(\w+)><>Count
- name: kafka_network_$1_$2
- labels:
- request: "$3"
- - pattern : kafka.network<type=(.+), name=(\w+)><>Count
- name: kafka_network_$1_$2
- - pattern : kafka.server<type=(.+), name=(.+)PerSec\w*, topic=(.+)><>Count
- name: kafka_server_$1_$2_total
- labels:
- topic: "$3"
- - pattern : kafka.server<type=(.+), name=(.+)PerSec\w*><>Count
- name: kafka_server_$1_$2_total
- type: COUNTER
-
- - pattern : kafka.server<type=(.+), name=(.+), clientId=(.+), topic=(.+), partition=(.*)><>(Count|Value)
- name: kafka_server_$1_$2
- labels:
- clientId: "$3"
- topic: "$4"
- partition: "$5"
- - pattern : kafka.server<type=(.+), name=(.+), topic=(.+), partition=(.*)><>(Count|Value)
- name: kafka_server_$1_$2
- labels:
- topic: "$3"
- partition: "$4"
- - pattern : kafka.server<type=(.+), name=(.+), topic=(.+)><>(Count|Value)
- name: kafka_server_$1_$2
- labels:
- topic: "$3"
- type: COUNTER
-
- - pattern : kafka.server<type=(.+), name=(.+), clientId=(.+), brokerHost=(.+), brokerPort=(.+)><>(Count|Value)
- name: kafka_server_$1_$2
- labels:
- clientId: "$3"
- broker: "$4:$5"
- - pattern : kafka.server<type=(.+), name=(.+), clientId=(.+)><>(Count|Value)
- name: kafka_server_$1_$2
- labels:
- clientId: "$3"
- - pattern : kafka.server<type=(.+), name=(.+)><>(Count|Value)
- name: kafka_server_$1_$2
-
- - pattern : kafka.(\w+)<type=(.+), name=(.+)PerSec\w*><>Count
- name: kafka_$1_$2_$3_total
- - pattern : kafka.(\w+)<type=(.+), name=(.+)PerSec\w*, topic=(.+)><>Count
- name: kafka_$1_$2_$3_total
- labels:
- topic: "$4"
- type: COUNTER
- - pattern : kafka.(\w+)<type=(.+), name=(.+)PerSec\w*, topic=(.+), partition=(.+)><>Count
- name: kafka_$1_$2_$3_total
- labels:
- topic: "$4"
- partition: "$5"
- type: COUNTER
- - pattern : kafka.(\w+)<type=(.+), name=(.+)><>(Count|Value)
- name: kafka_$1_$2_$3_$4
- type: COUNTER
- - pattern : kafka.(\w+)<type=(.+), name=(.+), (\w+)=(.+)><>(Count|Value)
- name: kafka_$1_$2_$3_$6
- labels:
- "$4": "$5"
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。