zoukankan      html  css  js  c++  java
  • logstash urlencode解码

    [elk@yyjk conf]$ cat viewcode.conf 
    input {
        file {
                    type => "viewcode-10.5.100.232"
                    path => ["/home/admin/tools/logs/gaccess.log"]
                    start_position=>"end"
            }
        
    }
     filter {
          multiline {  
       pattern => "^[0-9]"
      negate=>true  
      what=>"previous"  
     }  
    
    
    }
    
    output {
         elasticsearch {
                    hosts => "10.5.100.232:9200"
                    index => "logstash-viewlog-%{+YYYY.MM.dd}"
            }
       stdout {
       codec=>rubydebug{}
     }
    }
    
    [elk@yyjk conf]$ logstash -f viewcode.conf 
    Settings: Default pipeline workers: 2
    Defaulting pipeline worker threads to 1 because there are some filters that might not work with multiple worker threads {:count_was=>2, :filters=>["multiline"], :level=>:warn}
    Pipeline main started
    
    {
           "message" => "10.5.100.80 - - [07/Sep/2018:15:52:52 +0800] "GET /?phone=17605860662&message=%E8%BF%90%E7%BB%B4%E5%A0%A1%E5%9E%92%E6%9C%BA%E8%AE%BF%E9%97%AE%E6%8E%88%E6%9D%83%E7%94%B3%E8%AF%B7%0A%E6%8E%88%E6%9D%83%E7%A0%81%EF%BC%9A336160%0A%E7%94%B3%E8%AF%B7%E4%BA%BA%EF%BC%9A%E8%B5%B5%E6%9D%A8%E5%81%A5%EF%BC%88015208%EF%BC%89%0A%E8%AE%BF%E9%97%AE%E8%AE%BE%E5%A4%87%EF%BC%9AJJ_ESBAPP_229.101%EF%BC%8810.2.229.101%EF%BC%89%0A%E8%AE%BF%E9%97%AE%E6%9C%8D%E5%8A%A1%EF%BC%9Assh%0A%E7%B3%BB%E7%BB%9F%E8%B4%A6%E5%8F%B7%EF%BC%9Aesb%0A%E7%94%B3%E8%AF%B7%E5%8E%9F%E5%9B%A0%EF%BC%9A%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5 HTTP/1.0" 200 47 "-" "Python-urllib/1.17"",
          "@version" => "1",
        "@timestamp" => "2018-09-07T07:52:53.065Z",
              "path" => "/home/admin/tools/logs/gaccess.log",
              "host" => "yyjk",
              "type" => "viewcode-10.5.100.232"
    }
    {
           "message" => "10.5.100.80 - - [07/Sep/2018:15:53:45 +0800] "GET /?phone=17605861150&message=%E8%BF%90%E7%BB%B4%E5%A0%A1%E5%9E%92%E6%9C%BA%E8%AE%BF%E9%97%AE%E6%8E%88%E6%9D%83%E7%94%B3%E8%AF%B7%0A%E6%8E%88%E6%9D%83%E7%A0%81%EF%BC%9A635367%0A%E7%94%B3%E8%AF%B7%E4%BA%BA%EF%BC%9A%E8%94%A1%E5%88%A9%E6%9D%B0%EF%BC%88006737%EF%BC%89%0A%E8%AE%BF%E9%97%AE%E8%AE%BE%E5%A4%87%EF%BC%9AJJ_ZHDQZDB_120.91%EF%BC%8810.2.120.91%EF%BC%89%0A%E8%AE%BF%E9%97%AE%E6%9C%8D%E5%8A%A1%EF%BC%9Assh%0A%E7%B3%BB%E7%BB%9F%E8%B4%A6%E5%8F%B7%EF%BC%9Aelink%0A%E7%94%B3%E8%AF%B7%E5%8E%9F%E5%9B%A0%EF%BC%9A%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5 HTTP/1.0" 200 47 "-" "Python-urllib/1.17"",
          "@version" => "1",
        "@timestamp" => "2018-09-07T07:53:46.113Z",
              "path" => "/home/admin/tools/logs/gaccess.log",
              "host" => "yyjk",
              "type" => "viewcode-10.5.100.232"
    }
    
    
    
    需要进行urldecode解码;
    
    安装urldecode插件
    [root@node01 bin]# ./logstash-plugin install logstash-filter-urldecode
    Ignoring ffi-1.9.13 because its extensions are not built.  Try: gem pristine ffi --version 1.9.13
    Validating logstash-filter-urldecode
    Installing logstash-filter-urldecode
    Installation successful
    [root@node01 bin]# 
    
    
    [elk@yyjk conf]$ cat viewcode.conf 
    input {
        file {
                    type => "viewcode-10.5.100.232"
                    path => ["/home/admin/tools/logs/gaccess.log"]
                    start_position=>"end"
            }
        
    }
    filter {
      multiline {  
      pattern => "^[0-9]"
      negate=>true  
      what=>"previous"  
     }  
     urldecode{
     field =>message
     }
    }
    
    output {
         elasticsearch {
                    hosts => "10.5.100.232:9200"
                    index => "logstash-viewlog-%{+YYYY.MM.dd}"
            }
       stdout {
       codec=>rubydebug{}
     }
    }
    
    
    [elk@yyjk conf]$ logstash -f viewcode.conf 
    Settings: Default pipeline workers: 2
    Defaulting pipeline worker threads to 1 because there are some filters that might not work with multiple worker threads {:count_was=>2, :filters=>["multiline"], :level=>:warn}
    Pipeline main started
    {
           "message" => "10.5.100.80 - - [07/Sep/2018:17:06:38 +0800] "GET /?phone=17605860662&message=运维堡垒机访问授权申请
    授权码:995523
    申请人:赵杨健(015208)
    访问设备:JJ_ESBAPP_229.101(10.2.229.101)
    访问服务:ssh
    系统账号:esb
    申请原因:问题排查 HTTP/1.0" 200 47 "-" "Python-urllib/1.17"",
          "@version" => "1",
        "@timestamp" => "2018-09-07T09:06:39.428Z",
              "path" => "/home/admin/tools/logs/gaccess.log",
              "host" => "yyjk",
  • 相关阅读:
    测序深度和覆盖度(Sequencing depth and coverage)
    让linux中 history显示每条命令的操作时间及操作用户【转】
    python报错IndexError: list index out of range
    优化MySQL的21个建议 – MySQL Life【转】
    Memcached实战之复制----基于repcached的主从【转】
    从xtrabackup备份恢复单表【转】
    binlog2sql的安装及使用
    mydumper安装及使用
    MySQL5.7 GTID在线开启与关闭【转】
    linux动态追踪神器——Strace实例介绍【转】
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349077.html
Copyright © 2011-2022 走看看