V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
UnknownR
V2EX  ›  程序员

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

  •  
  •   UnknownR · Apr 13, 2021 · 1045 views
    This topic created in 1848 days ago, the information mentioned may be changed or developed.
    **现象**

    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]})"
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   799 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:12 · PVG 06:12 · LAX 15:12 · JFK 18:12
    ♥ Do have faith in what you're doing.