Kafka 生产者 metricset

编辑

此功能处于测试阶段,可能随时更改。其设计和代码不如正式 GA 功能成熟,按原样提供,不提供任何担保。测试版功能不受正式 GA 功能支持服务等级协议 (SLA) 的约束。

此 metricset 定期从用 Java 实现的 Kafka 生产者中获取 JMX 指标,并通过 Jolokia 代理公开 JMX 指标。

兼容性

编辑

该模块已通过 Kafka 2.1.1 和 2.2.2 测试。预期其他版本也能正常工作。

用法

编辑

生产者 metricset 需要 Jolokia 来获取 JMX 指标。有关 Jolokia 的更多信息,请参阅链接。

请注意,需要将 Jolokia 代理与 JVM 应用程序一起部署。启动 Kafka 生产者应用程序时,可以使用 KAFKA_OPTS 环境变量来实现此目的。

export KAFKA_OPTS=-javaagent:/opt/jolokia-jvm-1.5.0-agent.jar=port=8775,host=localhost
./bin/kafka-console-producer.sh --topic test --broker-list localhost:9091

然后就可以从 localhost:8775 收集 JMX 指标了。

字段

有关 metricset 中每个字段的说明,请参阅 导出字段 部分。

以下是此 metricset 生成的示例文档。

{
    "@timestamp": "2019-10-31T10:19:14.758Z",
    "@metadata": {
        "beat": "metricbeat",
        "type": "_doc",
        "version": "8.0.0"
    },
    "metricset": {
        "name": "producer",
        "period": 10000
    },
    "ecs": {
        "version": "1.2.0"
    },
    "host": {
        "os": {
            "name": "Mac OS X",
            "kernel": "18.7.0",
            "build": "18G95",
            "platform": "darwin",
            "version": "10.14.6",
            "family": "darwin"
        },
        "id": "883134FF-0EC4-5E1B-9F9E-FD06FB681D84",
        "hostname": "abc.local",
        "name": "abc.local",
        "architecture": "x86_64"
    },
    "agent": {
        "type": "metricbeat",
        "ephemeral_id": "b95327e7-2737-4262-a1a6-ab8547fc8c8d",
        "hostname": "abc.local",
        "id": "79dd1677-1bea-4efd-9131-e8ca464eddf0",
        "version": "8.0.0"
    },
    "service": {
        "address": "localhost:8775",
        "type": "kafka"
    },
    "event": {
        "dataset": "kafka.producer",
        "module": "kafka",
        "duration": 4485726
    },
    "kafka": {
        "producer": {
            "response_rate": 0,
            "request_rate": 0,
            "record_send_rate": 0,
            "batch_size_avg": 0,
            "record_size_avg": 0,
            "record_retry_rate": 0,
            "records_per_request": 0,
            "io_wait": 1.2487715219630156e+07,
            "mbean": "kafka.producer:client-id=console-producer,type=producer-metrics",
            "available_buffer_bytes": 0,
            "record_error_rate": 737.5234685412391
        }
    }
}