简体   繁体   English

从日志字符串中删除“ms”并转换为 INT 的 Grok 模式

[英]Grok pattern to remove "ms" from log string and convert to INT

first time long time.第一次很长时间。

I have this log message:我有这条日志消息:

2022/05/04 09:24:08 INTERESTING UpdateStatus: active: 45 waiting: 0 connections: 91 max dbcmd queue length: 3 max dbcmd response time: 19ms cmds processed: 6 nacks: 0 nresent: 0

I have this grok pattern to parse it:我有这个 grok 模式来解析它:

%{DATE} %{TIME} %{WORD:log_level} %{WORD:update_status}: active: %{INT:active} waiting: %{INT:waiting} connections: %{INT:connections} max dbcmd queue length: %{NUMBER:max_dbcmd_queue_length} max dbcmd response time: %{WORD:max_dbcmd_response_time} cmds processed: %{NUMBER:cmds_processed} nacks: %{NUMBER:nacks} nresent: %{NUMBER:nresent}

All is ok and great except for one thing,一切都很好,除了一件事,

This value I would like to extract the response time and graph the int (19).这个值我想提取响应时间并绘制 int (19)。

max dbcmd response time: 19ms

But the only way I can get grok to be happy is to make it a WORD because of the "ms".但我能让 grok 快乐的唯一方法是因为“ms”而使它成为一个 WORD。

max dbcmd response time: %{WORD:max_dbcmd_response_time}

I really want 19 to be an INT and I can't figure out how to remove or ignore the "ms" tagged to the end of the number "19ms".我真的希望 19 成为一个 INT,但我不知道如何删除或忽略标记在数字“19ms”末尾的“ms”。

You can use INT but then you need to add ms or \w* after the pattern part:您可以使用INT但您需要在模式部分之后添加ms\w*

%{INT:max_dbcmd_response_time}ms
%{INT:max_dbcmd_response_time}\w*

The full pattern:完整模式:

%{DATE} %{TIME} %{WORD:log_level} %{WORD:update_status}: active: %{INT:active} waiting: %{INT:waiting} connections: %{INT:connections} max dbcmd queue length: %{NUMBER:max_dbcmd_queue_length} max dbcmd response time: %{INT:max_dbcmd_response_time}ms cmds processed: %{NUMBER:cmds_processed} nacks: %{NUMBER:nacks} nresent: %{NUMBER:nresent}

Or或者

%{DATE} %{TIME} %{WORD:log_level} %{WORD:update_status}: active: %{INT:active} waiting: %{INT:waiting} connections: %{INT:connections} max dbcmd queue length: %{NUMBER:max_dbcmd_queue_length} max dbcmd response time: %{INT:max_dbcmd_response_time}\w* cmds processed: %{NUMBER:cmds_processed} nacks: %{NUMBER:nacks} nresent: %{NUMBER:nresent}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM