之前聊了一下graylog如何采集nginx日志,为此我介绍了两种采集方法(主动和被动),让大家对graylog日志采集有了一个大致的了解。

从日志收集这个角度,graylog提供了多样性和灵活性,大家可以根据自身场景选择适合自己的一种。

这次要跟大家聊的是如何通过graylog采集mysql慢日志。mysql慢日志的特点就是多行输出,不是那种一行就是一条日志的那种打印方式。

除了采集,我这边还要介绍一下如何通过graylog把慢日志相应的字段提取出来,方便我们进行分析,进而用grafana做成性能分析看板(APM)。

所以今天要围绕三点展开来讲:

graylog如何采集多行日志

graylog如何通过正则解析日志字段

如何通过grafana制作mysql慢日志的性能看板

一、graylog如何采集多行日志:

(1)我们在已经建好的linux配置里新增一个mysql_slow_logBeats Input,如果有对这块不清楚的同学可以看一下我之前的文章:Graylog2通过Graylog Collector Sidecar采集Nginx日志 主动方式 ,这里不再赘述一遍了。

(2)需要注意的是,我们处理的是多行日志所以要勾选 Enable Mutilline 

(3)Start pattern of a multiline message 文本框中填入:^# Time ,也就是告诉它日志的开头部分是以# Time开始。然后在How are matching lines combined into one event 的下拉菜单选择 after ,意思就是把以# Time开头,并在之后的那些行都算是一条日志。

(4)我们不要忘了在导航栏System/Collector 中,把新增的mysql_slow_log的新标签更新一下。

(5)在mysql服务器上安装好graylog Sidecar 并采集mysql慢日志,会得到以下的效果。graylog Sidecar 安装配置方法,请参考我之前的文章:Graylog2通过Graylog Collector Sidecar采集Nginx日志 主动方式 

二、graylog如何通过正则解析日志字段

(1)要想把日志中的各个字段提取出来,还需要我们对message进行进一步处理,通过正则匹配将字段提取出来。导航栏选择System/Grok Patterns

(2)grok pattern取名为MYSQL_SLOW_QUERY_TIMEPattern一栏填入我们的正则表达式为:

Query_time: %{NUMBER:mysql_slow_querytime:float}(?:%{SPACE})Lock_time: %{NUMBER:mysql_slow_locktime:float}(?:%{SPACE})Rows_sent: %{NUMBER:mysql_slow_rowssent:int}(?:%{SPACE})Rows_examined: %{NUMBER:mysql_slow_rowsexamined:int}(?:%{SPACE})(?:%{GREEDYDATA}

点击save保存,这样我们就已经创建好一个名为MYSQL_SLOW_QUERY_TIME的这个正则解析了。

(3)这一步我们要创建一个mysql慢日志日志的解析器。我们在导航栏Search中选择一条mysql慢日志,在message的右侧有个小黑三角,点击选择Grok pattern -> Creat extractor for field message

(4)在Grok pattern文本框中填入刚才我们定义好的正则解析式的名字MYSQL_SLOW_QUERY_TIME,在Condition中选择执行这个解析的匹配的条件,有关键字:# Query_time 执行,把解析器命名完毕,点击Update extractor 进行保存。

(5)我们在回到导航栏Search中找一条最新采集的mysql慢日志,这时我们已经看到,相应的字段已经解析出来了,当然我们只是解析了其中一个字段,其他字段的解析还需大家了解一下正则表达式自己来编写,我只是抛砖引玉一下。

三、如何通过grafana制作mysql慢日志的性能看板

在grafana中选择mysql慢日志所在的ES数据源之后我们分别创建三个图形展示栏,饼图、表格栏、时间轴。

饼图主要是用来展示慢查询所在数据库的分布情况

表格图主要展示具体的时间,哪些客户端访问哪些数据库,耗时多少,并可以按照时间或者耗时时间进行排序。

时间轴主要是用来鼠标滑动时间范围,饼图和表格图会根据时间范围进行联动展示滑动范围内慢查询的详细信息。

这样,就能很快的帮我们分析出,具体是哪个慢查询导致的性能问题,一目了然。

具体grafana看板的制作方法,有时间我抽空详细讲一下,今天只是提供一个思路和实现手段。

[日志分析]Graylog2采集mysql慢日志的更多相关文章

  1. [日志分析]Graylog2采集Nginx日志 主动方式

    这次聊一下Graylog如何主动采集Nginx日志,分成两部分: 介绍一下 Graylog Collector Sidecar 是什么 如何配置 Graylog Collector Sidecar 采 ...

  2. [日志分析]Graylog2采集Nginx日志 被动方式

    graylog可以通过两种方式采集nginx日志,一种是通过Graylog Collector Sidecar进行采集(主动方式),另外是通过修改nginx配置文件的方式进行收集(被动方式). 这次说 ...

  3. [日志分析]Graylog2进阶 通过正则解析Nginx日志

    之前分享的 [日志分析]Graylog2采集Nginx日志 主动方式 这篇文章介绍了Graylog如何通过Graylog Collector Sidecar来采集nginx日志. 由于日志是未经处理的 ...

  4. 【linux日志】【日志分析】linux系统各日志文件的含义

    前段时间太忙,没有来得及管博客,最近时间充裕了,开始更新博客. 因为最近在看linux日志相关内容,把心得分享给大家 linux系统日志文件默认存放路径/var/log/ ls查看此路径下有哪些日志文 ...

  5. [日志分析]Graylog2进阶之获取Nginx来源IP的地理位置信息

    如果你们觉得graylog只是负责日志收集的一个管理工具,那就too young too naive .日志收集只是graylog的最最基础的用法,graylog有很多实用的数据清洗和处理的进阶用法. ...

  6. 日志分析_使用shell完整日志分析案例

    一.需求分析 1. 日志文件每天生成一份(需要将日志文件定时上传至hdfs) 2. 分析日志文件中包含的字段:访问IP,访问时间,访问URL,访问状态,访问流量 3. 现在有"昨日" ...

  7. logstash采集tomcat日志、mysql错误日志

    input{ file { path => "/opt/Tomcat7.0.28/logs/*.txt" start_position => "beginni ...

  8. MySQL慢日志查询分析方法与工具

    MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句. 2)慢查 ...

  9. 日志分析 第一章 ELK介绍

    1 ELK各组件介绍? ELK Stack是elasticsearch.logstash.kibana是三个开源软件的组合, fielbeat是一个轻量级日志收集工具,类似于Linux系统中tail ...

随机推荐

  1. OpenCV 实现自己的线性滤波器

    #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #i ...

  2. SpringMVC学习笔记九:拦截器及拦截器的简单实用

    SpringMVC中的interceptor拦截器是非常重要的,它的主要作用就是拦截指定的用户请求,并进行相应的预处理和后处理. 拦截时间点在"处理器映射器根据用户提交的请求映射出所要执行的 ...

  3. 深入理解Javascript中的valueOf与toString

    基本上,javascript中所有数据类型都拥有valueOf和toString这两个方法,null除外.它们俩解决javascript值运算与显示的问题,本文将详细介绍,有需要的朋友可以参考下. t ...

  4. if分支判断

    # 控制语句 分支 循环语句 # 判断语句 if ..elif..else # if 条件语句(比较 逻辑 成员运算) # 空数据 == False # 非空数据 == True age = 20 i ...

  5. 前端学习之路CSS基础学习一

    CSS CSS定义如何显示HTML元素,当浏览器读到一个样式表,它就按照这个样式表来对文档进行格式化. CSS实例 每个CSS样式由两个组成部分:选择器和声明.声明又包括包括属性和属性值.每个声明之后 ...

  6. C++走向远洋——24(项目一,三角形,复制构造函数)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:sanjiaoxing.cpp * 作者:常轩 * 微信公众号: ...

  7. python爬虫-提取网页数据的三种武器

    常用的提取网页数据的工具有三种xpath.css选择器.正则表达式 1.xpath 1.1在python中使用xpath必须要下载lxml模块: lxml官方文档 :https://lxml.de/i ...

  8. Ubuntu gnome 美化与个别组件安装

    1. 安装 gnome 工具 sudo apt install gnome-tweaks# 打开时中文直接选择 "优化" 即可 1.1. gnome 官网 # https://ex ...

  9. Java 在PDF中添加表格

    本文将介绍通过Java编程在PDF文档中添加表格的方法.添加表格时,可设置表格边框.单元格对齐方式.单元格背景色.单元格合并.插入图片.设置行高.列宽.字体.字号等. 使用工具:Free Spire. ...

  10. JUC常用同步工具类——CountDownLatch,CyclicBarrier,Semaphore

    在 JUC 下包含了一些常用的同步工具类,今天就来详细介绍一下,CountDownLatch,CyclicBarrier,Semaphore 的使用方法以及它们之间的区别. 一.CountDownLa ...