Telegraf解析logstash风格" grok"模式

时间:2017-12-04 12:07:02

标签: regex logstash influxdb logstash-grok telegraf

我一直在尝试从日志文件中将数据提取到涌入。结构如下

20171130-22:02:21.832 : something data work now
20171230-22:02:22.843 : something data2
20171231-22:02:23.232 : something data3

我使用过这种模式

[inputs.logparser.grok]
        #patterns = ['%{ts-"20060102-15:04:05.999":timestamp}%{GREEDYDATA:random_data}']
        patterns = ['(?<timestamp>\d{8}-\d{2}:\d{2}:\d{2}\.\d+)\s*:\s*%{GREEDYDATA:random_data}']

我可以获得有关制定模式的帮助吗?

1 个答案:

答案 0 :(得分:2)

您可以使用

(?<timestamp>\d{8}-\d{2}:\d{2}:\d{2}\.\d+)\s*:\s*%{GREEDYDATA:random_data}

<强>详情

  • (?<timestamp>\d{8}-\d{2}:\d{2}:\d{2}\.\d+) - timestamp字段模式:
    • \d{8} - 9位数
    • - - 连字符
    • \d{2}:\d{2}:\d{2} - 2位数,:,2位数,:和2位
    • \.\d+ - 一个点和一个以上的数字
  • \s*:\s* - :附有0 +空白字符
  • %{GREEDYDATA:random_data} - .*,一直到行尾