码迷,mamicode.com
首页 > 数据库 > 详细

logstash简单收集mysql慢日志-5

时间:2019-04-09 13:57:20      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:process   pos   output   需要   开头   多行   log   tar   RoCE   

mysql:
 Server version: 5.7.17 

mysql日志格式:

技术图片

简单的要求

 需要慢sql和慢sql的查询时间和切换的库

logstash配置写法

input {
   file {
     path => "/data/soft/mysql-slow.log"
     start_position => "beginning"
     type => "mysql-slow"
      codec => multiline {
      pattern => "^# User@Host:"
      negate => true
      what => previous
     }

   }
}
output {
  if[type] == "mysql-slow" {
    elasticsearch {
     index => "mysql-slow1-%{+YYYY.MM.dd}"
     hosts => ["192.168.1.252:9200"]
    }
 }
}
codec的multiline插件
 使用codec的multiline插件实现多行匹配,这是一个可以将多行进行合并的插件,而且可以使用what指定将匹配到的行与前面的行合并还是和后面的行合并。
    input {
        stdin {
        codec => multiline {
        pattern => "^\[" #当遇到[开头的行时候将多行进行合并
        negate => true  #true为匹配成功进行操作,false为不成功进行操作
        what => "previous"  #与上面的行合并,如果是下面的行合并就是next
        }}
}

测试输出

 input {
 file {
   path => "/data/soft/mysql-slow.log"
   start_position => "beginning"
   type => "mysql-slow"
    codec => multiline {
    pattern => "^# User@Host:"
    negate => true
    what => previous
   }

 }
file {
   path => "/etc/passwd"
   start_position => "beginning"
   type => "passwd"
    codec => multiline {
    pattern => "^#"
    negate => true
    what => previous
   }
}

output {
 if[type] == "mysql-slow" {
   elasticsearch {
    index => "mysql-slow1-%{+YYYY.MM.dd}"
    hosts => ["192.168.1.252:9200"]
   }
}
if[type] == "passwd" {
  elasticsearch { 
    index => "passwd1-%{+YYYY.MM.dd}"
    hosts => ["192.168.1.252:9200"] 

  }
}

技术图片
查看elasticsearch-head结果
技术图片
结果是: 把#开头的合上一条合并 其他的合并一条

简单处理mysql慢日志展示

技术图片
kibana展示结果
技术图片

logstash简单收集mysql慢日志-5

标签:process   pos   output   需要   开头   多行   log   tar   RoCE   

原文地址:https://blog.51cto.com/9025736/2375807

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!