神交解析问题

问题描述 投票:1回答:1

我有一个输入线,看起来像这样:

localhost_9999.kafka.server:type=SessionExpireListener,name=ZooKeeperSyncConnectsPerSec.OneMinuteRate

我可以用这个模式来分析它:

%{DATA:kafka_node}:type=%{DATA:kafka_metric_type},name=%{JAVACLASS:kafka_metric_name}

这给了我这样的:

{
  "kafka_node": [
    [
      "localhost_9999.kafka.server"
    ]
  ],
  "kafka_metric_type": [
    [
      "SessionExpireListener"
    ]
  ],
  "kafka_metric_name": [
    [
      "ZooKeeperSyncConnectsPerSec.OneMinuteRate"
    ]
  ]
}

我想将qazxsw POI分成独立的领域,但似乎无法得到它的工作。我已经试过这样:

OneMinuteRate

但什么也没有当时的情况。

我还使用%{DATA:kafka_node}:type=%{DATA:kafka_metric_type},name=%{WORD:kafka_metric_name}.%{WORD:attr_type}"测试这些了...

regex logstash logstash-grok
1个回答
1
投票

您可以使用您的最后一个正则表达式与一个转义https://grokdebug.herokuapp.com/(注意,.任何字符,但换行符匹配和.将匹配一个点字符),或使用\.类型的倒数第二场和最后一栏DATA

GREEDYDATA

由于%{DATA:kafka_node}:type=%{DATA:kafka_metric_type},name=% {DATA:kafka_metric_name}\.%{GREEDYDATA:attr_type} 转化为%{DATA:name}(?<name>.*?)转换为%{GREEDYDATA:name},所述(?<name>.*)部分将匹配任意字符,0或多次出现,尽可能少,直至第一name,和. attr_type图案将贪婪“吃掉”的行的其余部分直至其结束。

© www.soinside.com 2019 - 2024. All rights reserved.