之前分享的 [日志分析]Graylog2采集Nginx日志 主动方式 这篇文章介绍了Graylog如何通过Graylog Collector Sidecar来采集nginx日志. 由于日志是未经处理的,所以类似$remote_addr $request_time $upstream_addr $upstream_response_time的字段并没有解析出来,而是都显示在默认的message中,很不利于我们今后的分析工作. 为了解决这个问题,就引入了graylog另一个非常强大的功能 Extra…
如果你们觉得graylog只是负责日志收集的一个管理工具,那就too young too naive .日志收集只是graylog的最最基础的用法,graylog有很多实用的数据清洗和处理的进阶用法. 从这期开始我将陆续向大家介绍一些关于graylog的进阶用法,这次讲一下如何通过Geoip库莱获取nginx日志中来源IP的地理位置信息 获取来源IP的地理位置信息 (1)在导航栏System/Configurations -> Geo-Location Processor ,点击update按钮…
这次聊一下Graylog如何主动采集Nginx日志,分成两部分: 介绍一下 Graylog Collector Sidecar 是什么 如何配置 Graylog Collector Sidecar 采集nginx日志 一.首先介绍一下Graylog Collector Sidecar Graylog Collector Sidecar 是一个轻量级的日志采集器,通过访问graylog进行集中式管理,支持linux和windows系统. Sidecar 守护进程会定期访问graylog的REST…
graylog可以通过两种方式采集nginx日志,一种是通过Graylog Collector Sidecar进行采集(主动方式),另外是通过修改nginx配置文件的方式进行收集(被动方式). 这次说一下修改nginx配置文件(被动方式). 被动方式的好处就是nginx将定义好的日志字段以json格式直接发送到graylog的自定义端口中,graylog通过json解析直接将字段提取出来. 优势在于不用配置复杂的正则进行日志字段的解析,极大减少graylog对于cpu的资源占用.如果使用正则解析…
之前聊了一下graylog如何采集nginx日志,为此我介绍了两种采集方法(主动和被动),让大家对graylog日志采集有了一个大致的了解. 从日志收集这个角度,graylog提供了多样性和灵活性,大家可以根据自身场景选择适合自己的一种. 这次要跟大家聊的是如何通过graylog采集mysql慢日志.mysql慢日志的特点就是多行输出,不是那种一行就是一条日志的那种打印方式. 除了采集,我这边还要介绍一下如何通过graylog把慢日志相应的字段提取出来,方便我们进行分析,进而用grafana做成…
grok表达式的打印复制格式的完整语法是下面这样的: %{PATTERN_NAME:capture_name:data_type}data_type 目前只支持两个值:int 和 float. 在线gork正则的地址:http://grokdebug.herokuapp.com/ Logstash基础正则地址:https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns 也可以在你的安装路径下查找grok-patte…
一.ELK简介 Elk是指logstash,elasticsearch,kibana三件套,我们一般使用它们做日志分析. ELK工作原理图: 简单来讲ELK具体的工作流程就是客户端的logstash agent(shipper)从日志里取出数据推送到服务端的redis里,服务端的logstash从redis里取出数据推送到elasticsearch并产生索引,然后使用Kibana进行页面展示. 二.ELK准备环境配置 1.搭建环境(都是在Centos6.8系统下操作完成):  Ip地址    …
参考 http://nginx.org/en/docs/http/ngx_http_log_module.html?&_ga=1.92028562.949762386.1481787781#log_format https://www.goaccess.io/man#custom-log 展开 goaccess默认的日志格式与nginx的默认格式一致 %h %^[%d:%t %^] "%r" %s %b "%R" "%u" log_for…
前言 长话短说,事情的起因是这样的,由于工作原因需要分析网站日志,服务器是windows,iis日志,在网上找了找,github找了找,居然没找到,看来只有自己动手丰衣足食. 那么分析方法我大致可分为三种: 1. 基于时间:将请求url按时间段分类,那么我们根据每个时间段的url数量及攻击数量就可以大致判断出哪个时间段有apt类型攻击,哪个时间段是扫描器行为: 2. 基于攻击ip:正常的攻击肯定会有请求被记录(当然你要是有0day当我没说,正常的探测总会有吧=.=!),然后每个ip去分析: 3.…
>>> import os>>> os.chdir('e:/')>>> log=open('access.log')//这两行是获取日志流>>> ip = r"?P<ip>[\d.]*">>> date = r"?P<date>\d+">>> month = r"?P<month>\w+">>…