zoukankan      html  css  js  c++  java
  • (?m) 标记

    <pre name="code" class="html">在和 codec/multiline 搭配使用的时候,需要注意一个问题,grok 正则和普通正则一样,默认是不支持匹配回车换行的。就像你需要 =~ //m 一样也需要单独指定,具体写法是在表达式开始位置加 (?m) 标记。如下所示:
    
    match => {
        "message" => "(?m)s+(?<request_time>d+(?:.d+)?)s+"
    }
    input {
            file {
                    type => "zj_mysql"
                    path => ["/data01/applog_backup/zjzc_log/zj-mysql01-slowlog.*"]
                     codec => multiline {
          pattern => "^s+#s+User@Host:"
          negate => true
          what => "previous"
        }
    
    
            }
        
           file { 
                    type => "wj_mysql" 
                    path => ["/data01/applog_backup/winfae_log/wj-mysql01-slowlog.*"] 
                     codec => multiline {
          pattern => "^s+#s+User@Host:"
          negate => true
          what => "previous"
        }
    
    
            } 
            
    
    
        }
    
    
    filter {
      # drop sleep events
      grok {
        match => { "message" => "SELECT SLEEP" }
        add_tag => [ "sleep_drop" ]
        tag_on_failure => [] # prevent default _grokparsefailure tag on real records
      }
      if "sleep_drop" in [tags] {
        drop {}
      }
      grok {
        match => [ "message","(?m)s*# User@Host:s+S+[%{USER:user}]s+@s+[%{IP:clientip}]s+(?<id>(S+s+)*S+)s*#s+Query_time:s+%{NUMBER:Query_time}s+Lock_time: %{NUMBER:lock_time}s+Rows_sent: %{NUMBER:rows_sent}s+Rows_examined: %{NUMBER:rows_examined}s*
    s*SETs+timestamp=%{NUMBER:timestamp};s*(?<query>(s*S+s*).*)s*" 
    ]
      }
      date {
        match => [ "timestamp", "UNIX" ]
        remove_field => [ "timestamp" ]
      }
    }
    output {
         if [type] == "zj_mysql" { 
            redis {
                    host => "192.168.32.67"
                    data_type => "list"
                    key => "zj_mysql:redis"
                    port=>"6379"
                    password => "1234567"
            }
    }
          else if [type] == "wj_mysql"{
           redis { 
                    host => "192.168.32.67" 
                    data_type => "list" 
                    key => "wj_mysql:redis" 
                    port=>"6379" 
                    password => "1234567" 
            } 
    }
    }
      
    
    
      


    
                                        
    
  • 相关阅读:
    CF1208C
    CF1208B
    CF1208A
    CF1206A
    wqy的C题
    wqy的B题
    [POI2005]SAM-Toy Cars
    Gym
    操作系统学习---进程
    C++多线程(POSIX)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350323.html
Copyright © 2011-2022 走看看