本文只针对ELK下对访问日志的分割进行讲解(如nginx的acc日志,IIS的W3C日志等等)

本文只讲方向,具体的语法等知识点可以在官网或者百度查询

本文以IIS日志为例,日志格式(列头)如下:

date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken

1、filebeat的dissect

优点:简单快捷,在简单应用场景中效率更高

缺点:日志切割场景单一,功能单一

实现:在配置文件中processors下面加上dissect 对日志进行切割

processors:- dissect:tokenizer: "%{date} %{time} %{s-ip} %{cs-method} %{cs-uri-stem} %{cs-uri-query} %{s-port} %{cs-username} %{c-ip} %{cs(User-Agent)} %{cs(Referer)} %{sc-status} %{sc-substatus} %{sc-win32-status} %{time-taken}"field: "message"target_prefix: "fields"

2、logstash的grok

优点:能灵活的切割各种日志,有很多功能加工日志

缺点:配置难度较dissect高出不少

实现:在logstash配置文件中input和output之间的filter中进行配置:

因为IIS的日志字段是可以自定义配置的,所以这里配置了多种解析配置

filter {grok {match => ["message","%{TIMESTAMP_ISO8601:iis.access.time} (?:-|%{IPORHOST:destination.address}) (?:-|%{WORD:http.request.method}) (?:-|%{NOTSPACE:url.path}) (?:-|%{NOTSPACE:url.query}) (?:-|%{NUMBER:destination.port:long}) (?:-|%{NOTSPACE:user.name}) (?:-|%{IPORHOST:source.address}) (?:-|%{NOTSPACE:user_agent.original}) (?:-|%{NOTSPACE:http.request.referrer}) (?:-|%{NUMBER:http.response.status_code:long}) (?:-|%{NUMBER:iis.access.sub_status:long}) (?:-|%{NUMBER:iis.access.win32_status:long}) (?:-|%{NUMBER:temp.duration:long})","message","%{TIMESTAMP_ISO8601:iis.access.time} (?:-|%{NOTSPACE:iis.access.site_name}) (?:-|%{WORD:http.request.method}) (?:-|%{NOTSPACE:url.path}) (?:-|%{NOTSPACE:url.query}) (?:-|%{NUMBER:destination.port:long}) (?:-|%{NOTSPACE:user.name}) (?:-|%{IPORHOST:source.address}) (?:-|%{NOTSPACE:user_agent.original}) (?:-|%{NOTSPACE:iis.access.cookie}) (?:-|%{NOTSPACE:http.request.referrer}) (?:-|%{NOTSPACE:destination.domain}) (?:-|%{NUMBER:http.response.status_code:long}) (?:-|%{NUMBER:iis.access.sub_status:long}) (?:-|%{NUMBER:iis.access.win32_status:long}) (?:-|%{NUMBER:http.response.body.bytes:long}) (?:-|%{NUMBER:http.request.body.bytes:long}) (?:-|%{NUMBER:temp.duration:long})","message","%{TIMESTAMP_ISO8601:iis.access.time} (?:-|%{NOTSPACE:iis.access.site_name}) (?:-|%{NOTSPACE:iis.access.server_name}) (?:-|%{IPORHOST:destination.address}) (?:-|%{WORD:http.request.method}) (?:-|%{NOTSPACE:url.path}) (?:-|%{NOTSPACE:url.query}) (?:-|%{NUMBER:destination.port:long}) (?:-|%{NOTSPACE:user.name}) (?:-|%{IPORHOST:source.address}) (?:-|HTTP/%{NUMBER:http.version}) (?:-|%{NOTSPACE:user_agent.original}) (?:-|%{NOTSPACE:iis.access.cookie}) (?:-|%{NOTSPACE:http.request.referrer}) (?:-|%{NOTSPACE:destination.domain}) (?:-|%{NUMBER:http.response.status_code:long}) (?:-|%{NUMBER:iis.access.sub_status:long}) (?:-|%{NUMBER:iis.access.win32_status:long}) (?:-|%{NUMBER:http.response.body.bytes:long}) (?:-|%{NUMBER:http.request.body.bytes:long}) (?:-|%{NUMBER:temp.duration:long})","message","%{TIMESTAMP_ISO8601:iis.access.time} \\[%{IPORHOST:destination.address}\\]\\(http://%{IPORHOST:destination.address}\\) (?:-|%{WORD:http.request.method}) (?:-|%{NOTSPACE:url.path}) (?:-|%{NOTSPACE:url.query}) (?:-|%{NUMBER:destination.port:long}) (?:-|%{NOTSPACE:user.name}) \\[%{IPORHOST:source.address}\\]\\(http://%{IPORHOST:source.address}\\) (?:-|%{NOTSPACE:user_agent.original}) (?:-|%{NUMBER:http.response.status_code:long}) (?:-|%{NUMBER:iis.access.sub_status:long}) (?:-|%{NUMBER:iis.access.win32_status:long}) (?:-|%{NUMBER:temp.duration:long})","message","%{TIMESTAMP_ISO8601:iis.access.time} (?:-|%{IPORHOST:destination.address}) (?:-|%{WORD:http.request.method}) (?:-|%{NOTSPACE:url.path}) (?:-|%{NOTSPACE:url.query}) (?:-|%{NUMBER:destination.port:long}) (?:-|%{NOTSPACE:user.name}) (?:-|%{IPORHOST:source.address}) (?:-|%{NOTSPACE:user_agent.original}) (?:-|%{NUMBER:http.response.status_code:long}) (?:-|%{NUMBER:iis.access.sub_status:long}) (?:-|%{NUMBER:iis.access.win32_status:long}) (?:-|%{NUMBER:temp.duration:long})"]tag_on_failure => ["fail_in_message"]}
}

欢迎关注我的公众号:龙叔运维

持续分享运维经验

ELK:访问日志切割相关推荐

  1. Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间...

    一.Apache访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 vim /usr/local/apache2.4/conf/extra/httpd-vho ...

  2. 访问日志不记录静态文件、访问日志切割、静态元素过期时间

    11.22 访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 小技巧: 打开浏览器,按键盘上的F12键,开发人员工具,选择Network选项(一般默认),刷 ...

  3. 4.16访问日志不记录静态文件,访问日志切割以及静态元素过期时间

    访问日志不记录静态文件 一个网站会有很多元素,尤其是图片.js.css等静态文件非常多,每个用户请求一个页面都会访问诸多的图片,这些元素都会被记录在日志中,如果一个网站访问量很大,那么这些日志会增长的 ...

  4. Apache访问日志切割

    [root@daixuan ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 修改日志文件为: ErrorLog "logs/t ...

  5. linux中用shell脚本对tomcat和nginx做日志切割

    Tomcat日志catalina.out切割小脚本 #!/bin/bash #cut tomcat catalina.out yesterday=`date +"%F" -d &q ...

  6. 1.8.5 访问日志不记录静态文件

    2019独角兽企业重金招聘Python工程师标准>>> 1.8.5 访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 把虚拟主机配置文件改 ...

  7. Nginx访问日志、日志切割、静态文件不记录日志和过期时间

    2019独角兽企业重金招聘Python工程师标准>>> 11月27日任务 12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间 1 ...

  8. 12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间

    - 12.10 Nginx访问日志 - 12.11 Nginx日志切割 - 12.12 静态文件不记录日志和过期时间# 12.10 Nginx访问日志 - 日志的格式- vim /usr/local/ ...

  9. 4.36域名重定向4.37用户认证4.38Nginx访问日志4.39日志不记录静态文件4.40日志切割...

    2019独角兽企业重金招聘Python工程师标准>>> 域名重定向 用户认证 Nginx访问日志 日志不记录静态文件 日志切割 域名重定向 配置第二个域名: vi /etc/ngin ...

  10. Nginx 访问日志轮询切割

    Nginx 访问日志轮询切割脚本 -------------------------------------------------------------------- 注:如果你对python感兴 ...

最新文章

  1. 使用vim打造自己的python编辑器
  2. FreeMarker使用记录
  3. c语言实现--不带头结点的单链表操作
  4. 工具栏,状态栏(VC_MFC)
  5. Notepad++中的高级查找
  6. Java堆排序递归_大顶堆第二弹----堆排序(递归实现)
  7. 速达服务器账套定期维护么,速达软件常见操作问题解决方法
  8. vue.set的用法
  9. testng 检查异常_TestNG异常– ExpectedExceptions,ExpectedExceptionsMessageRegExp
  10. M2Det论文解读和开源代码
  11. 妇产科学习题---有答案
  12. FPGA学习经验分享——入门篇
  13. 蚁剑软件的配置与应用
  14. 千里马Android Framework-Binder通信总结流程图
  15. 前端-表格英文单词不换行问题
  16. 在线编辑器CKeditor的应用
  17. java面试官常问的问题
  18. 扬州大学回应「清华博士入职5年,月薪才372元」
  19. Codeforces:div3_719 记录
  20. 机器人操作系统(ROS)入门

热门文章

  1. 前端使用prettier格式化规范
  2. Wooboo第四批(暨6月7日)上传程序送百元现金活动获奖公告
  3. 土豆嫁优酷:烧钱的宿命?
  4. android N : UnsatisfiedLinkError
  5. 用流量扫码总显示无法连接服务器,手机有流量但无法连接网络?手机数据网络不能访问互联网...
  6. excel查重复_毕业季论文查重攻略,手把手教你降低重复率!
  7. 51驱动AD9850/AD9851—DDS信号发生器
  8. 【太经典】如果有人问你数据库的原理,叫他看这篇文章
  9. 51单片机LED 8*8点阵屏显示图形
  10. 104. 史上最全的数据库面试题,面试前刷一刷