<pre name="code" class="html"># User@Host: zjzc_app[zjzc_app] @  [10.171.243.55]  Id: 1621705
# Query_time: 10.666552 Lock_time: 0.000392 Rows_sent: 15 Rows_examined: 24829551
SET timestamp=1452566321;
SELECT
*
FROM
(SELECT
c.sn,
c.userNick,
c.mobilePhone,
DATE_FORMAT(c.registerTime, '%Y/%m/%d') registerTime,
cp.personName,
cp.personCardNo,
cp.gender,
cp.personAuthStatus,
IF(1407 = asm.clientManagerSn
OR 1407 IS NULL, cei.policyAreaSn, NULL) AS policyAreaSn,
IF(1407 = asm.clientManagerSn
OR 1407 IS NULL, area.areaName, NULL) AS policyAreaName,
(SELECT
IFNULL(SUM(capitalBalance), 0) + IFNULL(SUM(yieldBalance), 0)
FROM
ProductRepayment pr, Product p
WHERE
pr.productSn = p.sn
AND pr.clientSn = c.sn
AND pr.status = '1'
AND DATEDIFF(p.realValueEndDate, '2016-01-12') <= 7
AND DATEDIFF(p.realValueEndDate, '2016-01-12') >= 0) investBalance,
(SELECT
IFNULL(SUM(capitalBalance), 0) + IFNULL(SUM(yieldBalance), 0) + cai.availableBalance + cai.frozenWithDraw + cai.frozenPay
FROM
ProductRepayment
WHERE
clientSn = c.sn AND status = '1') totalBalance,
(cai.frozenWithDraw + cai.frozenPay) frozenBalance,
cai.availableBalance
FROM
Client c
LEFT JOIN ClientExtraInfo cei ON c.sn = cei.clientSn
LEFT JOIN Area area ON cei.policyAreaSn = area.sn
LEFT JOIN AssignClientManager asm ON asm.clientSn = c.sn, ClientPersonalInfo cp, ClientAssetInfo cai
WHERE
c.sn = cp.clientSn AND asm.status = '1'
AND c.sn = cai.clientSn
AND c.sn IN (SELECT
asm.clientSn
FROM
AssignClientManager asm
WHERE
asm.clientManagerSn IN (1407)
AND asm.status = '1')) t
ORDER BY sn DESC
LIMIT 1020 , 15; 表达式:
(?m)\s*# User@Host:\s+\S+\[%{USER:user}\]\s+@\s+\[%{IP:clientip}\]\s+(?<id>(\S+:\s+\S+))\s*#\s+Query_time:\s+%{NUMBER:Query_time}\s+Lock_time: %{NUMBER:lock_time}\s+Rows_sent: %{NUMBER:rows_sent}\s+Rows_examined: %{NUMBER:rows_examined}\s*
\s*SET\s+timestamp=%{NUMBER:timestamp};\s*(?<query>(\s*\S+\s*).*)\s* 输出:
{
"user": [
[
"zjzc_app"
]
],
"clientip": [
[
"10.171.243.55"
]
],
"id": [
[
"Id: 1621705"
]
],
"Query_time": [
[
"10.666552"
]
],
"lock_time": [
[
"0.000392"
]
],
"rows_sent": [
[
"15"
]
],
"rows_examined": [
[
"24829551"
]
],
"timestamp": [
[
"1452566321"
]
],
"query": [
[
"SELECT \n *\nFROM\n (SELECT \n c.sn,\n c.userNick,\n c.mobilePhone,\n DATE_FORMAT(c.registerTime, '%Y/%m/%d') registerTime,\n cp.personName,\n cp.personCardNo,\n cp.gender,\n cp.personAuthStatus,\n IF(1407 = asm.clientManagerSn\n OR 1407 IS NULL, cei.policyAreaSn, NULL) AS policyAreaSn,\n IF(1407 = asm.clientManagerSn\n OR 1407 IS NULL, area.areaName, NULL) AS policyAreaName,\n (SELECT \n IFNULL(SUM(capitalBalance), 0) + IFNULL(SUM(yieldBalance), 0)\n FROM\n ProductRepayment pr, Product p\n WHERE\n pr.productSn = p.sn\n AND pr.clientSn = c.sn\n AND pr.status = '1'\n AND DATEDIFF(p.realValueEndDate, '2016-01-12') <= 7\n AND DATEDIFF(p.realValueEndDate, '2016-01-12') >= 0) investBalance,\n (SELECT \n IFNULL(SUM(capitalBalance), 0) + IFNULL(SUM(yieldBalance), 0) + cai.availableBalance + cai.frozenWithDraw + cai.frozenPay\n FROM\n ProductRepayment\n WHERE\n clientSn = c.sn AND status = '1') totalBalance,\n (cai.frozenWithDraw + cai.frozenPay) frozenBalance,\n cai.availableBalance\n FROM\n Client c\n LEFT JOIN ClientExtraInfo cei ON c.sn = cei.clientSn\n LEFT JOIN Area area ON cei.policyAreaSn = area.sn\n LEFT JOIN AssignClientManager asm ON asm.clientSn = c.sn, ClientPersonalInfo cp, ClientAssetInfo cai\n WHERE\n c.sn = cp.clientSn AND asm.status = '1'\n AND c.sn = cai.clientSn\n AND c.sn IN (SELECT \n asm.clientSn\n FROM\n AssignClientManager asm\n WHERE\n asm.clientManagerSn IN (1407)\n AND asm.status = '1')) t\nORDER BY sn DESC\nLIMIT 1020 , 15;"
]
]
} 如果去掉(?m) \s*# User@Host:\s+\S+\[%{USER:user}\]\s+@\s+\[%{IP:clientip}\]\s+(?<id>(\S+:\s+\S+))\s*#\s+Query_time:\s+%{NUMBER:Query_time}\s+Lock_time: %{NUMBER:lock_time}\s+Rows_sent: %{NUMBER:rows_sent}\s+Rows_examined: %{NUMBER:rows_examined}\s*
\s*SET\s+timestamp=%{NUMBER:timestamp};\s*(?<query>(\s*\S+\s*).*)\s* 此时匹配:
{
"user": [
[
"zjzc_app"
]
],
"USERNAME": [
[
"zjzc_app"
]
],
"clientip": [
[
"10.171.243.55"
]
],
"IPV6": [
[
null
]
],
"IPV4": [
[
"10.171.243.55"
]
],
"id": [
[
"Id: 1621705"
]
],
"Query_time": [
[
"10.666552"
]
],
"BASE10NUM": [
[
"10.666552",
"0.000392",
"15",
"24829551",
"1452566321"
]
],
"lock_time": [
[
"0.000392"
]
],
"rows_sent": [
[
"15"
]
],
"rows_examined": [
[
"24829551"
]
],
"timestamp": [
[
"1452566321"
]
],
"query": [
[
"SELECT \n *"
]
]
} 在和 codec/multiline 搭配使用的时候,需要注意一个问题,grok 正则和普通正则一样, 默认是不支持匹配回车换行的。就像你需要 =~ //m 一样也需要单独指定,具体写法是在表达式开始位置加 (?m) 标记。
												

logstash 通过mysql 慢日志了解(?m)的更多相关文章

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

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

  2. ELK logstash 处理MySQL慢查询日志(初步)

    写在前面:在做ELK logstash 处理MySQL慢查询日志的时候出现的问题: 1.测试数据库没有慢日志,所以没有日志信息,导致 IP:9200/_plugin/head/界面异常(忽然出现日志数 ...

  3. ELK logstash 处理MySQL慢查询日志

    在生产环境下,logstash 经常会遇到处理多种格式的日志,不同的日志格式,解析方法不同.下面来说说logstash处理多行日志的例子,对MySQL慢查询日志进行分析,这个经常遇到过,网络上疑问也很 ...

  4. 用Kibana和logstash快速搭建实时日志查询、收集与分析系统

    Logstash是一个完全开源的工具,他可以对你的日志进行收集.分析,并将其存储供以后使用(如,搜索),您可以使用它.说到搜索,logstash带有一个web界面,搜索和展示所有日志. kibana ...

  5. ELK监控系统nginx / mysql慢日志

    ELK监控系统nginx / mysql慢日志 elasticsearch logstash kibana ELK监控系统nginx日志 1.环境准备 centos6.8_64 mini IP:192 ...

  6. ELK 构建 MySQL 慢日志收集平台详解

    ELK 介绍 ELK 最早是 Elasticsearch(以下简称ES).Logstash.Kibana 三款开源软件的简称,三款软件后来被同一公司收购,并加入了Xpark.Beats等组件,改名为E ...

  7. ELK构建MySQL慢日志收集平台详解

    上篇文章<中小团队快速构建SQL自动审核系统>我们完成了SQL的自动审核与执行,不仅提高了效率还受到了同事的肯定,心里美滋滋.但关于慢查询的收集及处理也耗费了我们太多的时间和精力,如何在这 ...

  8. 用ElasticSearch,LogStash,Kibana搭建实时日志收集系统

    用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana ...

  9. 如何通过 Docker 部署 Logstash 同步 Mysql 数据库数据到 ElasticSearch

    在开发过程中,我们经常会遇到对业务数据进行模糊搜索的需求,例如电商网站对于商品的搜索,以及内容网站对于内容的关键字检索等等.对于这些高级的搜索功能,显然数据库的 Like 是不合适的,通常我们采用 E ...

随机推荐

  1. View获取焦点

    <EditText android:id="@+id/et_phoneNum" android:layout_width="match_parent" a ...

  2. u盘安装linux(windows7+linux双系统)

    前提条件:1.先装windows7,后装linux系统 2.windows7 里有“未分区的空间”(不是C:,D:,E:) :计算机→管理→存储空间,删除一些压缩卷即可. 3.下载ultraiso → ...

  3. JNI之本地线程进入c层

    在JNI开发中有时候会遇到在c层创建小线程的情况.从本质来讲,java线程和c线程都是请求kerner获取的,只是一段执行序列.从这个角度看,线程并没有什么不同,java线程和c线程可以通用. 然而在 ...

  4. 转载:C# 之泛型详解

    本文原地址:http://www.blogjava.net/Jack2007/archive/2008/05/05/198566.html.感谢博主分享! 什么是泛型 我们在编写程序时,经常遇到两个模 ...

  5. python面对对象编程----------7:callable(类调用)与context(上下文)

    一:callables callables使类实例能够像函数一样被调用 如果类需要一个函数型接口这时用callable,最好继承自abc.Callable,这样有些检查机制并且一看就知道此类的目的是c ...

  6. 让ie8支持foreach

    if ( !Array.prototype.forEach ) { Array.prototype.forEach = function forEach( callback, thisArg ) { ...

  7. SASS详解之沿袭(extend)

    SASS详解之继承(extend) 每一个类名都有可能有另一个类名的所有样式和它自己的特定样式的.当一个div的身上有两个类名,一个是“one”,另一个是“two”的时候.如下 HTML代码 < ...

  8. ASP.NET 日志

    ASP.NET5已经内建集成了日志系统,你也可以用第三方的日志框架. 1. 在你的应用程序中实现日志 在Startup.cs文件中,在Configure里可以把ILoggerFactory注入进去,然 ...

  9. (转)浅谈dedecms模板引擎工作原理及自定义标签

    理解织梦模板引擎有什么意义?一方面可以更好地自定义标签.更多在于了解织梦系统,理解模板引擎是理解织梦工作原理的第一步.理解织梦会使我们写php代码时更顺手,同时能学习一些php代码的组织方式. 这似乎 ...

  10. Python算术运算符

    Python 运算符 什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4和5被称为操作数,"+"号为运算符. Python语言支持 ...