ELK 里 KQL 过滤 PostgreSQL 的执行语句时间,匹配出错

2021-04-13 19:41:16 +08:00
 UnknownR
**现象**

ELK 环境,filebeat 从 PostgreSQL 读取日志后由 Logstash 分析再传到 ES 里,在 Kibana 里搜索数值比较的条件时,匹配的结果和预期的不一样

想比较大值是执行语句的用时,以毫秒为单位,2-3 位小数,在 KQL 里搜索时不管输的数值多大,它都能匹配到
比如我搜索 postgresql.log.duration > 30000000,应该是搜索到大于 30000000 毫秒的结果,但是不管是 123.12 毫秒的,还是 1234.12 毫秒的,都能匹配到,有大神知道是咋回事吗?



**Logstash 里的 Grok 语句**

%{NUMBER}和%{BASE16FLOAT}都试过了,都不行

"message" => "^%{LOCALDATETIME:[postgresql][log][timestamp]} %{WORD:[postgresql][log][timezone]} \[%{NUMBER:[postgresql][log][thread_id]}(-%{BASE16FLOAT:[postgresql][log][core_id]})?\] ((\[%{USERNAME:[user][name]}\]@\[%{POSTGRESQL_DB_NAME:[postgresql][log][database]}\]|%{USERNAME:[user][name]}@%{POSTGRESQL_DB_NAME:[postgresql][log][database]}) )?%{WORD:[postgresql][log][level]}: (duration: %{BASE16FLOAT:[postgresql][log][duration]} ms ?%{DATA:[postgresql][log][cmd_type]}: %{GREEDYDATA:[postgresql][log][query]})"
734 次点击
所在节点    程序员
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/770415

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX