Kafka 消费者度量集编辑

此功能处于测试阶段,可能会发生更改。设计和代码不如正式 GA 功能成熟,并且按现状提供,不提供任何担保。测试版功能不受正式 GA 功能支持 SLA 的约束。

此度量集会定期从使用 Java 实现的 Kafka 消费者中获取 JMX 度量,并通过 jolokia 代理公开 JMX 度量。

兼容性编辑

该模块已在 Kafka 2.1.1 和 2.2.2 上进行测试。其他版本预计也可以正常工作。

用法编辑

消费者度量集需要 Jolokia 来获取 JMX 度量。有关 Jolokia 的更多信息,请参阅链接。

请注意,Jolokia 代理需要与 JVM 应用程序一起部署。这可以通过在启动 Kafka 消费者应用程序时使用 KAFKA_OPTS 环境变量来实现。

export KAFKA_OPTS=-javaagent:/opt/jolokia-jvm-1.5.0-agent.jar=port=8774,host=localhost
./bin/kafka-console-consumer.sh --topic=test --bootstrap-server=localhost:9091

然后就可以从 localhost:8774 收集 JMX 度量。

字段

有关度量集中每个字段的描述,请参阅 导出字段 部分。

这是一个由该度量集生成的示例文档

{
    "@timestamp": "2019-10-31T13:22:06.700Z",
    "@metadata": {
        "beat": "metricbeat",
        "type": "_doc",
        "version": "8.0.0"
    },
    "kafka": {
        "consumer": {
            "bytes_consumed": 2.9521300228e+10,
            "fetch_rate": 0,
            "records_consumed": 1.23075656e+08,
            "mbean": "kafka.consumer:client-id=consumer-1,type=consumer-fetch-manager-metrics"
        }
    },
    "event": {
        "dataset": "kafka.consumer",
        "module": "kafka",
        "duration": 7042831
    },
    "ecs": {
        "version": "1.2.0"
    },
    "host": {
        "name": "pr.local",
        "hostname": "pr.local",
        "architecture": "x86_64",
        "os": {
            "kernel": "18.7.0",
            "build": "18G95",
            "platform": "darwin",
            "version": "10.14.6",
            "family": "darwin",
            "name": "Mac OS X"
        },
        "id": "883134FF-0EC4-5E1B-9F9E-FD06FB681D84"
    },
    "agent": {
        "hostname": "pr.local",
        "id": "79dd1677-1bea-4efd-9131-e8ca464eddf0",
        "version": "8.0.0",
        "type": "metricbeat",
        "ephemeral_id": "e40f5843-d3aa-4bdc-a100-64022b70851b"
    },
    "metricset": {
        "name": "consumer",
        "period": 10000
    },
    "service": {
        "address": "localhost:8774",
        "type": "kafka"
    }
}