请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,请教下,这段是什么意思呢?

if [index] {

      } else {

            mutate {

              add_field  => { "index" => "All" }

        }

      }


      mutate {

              update  => { "query_body" => "{%{query_body}"}}

      }


正在回答 回答被采纳积分+3

1回答

rockybean 2018-08-16 13:33:07

你这一段是哪里的?

你具体是哪一段不理解?详细说一下

这看起来就是一个条件判断,然后增加字段和更新字段的操作

0 回复 有任何疑惑可以回复我~
  • 提问者 慕雪839906 #1
    input {
        beats {
            port => 5044
        }
    }
    filter {
        if "search" in [request]{
            grok {
                match => { "request" => ".*\n\{(?<query_body>.*)"} 
            }
            grok {
                match => { "path" => "\/(?<index>.*)\/_search"}     
            }
         if [index] {
          } else {
                mutate {
                  add_field  => { "index" => "All" }
            }
          }
    
          mutate {
                  update  => { "query_body" => "{%{query_body}"}}
          }
    
      #    mutate {
      #        remove_field => [ "[http][response][body]" ]
      #    }
    }
    
    output {
      #stdout{codec=>rubydebug}
    
      if "search" in [request]{
            elasticsearch {
            hosts => "127.0.0.1:8200"
            }
       }
    }
    
    这个是elastic stack入门那个实战视频的longstash的配置,但是中间的那个filter的内容具体是啥意思呢?每太看明白?
    回复 有任何疑惑可以回复我~ 2018-08-16 13:49:43
  • rockybean 回复 提问者 慕雪839906 #2
    这段的意思就是如果没有 index 字段,那么就添加一个并且设置为 ALL,然后用 {} 将 query_body  的字段包起来
    回复 有任何疑惑可以回复我~ 2018-08-16 14:03:16
  • 提问者 慕雪839906 #3
    https://www.imooc.com/video/16133
    这个是通过packebeat监控es的search请求,把请求给logstash,logstash再给另外一个es服务的流程中logstash过滤packbeat的配置(是您的elastic staci入门课程中的实战部分里的),但是没怎么看明白它的filter的意思是啥,麻烦老师给解答一下吧?
    回复 有任何疑惑可以回复我~ 2018-08-16 14:04:57
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信