Logstash处理数据用法示例---待完善

filter {
  mutate {
    rename => [ "message", "blog_html" ]
    copy => { "blog_html" => "blog_text" }
    copy => { "published" => "@timestamp" }
  }
  mutate {
    gsub => [
      "blog_text", "<.*?>", "",
      "blog_text", "[\n\t]", " "
    ]
    remove_field => [ "published", "author" ]
  }
}
  • apache日志
    日志格式
83.149.9.216 - - [17/May/2015:10:05:03 +0000] "GET /presentations/logstash-monitorama-2013/images/kibana-search.png HTTP/1.1" 200 203023 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
83.149.9.216 - - [17/May/2015:10:05:43 +0000] "GET /presentations/logstash-monitorama-2013/images/kibana-dashboard3.png HTTP/1.1" 200 171717 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"
filter {
  grok { # 通过正则表达式来匹配我们的每一条log信息,把相应的值赋值给相应的变量
    match => {
      "message" => '%{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{DATA:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response:int} (?:-|%{NUMBER:bytes:int}) %{QS:referrer} %{QS:agent}'
    }
  }

  date { # @timestamp表示的在运行时的当前timestamp。把@timestamp转换成来自于log里的时间信息,也就是timestamp所表述的时间。
    match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z" ]
    locale => en
  }

  geoip { # 根据IP地址解析是来自哪一个地方的以及它的经纬度等信息
    source => "clientip"
  }

  useragent { # 添加有关useragent(如系列,操作系统,版本和设备)的信息
    source => "agent"
    target => "useragent"
  }
}
  • csv文件
input {
  file {
    path => "/Users/liuxg/data/cars.csv"
    start_position => "beginning"
    sincedb_path => "null"
  }
}

filter {
  csv {
    # 分隔符
    separator => ","
    # 表格的列名
    columns => [ "maker", "model", "mileage", "manufacture_year", "engine_displacement",
    "engine_power", "body_type", "color_slug", "stk_year", "transmission", "door_count",
    "seat_count", "fuel_type", "date_created", "date_last_seen", "price_eur" ]
  }
  # 转换数据类型
  mutate { convert => ["mileage", "integer"] }
  mutate { convert => ["price_eur", "float"] }
  mutate { convert => ["engine_power", "integer"] }
  mutate { convert => ["door_count", "integer"] }
  mutate { convert => ["seat_count", "integer"] }
}

# 在input中,path指向csv文件的位置。start_position指向beginning。对于一个实时的数据源,它通常是ending,表示它每次都是从最后拿到那个数据。sincedb_path通常指向一个文件。这个文件保存上次操作的位置。设置为/dev/null表明我们不存储这个数据
# 在filter中,column都来自于csv表格。通常Logstash会把每个数据都当做是字符串。mileage是一个整型数,price_eur是一个浮点数,可以通过mutate来完成

原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/12076481.html

时间: 2024-11-02 13:39:44

Logstash处理数据用法示例---待完善的相关文章

Django返回json数据用法示例

最近在写前端ajax发送请求到后台,结果数据提交成功,但是一直未执行成功回调函数,经过多番查找资料,终于找到答案. 本文实例讲述了Django返回json数据用法.分享给大家供大家参考,具体如下: 1.前端.jQuery发送GET请求,并解析json数据.getJSON方法可参考这里. ? 1 2 3 4 5 url = "http://example/?question=" + question + "&rand=" + Math.random(); $.

WPF 高性能位图渲染 WriteableBitmap 及其高性能用法示例

原文:WPF 高性能位图渲染 WriteableBitmap 及其高性能用法示例 WPF 渲染框架并没有对外提供多少可以完全控制渲染的部分,目前可以做的有: D3DImage,用来承载使用 DirectX 各个版本渲染内容的控件 WriteableBitmap,通过一段内存空间来指定如何渲染一个位图的图片 HwndHost,通过承载一个子窗口以便能叠加任何种类渲染的控件 本文将解释如何最大程度压榨 WriteableBitmap 在 WPF 下的性能. 本文内容 如何使用 WriteableBi

openat与open的区别及用法示例

从2.6.16版本开始,GNU/Linux引入opeant系统调用: #define _XOPEN_SOURCE 700 /* Or define _POSIX_C_SOURCE >= 200809 */ #include <fcntl.h> int openat(int dirfd , const char * pathname , int flags , ... /* mode_t mode */); Returns file descriptor on success, or –1

wxpython布局管理部件wx.gridbagsizer用法示例

text = ("This is text box")         panel = wx.Panel(self, -1)         chkAll1 = wx.CheckBox(panel, ID_CHKBOX_CAN_SEL_ALL, u'全选')                chkKnown = wx.CheckBox(panel, ID_CHKBOX_CAN_UNKNOWN, u'不会')         chkUnknow = wx.CheckBox(panel, I

C#中HashTable的用法示例2

命名空间 System.Collections 名称 哈希表(Hashtable) 描述 用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写:value用于存储对应于key的值.Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对. 二,哈希表的简单操作 Hashtable hshTable = new Hashtable(); //  创建哈希表hshTable .Add("

Python脚本调用C#代码数据交互示例(hello world)

原地址: http://www.djangochina.cn/forum.php?mod=viewthread&tid=247 随着项目的逐渐收尾, 对IronPython脚本也越来越熟悉,这里为IronPython脚本感兴趣但不入门的朋友写几篇使用心得,这是第一个:最简单的hello world程序.        首先,我们必须有一个IronPython脚本引擎库(IronPython.dll),我用的版本是V1.0,你可以在网上直接下到相关源码,编译后即生成IronPython.dll.1

Linux中 find 常见用法示例

Linux中find常见用法示例 #find path -option [ -print ] [ -exec -ok command ] {} \; #-print 将查找到的文件输出到标准输出 #-exec command {} \; —–将查到的文件执行command操作,{} 和 \;之间有空格.其实在命令执行的时候"{}"将被find到的结果替换掉,因此将"{}"看成find到的文件来进行操作就很容易理解这个选项了. #-ok 和-exec相同,只不过在操作

C#中HashTable的用法示例1

一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写:value用于存储对应于key的值.Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对. 二,哈希表的简单操作 在哈希表中添加一个keyvalue键值对:HashtableO

oracle中to_date详细用法示例(oracle日期格式转换)

这篇文章主要介绍了oracle中to_date详细用法示例,包括期和字符转换函数用法.字符串和时间互转.求某天是星期几.两个日期间的天数.月份差等用法 TO_DATE格式(以时间:2007-11-02 13:45:25为例) 1. 日期和字符转换函数用法(to_date,to_char) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串 select to_char(sysdate,'