zoukankan      html  css  js  c++  java
  • logstash mutate 类型转换

     logstash-filter-mutate 插件是Logstash 另一个重要插件,它提供了丰富的基础类型数据处理能力,包括类型转换,字符串处理和字段处理等
    
    1.类型转换
    
    类型转换是logstash-filter-mutate 插件最初诞生时的唯一功能,
    
    可以设置的转换类型包括:"integer","float" 和 "string"。示例如下:
    
    input {
       stdin {
         }
     }
    
    filter {
      grok {
       match =>{
       "message" =>"(?<request_time>d+(?:.d+)?)"
         }
    }
    }
    output {
       stdout {
       codec =>rubydebug
       }
    }
    
    [elk@Vsftp logstash]$ logstash -f t2.conf 
    Settings: Default pipeline workers: 4
    Pipeline main started
    23.45
    {
             "message" => "23.45",
            "@version" => "1",
          "@timestamp" => "2017-01-11T02:07:33.581Z",
                "host" => "Vsftp",
        "request_time" => "23.45"
    }
    
    
    字符串 转换为float型
    
    
    
    [elk@Vsftp logstash]$ cat t2.conf 
    input {
       stdin {
         }
     }
    
    filter {
      grok {
       match =>{
       "message" =>"(?<request_time>d+(?:.d+)?)"
         }
        }
         mutate {
            convert => ["request_time", "float"]
    }
    }
    output {
       stdout {
       codec =>rubydebug
       }
    }
    
    
    
    [elk@Vsftp logstash]$ logstash -f t2.conf 
    Settings: Default pipeline workers: 4
    Pipeline main started
    23.45
    {
             "message" => "23.45",
            "@version" => "1",
          "@timestamp" => "2017-01-11T02:10:07.045Z",
                "host" => "Vsftp",
     
    
    
    
    
    
    字符串转换成数值型:
    
    
    [elk@Vsftp logstash]$ cat t2.conf 
    input {
       stdin {
         }
     }
    
    filter {
      grok {
       match =>{
       "message" =>"(?<request_time>d+(?:.d+)?)"
         }
        }
         mutate {
            convert => ["request_time", "integer"]
    }
    }
    output {
       stdout {
       codec =>rubydebug
       }
    }
    
    
    [elk@Vsftp logstash]$ logstash -f t2.conf 
    Settings: Default pipeline workers: 4
    Pipeline main started
    23.45
    {
             "message" => "23.45",
            "@version" => "1",
          "@timestamp" => "2017-01-11T02:11:21.071Z",
                "host" => "Vsftp",
        "request_time" => 23
    }
    
    

  • 相关阅读:
    第 28 章 CSS3 多列布局
    实例解读什么是Redis缓存穿透、缓存雪崩和缓存击穿
    深入浅出一致性Hash原理
    要想深入理解mysql索引?这16个点你必须要了解!
    为什么不要尝试用int来存手机号?
    mysql-覆盖索引
    聚集索引,非聚集索引,覆盖索引 原理
    mysql use index、ignore index、force index用法
    HashMap在JDK1.8版本尾插法实现解析
    redis slot 槽点
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349931.html
Copyright © 2011-2022 走看看