基于ELK进行邮箱访问日志的分析
2017-11-16 09:11
330 查看
公司希望能够搭建自己的日志分析系统。现在基于ELK的技术分析日志的公司越来越多,在此也记录一下我利用ELK搭建的日志分析系统。
其实在搭这个系统还是比较麻烦的,可是前面有的踩过的坑当时没有及时记录下来,有点忘记了。但是里面就是配置logstash和filebeat配置证书的时候有点麻烦,配置不好会一直没有办法连通。还要注意ES的索引占得空间,其实ES索引还蛮占空间的。
针对这个日志,我利用grok去解析这些字段的信息,自定义的正则规则是:
通过grok我们可以获取这些字段,但如何在这些字段中挖掘有用的信息呢?这里面比较有价值的信息就是用户的登录时间,登录客户端,以及登录的ip。通过之前的 geoip 的配置,我们可以获取到ip对应的地址信息。登录时间由于很多邮件客户端在后台会去同步或者去登陆,所以参考意义不是特别的大。
后续对于日志如何进行分析,我目前还没有特别好的思路,希望有着方面经验的小伙伴可以一起交流。
系统搭建
系统主要是基于elasticsearch+logstash+filebeat+kibana+nginx,其实我这个用的还是比较多的,可以直接用logstash直接去采集日志。不过由于logstash的性能影响都比较大,而且filebeat安装很方便,而且占用资源很小,所以现在filebeat现在被广泛应用于日志采集。其实在搭这个系统还是比较麻烦的,可是前面有的踩过的坑当时没有及时记录下来,有点忘记了。但是里面就是配置logstash和filebeat配置证书的时候有点麻烦,配置不好会一直没有办法连通。还要注意ES的索引占得空间,其实ES索引还蛮占空间的。
Logstash
Logstash其实在整个ELK中环节还蛮重要的,其实可以理解为一个“中间人”的角色。它通过从filebeat中接受数据,然后进行过滤,最后再传输给es。所以一般logstash的配置也包括input,output以及filter的配置。filter
logstash中的filter比较重要,可以对日志利用正则进行过滤,这样你可以更关心日志中你需要关注的字段。强烈建议去grokdebugger去调试你的grok正则表达式,但是国内访问速度比较慢,可以采取一定手段访问。上面还有grok内置的一些常用正则表达式,可以配合试用调试。geoip
日志分析中往往涉及到ip归属地的查询。logstash自带的geoip插件已经自带了数据库,可以下载最新的数据库。同时,geoip里面包含了很多信息,你可以进行过滤,只选择自己想要的字段:geoip { fields => ["city_name", "country_name"] }
日志分析
邮箱日志的格式是IIS的日至格式,日志是由空格分割开的一些字段信息。主要的字段包含以下这些字段信息:#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
针对这个日志,我利用grok去解析这些字段的信息,自定义的正则规则是:
DATE_CH \d+[/-]\d+[/-]\d+ OUTER_EMAIL %{DATE_CH:date} %{TIME:time} %{IP:serverIp} %{WORD:method} %{URIPATH:uristem} %{PARAM:query} %{INT:port} %{NOTSPACE:username} %{IP:clientIp} %{NOTSPACE:ua} %{INT:status} %{INT:substatus} %{INT:win32status} %{INT:timetaken}
通过grok我们可以获取这些字段,但如何在这些字段中挖掘有用的信息呢?这里面比较有价值的信息就是用户的登录时间,登录客户端,以及登录的ip。通过之前的 geoip 的配置,我们可以获取到ip对应的地址信息。登录时间由于很多邮件客户端在后台会去同步或者去登陆,所以参考意义不是特别的大。
后续对于日志如何进行分析,我目前还没有特别好的思路,希望有着方面经验的小伙伴可以一起交流。
相关文章推荐
- elk 分析nginx访问和错误日志
- SLB访问日志分析:基于客户端来源和HTTP状态码的实践
- 通过实时日志分析_进行访问日志的快速统计
- 通过实时日志分析_进行访问日志的快速统计
- 对访问日志数据进行读取,清洗,分析,绘图和储存
- 【数据架构解读】基于阿里云数加StreamCompute和MaxCompute构建的访问日志统计分析
- 利用AWStat+JAWStat进行Apache访问日志分析
- 【数据架构解读】基于阿里云数加StreamCompute和MaxCompute构建的访问日志统计分析
- 基于APACHE访问日志分析(access_log)的广告流量统计系统
- elk分析nginx访问日志
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(八) elasticsearch配置外网访问及常见错误处理
- 基于ELK的OpenStack日志获取和分析 [2] - Kibana使用
- 【数据架构解读】基于阿里云数加StreamCompute和MaxCompute构建的访问日志统计分析
- 如何在基于kafka和ELK stack的日志分析系统中进行流量控制
- 开源实时日志分析ELK平台部署
- 使用ELK在DC / OS中进行日志管理
- 基于FEA spk的web日志分析
- hadoop日志分析系统二 第二部分利用hadoop平台进行数据处理 第三种方式 hive+sqoop+zookeeper方式
- CENTOS6.5安装日志分析ELK elasticsearch + logstash + redis + kibana