一、kafka的安装方法参考:https://blog.csdn.net/u010533742/article/details/117260505

二、kafka_exporter部暑(指定版本为1.2)

mkdir /data/kafka_exporter -p
cat > /data/kafka_exporter/start.sh << 'EOF'
docker rm -f kafka_exporter
docker run -d \
--restart=always \
--name kafka_exporter \
-v /etc/localtime:/etc/localtime \
-p 9308:9308 \
danielqsj/kafka-exporter:v1.2.0 \
--kafka.server=192.168.11.192:9092 \
--kafka.server=192.168.11.193:9092 \
--kafka.server=192.168.11.194:9092 \
--sasl.enabled \
--sasl.username=alice \
--sasl.password=alice
EOF

kafka_exporter metrics的访问方法
http://192.168.11.192:9308/metrics

3、配置prometheus

#添加自动发现脚本
cat >> /data/prometheus/conf/prometheus.yml << 'EOF'
#kafka自动发现
  - job_name: 'kafka'
    file_sd_configs:
      - files:
        - /etc/prometheus/sd_config/kafka.yaml
        refresh_interval: 5s
    relabel_configs:
      - source_labels: [__address__]
        regex: (.*)
        target_label: instance
        replacement: $1
      - source_labels: [__address__]
        regex: (.*):(.*)
        target_label: __address__
        replacement: $1:9308
EOF
#自动发现配置
cat > /data/prometheus/conf/sd_config/kafka.yaml << 'EOF'
#kafka自动发现
- labels:
    project: 民生kafka
  targets:
  - 192.168.11.192:9092
  - 192.168.11.193:9092
  - 192.168.11.194:9092
EOF

访问 http://192.168.11.221:9090
kafka_brokers
在这里插入图片描述

4、配置grafana

grafanaid: 7589

在这里插入图片描述

自定义图表,请参考:https://blog.csdn.net/qq_34864753/article/details/103953385

5、警报规则

cat > /data/prometheus/conf/rules/kafka.rules  << 'EOF'
groups:
- name: kafka-监控告警    
  rules:
  - alert: 告警!Kafka Topics 副本数少于3
    expr: sum(kafka_topic_partition_in_sync_replica) by (topic) < 3
    for: 0m
    labels:
      severity: 严重告警
    annotations:
      summary: "{{ $labels.instance }} Kafka topics 副本数少于3"
      description: "Kafka topic 分区不同步\n  当前值 = {{ $value }}"

  - alert: 告警!KafkaConsumersGroup
    expr: sum(kafka_consumergroup_lag) by (consumergroup) > 50
    for: 1m
    labels:
      severity: 严重告警
    annotations:
      summary: "{{ $labels.instance }} Kafka consumers group"
      description: "Kafka consumers group\n  当前值 = {{ $value }}"
EOF
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐