首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过使用topicName向influxDb发送Kafka,添加基于JmxTrans的自定义标记(通配符)

通过使用topicName向influxDb发送Kafka,添加基于JmxTrans的自定义标记(通配符)
EN

Stack Overflow用户
提问于 2020-05-14 03:27:12
回答 1查看 296关注 0票数 0

基本上,我想要实现的是获取卡夫卡中所有主题的MessageInPerSec度量,并将自定义标记作为topicName添加到流入db中,以便根据不基于'ObjDomain‘定义的主题进行查询,下面是my JmxTrans配置(注意,使用通配符作为主题以获取所有主题的数据MessageInPerSec JMX属性)

代码语言:javascript
复制
{
  "servers": [
    {
      "port": "9581",
      "host": "192.168.43.78",
      "alias": "kafka-metric",
      "queries": [
        {
          "outputWriters": [
            {
              "@class": "com.googlecode.jmxtrans.model.output.InfluxDbWriterFactory",
              "url": "http://192.168.43.78:8086/",
              "database": "kafka",
              "username": "admin",
              "password": "root"
            }
          ],
          "obj": "kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec,topic=*",
          "attr": [
            "Count",
            "MeanRate",
            "OneMinuteRate",
            "FiveMinuteRate",
            "FifteenMinuteRate"
          ],
          "resultAlias": "newTopic"
        }
      ],
      "numQueryThreads": 2
    }
  ]
}

产生流入DB的结果,如下所示

代码语言:javascript
复制
[name=newTopic, time=1589425526087, tags={attributeName=FifteenMinuteRate,
 className=com.yammer.metrics.reporting.JmxReporter$Meter, objDomain=kafka.server,
 typeName=type=BrokerTopicMetrics,name=MessagesInPerSec,topic=backblaze_smart}, 
precision=MILLISECONDS, fields={FifteenMinuteRate=1362.9446063537794, _jmx_port=9581
}]

并在配置中使用完整的objDomain创建标记,但我希望将主题作为单独的标记,如下所示

代码语言:javascript
复制
[name=newTopic, time=1589425526087, tags={attributeName=FifteenMinuteRate,
 className=com.yammer.metrics.reporting.JmxReporter$Meter, objDomain=kafka.server,
  topic=backblaze_smart,
 typeName=type=BrokerTopicMetrics,name=MessagesInPerSec,topic=backblaze_smart}, 
precision=MILLISECONDS, fields={FifteenMinuteRate=1362.9446063537794, _jmx_port=9581
}]

无法找到足够的文档,说明如何使用jmxtrans将主题的通配符值作为单独的标记,并将其写入InfluxDB。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-21 17:57:53

您只需为内流输出写入器添加以下附加属性即可。只需确保您使用的是最新版本的jmxtrans版本。文档在这里:https://github.com/jmxtrans/jmxtrans/wiki/InfluxDBWriter

"typeNames":“主题”,

"typeNamesAsTags":“真”

我已经列出了您的配置与上述修改。

代码语言:javascript
复制
{
  "servers": [
    {
      "port": "9581",
      "host": "192.168.43.78",
      "alias": "kafka-metric",
      "queries": [
        {
          "outputWriters": [
            {
              "@class": "com.googlecode.jmxtrans.model.output.InfluxDbWriterFactory",
              "url": "http://192.168.43.78:8086/",
              "database": "kafka",
              "username": "admin",
              "password": "root",
              "typeNames": ["topic"],
              "typeNamesAsTags": "true"
            }
          ],
          "obj": "kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec,topic=*",
          "attr": [
            "Count",
            "MeanRate",
            "OneMinuteRate",
            "FiveMinuteRate",
            "FifteenMinuteRate"
          ],
          "resultAlias": "newTopic"
        }
      ],
      "numQueryThreads": 2
    }
  ]
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61788783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档