之前聊了一下graylog如何采集nginx日志,为此我介绍了两种采集方法(主动和被动),让大家对graylog日志采集有了一个大致的了解。
从日志收集这个角度,graylog提供了多样性和灵活性,大家可以根据自身场景选择适合自己的一种。
这次要跟大家聊的是如何通过graylog采集mysql慢日志。mysql慢日志的特点就是多行输出,不是那种一行就是一条日志的那种打印方式。
除了采集,我这边还要介绍一下如何通过graylog把慢日志相应的字段提取出来,方便我们进行分析,进而用grafana做成性能分析看板(APM)。
所以今天要围绕三点展开来讲:
graylog如何采集多行日志
graylog如何通过正则解析日志字段
如何通过grafana制作mysql慢日志的性能看板
一、graylog如何采集多行日志:
(1)我们在已经建好的linux配置里新增一个mysql_slow_log的Beats Input,如果有对这块不清楚的同学可以看一下我之前的文章:[日志分析]Graylog2采集Nginx日志 主动方式 ,这里不再赘述一遍了。
(2)需要注意的是,我们处理的是多行日志所以要勾选 Enable Mutilline
(3)Start pattern of a multiline message 文本框中填入:^# Time ,也就是告诉它日志的开头部分是以# Time开始。然后在How are matching lines combined into one event 的下拉菜单选择 after ,意思就是把以# Time开头,并在之后的那些行都算是一条日志。<