logstash简单收集mysql慢日志-5

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 => "^# [email protected]:"
      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 => "^# [email protected]:"
    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展示结果

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

时间: 2024-11-11 06:45:53

logstash简单收集mysql慢日志-5的相关文章

Ubuntu下rsyslog集中收集mysql审计日志

服务端 1.安装最新版本rsyslog sudo apt-get install software-properties-common python-software-properties sudo add-apt-repository ppa:adiscon/v8-stable sudo apt-get update sudo apt-get install rsyslog 2.配置目录存储mysql审计日志 vim /etc/rsyslog.d/50-default.conf # add:

logstash收集MySQL慢查询日志

#此处以收集mysql慢查询日志为准,根据文件名不同添加不同的字段值input { file { path => "/data/order-slave-slow.log" type => "mysql-slow-log" start_position => "beginning" codec => multiline { pattern => "^# [email protected]:" neg

用Kibana+Logstash+Elasticsearch快速搭建实时日志查询 收集与分析系统

安装环境 先看看都需要安装什么软件包ruby 运行Kibana 必须, rubygems 安装ruby扩展必须 bundler 功能类似于yum JDK 运行java程序必须 redis 用来处理日志队列 logstash 收集.过滤日志 ElasticSearch 全文搜索服务(logstash集成了一个) kibana 页面展示 192.168.18.240 logstash index,kibana,JDK192.168.18.241 logstash agent,JDK192.168.1

logstash推送mysql慢查询日志

本文将将介绍通过logstash用来收集mysql的慢查询日志,然后推送给elasticsearch,并创建自定义的索引,最终通过kibana进行web展示. 环境介绍: 操作系统版本:centos6.6 64bit Mysql版本: mysql5.6.17与mysql5.1.36 Logstash版本: logstash-2.0.0.tar.gz Elasticsearch版本:elasticsearch-2.1.0.tar.gz Kibana版本:Kibana 4.2.1 Java版本:1.

rsyslog+analyzer+mysql实现日志收集展示

why->what->where->when->who->how 1.为什么要进行日志收集?为什么要用到rsyslog? 日志是我们对系统和应用程序的运行状况分析的根本依据,同时一些日志也有其特殊的作用,例如mysql的二进制日志和事务日志.因此要进行日志收集,为了避免重复的进行日志系统的实现,因此在linux发行版中提供了系统日志收集-rsyslogd 2.什么是rsyslog? rsyslog的前身是syslog,其是一个日志收集器,用于应用程序日志收集和内核日志收集.

使用logstash结合logback收集微服务日志

因为公司开发环境没有装elk,所以每次查看各个微服务的日志只能使用如下命令 这样子访问日志是并不方便,于是想为每个微服务的日志都用logstash收集到一个文件out中,那以后只要输出这个文件则可查看所有的日志 结合logback和logstash收集日志 1.为需要收集日志的微服务引入logstash-logback-encode依赖 //用logstash收集logback compile 'net.logstash.logback:logstash-logback-encoder:5.2'

使用Logstash收集PHP相关日志

这里收集三种日志 PHP的错误日志,PHP-FPM的错误日志和慢查询日志 在php.ini中设置 error_log = /data/app_data/php/logs/php_errors.log 在php-fpm.conf中设置 error_log = /data/app_data/php/logs/php-fpm_error.log slowlog = /data/app_data/php/logs/php-fpm_slow.log PHP错误日志如下: [29-Jan-2015 07:3

rsyslog+MySQL+loganalyzer日志集中分析管理

前言   rsyslog系统日志,在CentOS5上叫syslog,而在CentOS6上叫rsyslog,叫增强版的syslog,CentOS5上的配置文件在/etc/syslog.conf下,而CentOS6在/etc/rsyslog.conf下.       syslog默认是把我们的日志放到文件.用户.日志服务器.管道中.       rsyslog在syslog的基础上还多了一条途径,允许把日志放到mysql数据中.       rsyslog比syslog好在哪里:       Mul

使用logstash+elasticsearch+kibana快速搭建日志平台

日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有: 根据关键字查询日志详情 监控系统的运行状况 统计分析,比如接口的调用次数.执行时间.成功率等 异常数据自动触发消息通知 基于日志的数据挖掘 很多团队在日志方面可能遇到的一些问题有: 开发人员不能登录线上服务器查看详细日志,经过运维周转费时费力 日志数据分散在多个系统,难以查找 日志数据量大,查询速度慢 一个调用会涉及多个系统,难以在这些系统的日志中快速定位数据 数据不够实时 常见的一些重量级的开源