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. js 中对象属性特性的描述

    如何自定义属性的特性? 用对象.属性的特性和自定义的属性的特性有什么区别? 它的四大特性 writable   enumerable   configable   有什么区别? 先预习一个用对象.属性 ...

  2. iOS 中KVC、KVO、NSNotification、delegate 总结及区别-b

    1.KVC,即是指 NSKeyValueCoding,一个非正式的Protocol,提供一种机制来间接访问对象的属性.而不是通过调用Setter.Getter方法访问.KVO 就是基于 KVC 实现的 ...

  3. Tomcat根目录下work文件夹的作用

    今天遇到了这样的一个问题:就是我之前把项目部署到了tomcat下,运行没有任何问题,后来我把我之前的改项目的原项目文件部署上去后,运行时总是出现之前的界面,而服务器又是启动正常的;通过仔细的检查后,发 ...

  4. Yarn应用程序编程实例

    Yarn自带的Application示例程序:DistributedShell 和 UnManaged AM1 DistributedShell ,故名思意,是一个分布式运行shell命令的应用程序, ...

  5. Android 自定义dialog(AlertDialog的修改样式)

    LayoutInflater inflater = LayoutInflater(AudioActivity.this); View timepickerview = inflater.inflate ...

  6. android 上传图片到服务器Tomcat(Struts2)

    在做android开发的时候,有时你会用到图片的上传功能,在我的android项目中,我是选中图片,点击上传多张图片 android客户端上传图片部分的代码如下: package com.exampl ...

  7. git日志的查看与修改

    1.命令行中查看日志 git log 默认是显示所有的日志信息,之前出来的界面显示的日志,很少. 最后发现,只需要使用键盘上向下键↓,就可以继续浏览更多的日志 空格键,可以翻页浏览日志. 向左←  向 ...

  8. 从 mian 函数开始一步一步分析 nginx 执行流程(四)

    如不做特殊说明,本博客所使用的 nginx 源码版本是 1.0.14,[] 中是代码所在的文件! 这一节我们分析ngx_worker_process_cycle(),该函数代码比较少,因为它通过调用函 ...

  9. bzoj2007

    首先不难发现海拔高度只能为0或1 因为决策是单调的 不难发现最优决策一定是划分为海拔为0和1两块,不会出现01相间的情况 所以这很明显是一个最小割 由于n*n很大,我们必须要用平面图最小割转化为最短路 ...

  10. WIA Property Constant Definitions

    (@http://msdn.microsoft.com/en-us/library/windows/desktop/ms630202(v=vs.85).aspx): const DeviceID = ...