利用filebeat推送mysql慢查询日志
介绍通过利用filebeat来收集mysql的慢查询日志,logstash解析后推送到elasticsearch,并创建自定义的索引,最终通过kibana进行web展示。
环境介绍:
操作系统版本:CentOS Linux release 7.3.1611 (Core) 64bit
Mysql版本: 5.6.28
Logstash版本: logstash 5.3.0
Elasticsearch版本:elasticsearch 5.3.0
Kibana版本:Kibana 5.3.0
Java版本:1.8.0_121
Mysql版本: 5.6.28及mysql慢日志
[bash]# Time: 170420 1:41:04 # User@Host: root[root] @ [192.168.1.178] Id: 2238895756 # Query_time: 3.887598 Lock_time: 0.000099 Rows_sent: 19 Rows_examined: 19 SET timestamp=1492623664; select * from users_test; # User@Host: root[root] @ [192.168.1.178] Id: 2238895828 # Query_time: 3.161184 Lock_time: 0.000150 Rows_sent: 28 Rows_examined: 28 SET timestamp=1492623664; select * from users_test; # Time: 170420 1:41:12[/bash]
filebeat及logstash配置
filebeat.yml配置文件
[bash]filebeat: prospectors: - paths: - /data/mysql/xxx-slow.log document_type: mysqlslow multiline: pattern: "^# User@Host: " negate: true match: after registry_file: /var/lib/filebeat/registry output: logstash: hosts: ["192.168.1.63:5044"][/bash]
logstash.conf
[bash]input { beats { port => 5044 } } filter {grok { match => [ "message", "(?m)^# User@Host: %{USER:query_user}\[[^\]]+\] @ (?:(?<query_host>\S*) )?\[(?:%{IP:query_ip})?\]\s*Id: %{NUMBER:id:int}\s+# Query_time: %{NUMBER:query_time:float}\s+Lock_time: %{NUMBER:lock_time:float}\s+Rows_sent: %{NUMBER:rows_sent:int}\s+Rows_examined: %{NUMBER:rows_examined:int}\s*(?:use %{DATA:database};\s*)?SET timestamp=%{NUMBER:timestamp};\s*(?<query>(?<action>\w+)\s+.*)" ] } grok { match => { "message" => "# Time: " } add_tag => [ "drop" ] tag_on_failure =>[] } if "drop" in [tags] { drop {} } date { match => [ "timestamp", "UNIX", "YYYY-MM-dd HH:mm:ss"] remove_field => [ "timestamp" ] }} output { elasticsearch { hosts => "192.168.1.63:9200" manage_template => false index => "%{[@metadata][beat]}-%{[type]}-%{+YYYY.MM.dd}" document_type => "%{[@metadata][type]}" } }[/bash]
kibana日志输出展示
mysql慢日志kibana展示
mysql慢日志kibana展示
转载于:https://blog.51cto.com/93489/1917982
利用filebeat推送mysql慢查询日志相关推荐
- mysql 慢查询日志的作用_MySQL慢查询日志的作用和开启
前言 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中.lon ...
- nodejs mysql数据推送_使用Nodejs实现实时推送MySQL数据库最新信息到客户端
下面我们要做的就是把MySQL这边一张表数据的更新实时的推送到客户端,比如MySQL这边表的数据abc变成123了,那使用程序就会把最新的123推送到每一个连接到服务器的客户端.如果服务器的连接的客户 ...
- ELK logstash 处理MySQL慢查询日志
介绍 在生产环境下,logstash 经常会遇到处理多种格式的日志,不同的日志格式,解析方法不同.下面来说说logstash处理多行日志的例子,对MySQL慢查询日志进行分析,这个经常遇到过,网络上疑 ...
- MySQL 慢查询日志 使用方法浅析 日志定位与优化技巧
目录 前言 1.如何开启使用慢查询日志? 1.1 开启慢查询日志 1.2 设置慢查询阈值 1.3 确定慢查询日志的文件名和路径 1.3.1 查询MySQL数据目录 1.3.2 查询慢查询日志文件名 1 ...
- MySQL 慢查询日志导入 Elasticsearch 可视化查询分析
当应用程序后台 SQL 查询慢的时候我们一般第一时间会查看数据库慢查询记录,但是慢查询记录是原始文本,直接查询搜索分析比较费时费力,虽然业界有针对 MySQL 慢查询分析的命令行工具(比如:pt-qu ...
- MySQL 慢查询日志介绍
一. 慢查询介绍 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过指定阀值的SQL语句,运行时间超过long_query_time值的SQL,会被记录到慢查询 ...
- mysql慢查询日志在哪里
如何查找MySQL中查询慢的SQL语句 你是指慢查询日志吗? 在my.ini中加上下面两句话 log-slow-queries=e:\mysql5.5\mysql_slow_query.log lon ...
- 清理mysql慢查询日志_MySQL清理慢查询日志slow_log的方法
一.清除原因 因为之前打开了慢查询,导致此表越来越大达到47G,导致磁盘快被占满,使用xtrabackup进行备份的时候文件也超大. mysql> show variables like 'lo ...
- MySQL 慢查询日志分析及可视化结果
MySQL 慢查询日志分析及可视化结果 MySQL 慢查询日志分析 pt-query-digest分析慢查询日志 pt-query-digest --report slow.log 报告最近半个小时的 ...
最新文章
- centos lamp 连接mysql_centOS下lamp安装
- 短信自动转发到另一个手机_以 wmghz.com 为例,简单实现打一个网址自动就转到另一个网址...
- MYSQL基础语法的使用
- Two-Stream RNN/CNN for Action Recognition in 3D Videos-阅读笔记
- 华为鸿蒙新机价格表,华为Mate30已确认:鸿蒙系统+巴龙5000,售价感人
- 九、模型文档编辑器(生成项目文档)
- Charles 映射本地文件map local
- 自学python好找工作么-非计算机专业自学Python好找工作吗?
- XP照片缩略图和照片本身显示不一致,如何解决防范?
- 《英特尔 oneAPI—打开异构新纪元》
- FANUC数控系统应用中心
- 腾达u12如何安装linux驱动,解决Centos7 安装腾达U12无线网卡驱动问题
- Muzli – 所有你需要的设计灵感都在这
- GDOI2016模拟8.19数学
- 【随笔】第一批走进大学的“00后”群体——纪念2015级西安交大少年班
- 从1到无穷大—机器学习篇
- 2021高级消防设施操作员模拟真题集及答案解析
- 游程编码用matlab实现代码_二值图像游程编码matlab代码
- springboot租房管理系统源码分享
- EXCEL插件-爬虫[1]-地址文字转换成地理坐标