zoukankan      html  css  js  c++  java
  • 通过logstash收集mysql慢查询日志转换为json

    input {
    file {
    type => "mysql-slow"
    path => "/var/log/slow_mysqld.log"
    start_position => "beginning"
    codec => multiline {
    pattern => "^# Time:"
    negate => true
    what => "previous"
    }
    }
    }
    filter {
    grok {
    match => { "message" => "SELECT SLEEP" }
    add_tag => [ "sleep_drop" ]
    tag_on_failure => []
    }
    if "sleep_drop" in [tags] {
    drop {}
    }
    grok {
    match => [ "message", "(?m)^# Time:.*s+# User@Host: %{USER:user}[[^]]+] @ (?:(?<clienthost>S*) )?[(?:%{IP:clientip})?]s*Id: %{NUMBER:id}s+# Query_time: %{NUMBER:query_time}s+Lock_time: %{NUMBER:lock_time}s+Rows_sent: %{NUMBER:rows_sent}s+Rows_examined: %{NUMBER:rows_examined}s*(?:use %{DATA:database};s*)?SET timestamp=%{NUMBER:timestamp};s*(?<query>(?<action>w+)s+.*)$" ]
    }
    grok {
    match => [ "message", "(?m)^# Time: %{GREEDYDATA:Time}s+# User@Host: %{USER:user}[[^]]+] @ (?:(?<clienthost>S*) )?[(?:%{IP:clientip})?]s*Id: %{NUMBER:id}s+# Schema: %{GREEDYDATA:schema}s+# Query_time: %{NUMBER:query_time}s+Lock_time: %{NUMBER:lock_time}s+Rows_sent: %{NUMBER:rows_sent}s+Rows_examined: %{NUMBER:rows_examined}s+Rows_affected: %{NUMBER:Rows_affected}s+# Bytes_sent: %{NUMBER:Bytes_sent}s+SET timestamp=%{NUMBER:sqltimestamp};s*(?<query>(?<action>w+)s+.*)$" ]
    }
    date {
    match => [ "timestamp", "UNIX" ]
    remove_field => [ "timestamp" ]
    }
    }
    output {
         stdout {
     codec => rubydebug {}
    }
    }

     日志格式

    # Time: 2018-11-22T01:58:21.726750Z
    # User@Host: xxx[xxx] @  [xx.xx.xx.xx]  Id: 23258299
    # Schema: xxx  Last_errno: 0  Killed: 0
    # Query_time: 3.533099  Lock_time: 0.000021  Rows_sent: 2  Rows_examined: 2517002  Rows_affected: 0
    # Bytes_sent: 975
    SET timestamp=1542851901;
    SELECT * FROM `x`  WHERE `xxx`
    # Time: 2018-11-22T01:58:21.726750Z
    # User@Host: xxx[xxx] @  [xx.xx.xx.xx]  Id: 23258299
    # Schema: xxx  Last_errno: 0  Killed: 0
    # Query_time: 3.533099  Lock_time: 0.000021  Rows_sent: 2  Rows_examined: 2517002  Rows_affected: 0
    # Bytes_sent: 975
    SET timestamp=1542851901;
    SELECT * FROM `x`  WHERE `xxx`
    # Time: 2018-11-22T01:58:21.726750Z
    # User@Host: xxx[xxx] @  [xx.xx.xx.xx]  Id: 23258299
    # Schema: xxx  Last_errno: 0  Killed: 0
    # Query_time: 3.533099  Lock_time: 0.000021  Rows_sent: 2  Rows_examined: 2517002  Rows_affected: 0
    # Bytes_sent: 975
    SET timestamp=1542851901;
    SELECT * FROM `x`  WHERE `xxx`
  • 相关阅读:
    html分页自适应居中;css设置分页自适应居中
    jQuery如何给DOM添加ID
    jquery如何获取div下ul的某个li
    js正则验证数字的方法
    css改变input输入框placeholder值颜色
    js校验表单后提交表单的三种方法总结
    Thinkcmf子栏目获取父级栏目所有子栏目列表
    Thinkcmf截取内容长度
    thinkcmf2.2 火狐浏览器图片上传以及谷歌图片上传打开稍慢
    c语言结构体中的冒号的用法
  • 原文地址:https://www.cnblogs.com/cp-miao/p/9996409.html
Copyright © 2011-2022 走看看