前言
logstash 可以处理各类日志
对于 Mongod 的 Log 来说,情况既简单又复杂
简单性在于 mongodb patterns 已经都定义好了,拿来就能用;复杂性在于,这样抓出来的信息几乎没有太大价值,无非是实现了一个日志存储的功能,谈不上分析,因为最重要的操作时长未能被抓取,而这个数值是分析慢操作的关键,然而 Mongod 日志在不同类别下message部分的格式完全不一样,操作耗时信息是可有可无的
Tip: grok 预定义的正则匹配可以参考 grok patterns ,mongo的日志规范可以参考 Mongodb Log,不同版本的格式也是不一样的
这里简单分享一下使用logstash处理 Mongod 日志的方法 ,相关的理论基础可以参考 grok
Tip: 当前的最新版本为 MongoDB 3.2.1 ,Logstash 2.2.1
概要
环境
- CentOS release 6.6 (Final)
- 2.6.32-504.el6.x86_64
- logstash 2.1.1
- elasticsearch-2.1.1
- MongoDB version: 3.0.3
格式
从 MongoDB 3.0 开始,MongoDB 日志的格式包含了 severity level 和 component
代码语言:javascript复制<timestamp> <severity> <component> [<context>] <message>