美文网首页
Kafka监控

Kafka监控

作者: 诺之林 | 来源:发表于2020-11-17 10:46 被阅读0次

本文的示例代码参考kafka-demo

目录

服务

wget https://mirror.bit.edu.cn/apache/kafka/2.6.0/kafka_2.13-2.6.0.tgz

tar xf kafka_2.13-2.6.0.tgz && cd kafka_2.13-2.6.0

./bin/zookeeper-server-start.sh config/zookeeper.properties

./bin/kafka-server-start.sh config/server.properties

./bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092

./bin/kafka-topics.sh --list --bootstrap-server localhost:9092
# quickstart-events

监控

CMAK

java -version
# java version "11.0.8" 2020-07-14 LTS

git clone https://github.com/yahoo/CMAK.git && cd CMAK

./sbt clean dist

unzip target/universal/cmak-3.0.0.5.zip

cd cmak-3.0.0.5

sed -i "" 's/kafka-manager-zookeeper/127.0.0.1/g' conf/application.conf

./bin/cmak
image.png
vim provider.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from kafka import KafkaProducer
import time


producer = KafkaProducer(bootstrap_servers='127.0.0.1:9092')
while True:
    for i in range(10):
        producer.send('quickstart-events',
                      '{}'.format(i).encode(encoding="utf-8"))
        time.sleep(5)
pipenv run python provider.py
vim consumer.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from kafka import KafkaConsumer


consumer = KafkaConsumer(
    'quickstart-events', group_id='group-id', bootstrap_servers=['127.0.0.1:9092'])
for msg in consumer:
    print(msg)
pipenv run python consumer.py

Burrow

方法1 源码安装

go version
# go version go1.14.2 darwin/amd64

git clone https://github.com/linkedin/Burrow.git && cd Burrow

go mod tidy

go install

go env | grep GOPATH
# GOPATH="/Users/kevin/go"

# 修改配置config/burrow.toml
# ZooKeeper servers=[ "127.0.0.1:2181" ]
# Kafka servers=[ "127.0.0.1:9092" ]
# 注释配置[notifier.default]

/Users/kevin/go/bin/Burrow --config-dir ./config

方案2 二进制安装

mkdir Burrow_1.3.4

tar xf Burrow_1.3.4_darwin_amd64.tar.gz -C Burrow_1.3.4 && cd Burrow_1.3.4

# 修改配置config/burrow.toml
# ZooKeeper servers=[ "127.0.0.1:2181" ]
# Kafka servers=[ "127.0.0.1:9092" ]
# 注释配置[notifier.default]

./burrow --config-dir ./config

API参考HTTP Endpoint

curl http://localhost:8000/v3/kafka | python3 -m json.tool
{
    "error": false,
    "message": "cluster list returned",
    "clusters": [
        "local"
    ],
    "request": {
        "url": "/v3/kafka",
        "host": "yuanlindeiMac.local"
    }
}
curl http://localhost:8000/v3/kafka/local/consumer | python3 -m json.tool
{
    "error": false,
    "message": "consumer list returned",
    "consumers": [
        "burrow-local",
        "KMOffsetCache-yuanlindeiMac.local",
        "group-id"
    ],
    "request": {
        "url": "/v3/kafka/local/consumer",
        "host": "yuanlindeiMac.local"
    }
}
curl http://localhost:8000/v3/kafka/local/consumer/group-id/status | python3 -m json.tool
{
    "error": false,
    "message": "consumer status returned",
    "status": {
        "cluster": "local",
        "group": "group-id",
        "status": "OK",
        "complete": 1,
        "partitions": [],
        "partition_count": 1,
        "maxlag": {
            "topic": "quickstart-events",
            "partition": 0,
            "owner": "",
            "client_id": "",
            "status": "OK",
            "start": {
                "offset": 9409,
                "timestamp": 1605580756934,
                "observedAt": 1605580756000,
                "lag": 0
            },
            "end": {
                "offset": 9423,
                "timestamp": 1605580826991,
                "observedAt": 1605580826000,
                "lag": 0
            },
            "current_lag": 35,
            "complete": 1
        },
        "totallag": 35
    },
    "request": {
        "url": "/v3/kafka/local/consumer/group-id/status",
        "host": "yuanlindeiMac.local"
    }
}

参考

相关文章

网友评论

      本文标题:Kafka监控

      本文链接:https://www.haomeiwen.com/subject/wtcjbktx.html