首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果语句不工作于grok筛选器日志存储

如果语句不工作于grok筛选器日志存储
EN

Stack Overflow用户
提问于 2020-01-21 04:05:38
回答 2查看 82关注 0票数 0

问题

我正在尝试学习logstash和用条件语句解析grok。这些日志成功地在if语句之外进行了解析,但在语句中没有进行任何解析。好像没读过这句话。

目标

2020-01-09 :32:46 VERBOSE18962 pbx.c:在新堆栈中执行s@宏拨号-主干:26 NoOp("PJSIP/3513-0001108e",“拨号失败,DIALSTATUS =繁忙和HANGUPCAUSE = 19")

代码语言:javascript
复制
filter
{
    grok
    {
        match =>
        {
            "message" => "\[%{TIMESTAMP_ISO8601:log_timestamp}\] +(?<log_level>(?i)(?:debug|notice|warning|error|verbose|dtmf|fax|security)(?-i))\[%{INT:thread_id}\](?:\[%{DATA:call_thread_id}\])? %{DATA:module_name}\: %{WORD:action}\s\[%{DATA:TARGET}@%{DATA:dialplan_context}:%{DATA:dialplan_priority}\]\s%{GREEDYDATA:log_message}"
        }
        add_field => ["receiver_timestamp", "%{@timestamp}"]
        add_field => ["process_name","asterisk_failed"]
    }
    if [action] == "Executing" and [dialplan_priority]=="1"{
        grok
        {
            match =>
            {
                "log_message"=>"%{DATA:asterisk_app}\(\"%{DATA:protocol}\/%{DATA:EXT}\-%{DATA:channel}\"\,\s\"%{DATA:problem1}\-\s%{DATA:problem2}\"\)\s%{GREEDYDATA:all}"
            }
        }
    }
    if [action] == "Executing" and [dialplan_priority]=="26"{
        grok
        {
            match =>
            {
                "log_message"=>"%{DATA:asterisk_app}\(\"%{DATA:protocol}\/%{DATA:EXT}\-%{DATA:channel}\"\,\s\"%{DATA:problem1}\sand\s%{DATA:problem2}\"\)\s%{GREEDYDATA:all}"
            }
        }
    }
}

我(自己)测试了我的抽签过滤器,它运行得很好。是否有一些东西需要导入,以便我可以使用条件表达式?

EN

回答 2

Stack Overflow用户

发布于 2020-01-21 08:00:19

试图改变这种情况,例如:

if "Executing" in [action] { logic }

票数 0
EN

Stack Overflow用户

发布于 2020-01-23 06:37:45

尝试将条件更改为

代码语言:javascript
复制
 if [action] =~ "Executing" and [dialplan_priority] =~"1"{ logic }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59834044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档