ELK监控系统nginx / mysql慢日志

elasticsearch
logstash
kibana

ELK监控系统nginx日志

1.环境准备

centos6.8_64 mini

IP:192.168.10.78

tar包:

logstash-2.4.0.tar.gz

elasticsearch-2.4.0.tar.gz

kibana-4.6.1-linux-x86_64.tar.gz

JDK环境

elasticsearch logstach kibana java
V2.4 V2.4 V4.6.1 V1.8.0_111

nginx采用yum安装即可,安装后启动此服务。

2.logstash简单配置编写

logstash目录下新建测试文件test.conf 其内动如下

  1. input { 

  2. file { 

  3. type => "syslog" 

  4. tags => ["log"] 

  5. path => ["/var/log/messages","/log/*.log"] 

  6. start_position => beginning 

  7. ignore_older => 0 



  8. file { 

  9. type => "nginx_log" 

  10. tags => ["nginx"] 

  11. path => ["/var/log/nginx/access.log"] 

  12. start_position => beginning 

  13. ignore_older => 0 







  14. output 




  15. elasticsearch { 

  16. hosts => [ "192.168.10.78:9200" ] 






编写好后测试运行:

  1. [root@localhost logstash]# ./bin/logstash -f test.conf  

  2. Settings: Default pipeline workers: 2 

  3. Pipeline main started 

此时logstash已经运行,我们通过浏览器访问web:192.168.10.68

同时在终端下重启网卡服务,用以查看系统日志是否有输出至kibana

打开kibana查看日志输出

测试kibana.png

可以看见有网卡日志和web访问日志。

接下来监控mysql日志

yum install mysql mysql-server -y

安装完直接在kibana就看见安装mysql的日志输出结果了

Time    type    tags    message
November 10th 2016, 10:18:13.193 syslog log Nov 10 10:18:12 localhost yum[11445]: Installed: mysql-server-5.1.73-7.el6.x86_64
November 10th 2016, 10:18:13.057 syslog log Nov 10 10:18:12 localhost yum[11445]: Installed: mysql-server-5.1.73-7.el6.x86_64
November 10th 2016, 10:18:10.187 syslog log Nov 10 10:18:09 localhost yum[11445]: Installed: mysql-5.1.73-7.el6.x86_64
November 10th 2016, 10:18:10.185 syslog log Nov 10 10:18:09 localhost yum[11445]: Installed: perl-DBD-MySQL-4.013-3.el6.x86_64
November 10th 2016, 10:18:10.183 syslog log Nov 10 10:18:09 localhost yum[11445]: Installed: perl-DBI-1.609-4.el6.x86_64
November 10th 2016, 10:18:10.051 syslog log Nov 10 10:18:09 localhost yum[11445]: Installed: mysql-5.1.73-7.el6.x86_64
November 10th 2016, 10:18:10.050 syslog log Nov 10 10:18:09 localhost yum[11445]: Installed: perl-DBD-MySQL-4.013-3.el6.x86_64
November 10th 2016, 10:18:10.048 syslog log Nov 10 10:18:09 localhost yum[11445]: Installed: perl-DBI-1.609-4.el6.x86_64

接下来修改test.conf配置文件,添加对mysql满日志的监控

1.yum install mysql mysql-server

2.service network restart

3.mysql慢日志开启:

(此处参考http://blog.itpub.net/29500582/viewspace-1432985/)

Mysql 启动慢查询日志 (不用重启)

  1. 查看mysql系统参数

mysql> show variables like "%slow%";

+---------------------------+-------------------------------+

| Variable_name | Value |

+---------------------------+-------------------------------+

| log_slow_admin_statements | OFF |

| log_slow_slave_statements | OFF |

| slow_launch_time | 2 |

| slow_query_log | OFF |

| slow_query_log_file | /mysql/data/nagiosdb-slow.log |

+---------------------------+-------------------------------+

5 rows in set (0.00 sec)

slow_query_log: off关闭状态 on开启状态

slow_launch_time 默认超过2s为慢查询

slow_query_log_file 慢查询日志存放地点

这三个参数,在不同的mysql版本中,不太一样,不过都可以通过 show variables like "%slow%" 查看出来

  1. 运行如下命令即可运行慢查询日志

mysql> set global slow_query_log=ON;

Query OK, 0 rows affected (0.03 sec)

mysql> set global slow_launch_time=5;

Query OK, 0 rows affected (0.00 sec)

mysql> show variables like "%slow%";

+---------------------------+-------------------------------+

| Variable_name | Value |

+---------------------------+-------------------------------+

| log_slow_admin_statements | OFF |

| log_slow_slave_statements | OFF |

| slow_launch_time | 5 |

| slow_query_log | ON |

| slow_query_log_file | /mysql/data/nagiosdb-slow.log |

+---------------------------+-------------------------------+

5 rows in set (0.00 sec)

mysql 5.1.6版本起,slow_query_log 和 slow_launch_time 支持写文件或写数据库表两种方式,并且日志的开启,输出方式的修改,都可以在global级别动态修改。

只需简单通过set global slow_query_log=ON;即可开启慢查询,而不需要重启数据库!

  1. 可以直接写到配置文件中 my.cnf

slow_query_log_file=/mysql/log/nagiosdb-slow.log

slow_launch_time=5

可以完成配置!!

!!!根据上述配置开启慢日志后,查询本机日志名称及目录,不要搞错。

在test.conf配置文件添加如下:

  1. # this is mysql log 

  2. file { 

  3. type => "mysql_log" 

  4. tags => ["mysql"] 

  5. path => ["/var/log/mysql/mysqld.log"] 

  6. start_position => beginning 

  7. ignore_older => 0 



  8. # this is mysql-slow log 

  9. file { 

  10. type => "mysql_slow" 

  11. tags => ["mysql-slow"] 

  12. path => ["/var/run/mysqld/mysqld-slow.log"] 

  13. start_position => beginning 

  14. ignore_older => 0 



配置完后启动logstash

[root@localhost logstash]# ./bin/logstash -f test.conf

确认慢查询已开启

mysql> show variables like "%slow%";
+---------------------+---------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------+
| log_slow_queries | ON |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /var/run/mysqld/mysqld-slow.log |
+---------------------+---------------------------------+
4 rows in set (0.00 sec) mysql>

输入测试命令,并查看kibana是否有mysql-low数据输出;

mysql> select sleep(6);
+----------+
| sleep(6) |
+----------+
| 0 |
+----------+
1 row in set (5.99 sec)
mysql>

慢数据输出正常:

!!!目前所有日志数据均未作规范化输出处理,只是简单测试了elk的基本功能,后续将升入研究学习elk.后面会继续做好笔记供自己参考学习。

ELK监控系统nginx / mysql慢日志的更多相关文章

  1. 饿了么监控系统 EMonitor 与美团点评 CAT 的对比

    背景介绍 饿了么监控系统EMonitor:是一款服务于饿了么所有技术部门的一站式监控系统,覆盖了系统监控.容器监控.网络监控.中间件监控.业务监控.接入层监控以及前端监控的数据存储与查询.每日处理总数 ...

  2. 从0搭建一个基于 ELK 的日志、指标收集与监控系统

    为了使得私有化部署的系统能更健壮,同时不增加额外的部署运维工作量,本文提出了一种基于 ELK 的开箱即用的日志和指标收集方案. 在当前的项目中,我们已经使用了 Elasticsearch 作为业务的数 ...

  3. 使用ELK监控Nginx日志实现接口流量访问统计

    前段时间自己看书学习了一下elasticSearch,后面自己实践了使用elasticSearch.logStash.kibana搭建一个网站接口流量访问统计的监控看板.在这里做一些记录学习. 先看一 ...

  4. 日志监控系统中,大批量查询mysql方案

    最近开发遇到一个问题:需要查询一个大时间段内的数据,分1000个小段,即为1000个点.X轴是时间,Y轴是该小时间段内统计后数据.注意:数据返回是一个list,其中每个对象返回值都是该小时间段内数据统 ...

  5. ELK+redis搭建nginx日志分析平台

    ELK+redis搭建nginx日志分析平台发表于 2015-08-19   |   分类于 Linux/Unix   |  ELK简介ELKStack即Elasticsearch + Logstas ...

  6. 使用elk+redis搭建nginx日志分析平台

    elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态 ...

  7. 使用elk+redis搭建nginx日志分析平台(引)

    http://www.cnblogs.com/yjf512/p/4199105.html elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎 ...

  8. 使用elk+redis搭建nginx日志分析平台(转)

    logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录.其次,需要有个队列,re ...

  9. 第一篇:Win10系统搭建Python+Django+Nginx+MySQL 开发环境详解(完美版)

    Win10+Python+Django+Nginx+MySQL 开发环境搭建详解 PaulTsao 说明:本文由作者原创,仅供内部参考学习与交流,转载引用请注明出处,用于商业目的请联系作者本人. Wi ...

随机推荐

  1. Bootstrap_排版_表格

    一.基础表格 <table class="table"> <thead> <tr> <th>表格标题</th> < ...

  2. 使用 fn 标签 解决字数过多时用省略号代替 .............................

    list列表单条记录某字段大于10就后面添加省略号(如:内容只是显示开始的10个字,后面的用省略号代替) 在list列表中单条记录某字段大于10就后面添加省略号, 首先引入 jstl标签: <% ...

  3. 【算法】快速排序-Java版

    说在前面的话 平常码砖的时候,对于一个数组进行排序更多的是起泡排序,起泡排序对于一般不是很长的数组进行操作没什么问题,一旦数组过大,很明显效率低. 而快排是对起泡排序的一种改进,效率明显优高. 快排思 ...

  4. WPF 核心体系结构

    WPF 体系结构 主题提供 Windows Presentation Foundation (WPF) 类层次结构,涵盖了 WPF 的大部分主要子系统,并描述它们是如何交互的. System.Obje ...

  5. POJ 2965 The Pilots Brothers' refrigerator 位运算枚举

      The Pilots Brothers' refrigerator Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 151 ...

  6. 正则表达式替换img标签src值!!!

    方法一: 相关链接:http://bbs.csdn.net/topics/320185735 实例:此实例自己做的时候讲字符串加了alt进行了有关修改  不清楚看上面链接 string test = ...

  7. php版的求表达式的真值表-TrueValueTable

    贴上代码: <?php error_reporting(E_ALL & ~E_NOTICE); $expression=$_GET['TrueTable']; //读取输入框数据 if( ...

  8. 利用Anaconda安装python后,如何安装opencv-python

    利用Anaconda安装python后,想要安装opencv-python,但发现利用opencv-python的官方教程,没法实现opencv的安装 还好看到了另外一篇博客的方法,试一下,果然凑效 ...

  9. Ubuntu14.04 和 Windows7 双系统安装

    用了一个暑假,我原来的Ubuntu终于挂了,连gnome桌面器都进不去了,索性重装整个Ubuntu.至少这次我知道什么都升级是一个很糟糕的行为. 由于笔者的电脑原来是Win8预装机,所以各种地方都是的 ...

  10. java 上下文切换

    上下文概念 在高性能编程时,经常接触到多线程. 起初我们的理解是, 多个线程并行地执行总比单个线程要快, 就像多个人一起干活总比一个人干要快. 然而实际情况是, 多线程之间需要竞争IO设备, 或者竞争 ...