美文网首页
Elasticsearch:4.ELK监控 MySQL 慢查询日

Elasticsearch:4.ELK监控 MySQL 慢查询日

作者: 小六的昵称已被使用 | 来源:发表于2019-08-16 07:17 被阅读0次

    环境

    第一步:安装 Filebeat 并打开 MySQL 慢查询日志

    1.打开 MySQL 慢查询日志

    慢查询日志默认路径:/var/lib/mysql/master118-slow.log
    #################### 相关命令 ####################
    ## 查看是否打开慢查询日志
    show variables like '%slow_query_log%';
    
    ## 打开慢查询日志(当前生效)
    set global slow_query_log=1;
    
    ## 大于多少秒的记录日志(而非大于等于)
    show variables like 'long_query_time';
    
    ## 设置long_query_time阈值(当前生效)(需要重新连接mysql才能看到修改值)
    set global long_query_time=4;
    
    ## 查看慢查询日志记录方式
    show variables like '%log_output%';
    
    ## 查询未使用索引的查询是否记录
    show variables like 'log_queries_not_using_indexes';
    
    ## 未使用索引的查询也记录日志(建议打开)
    set global log_queries_not_using_indexes=1;
    
    ## 是否将慢管理语句例如ANALYZE TABLE和ALTER TABLE等记入慢查询日志
    show variables like 'log_slow_admin_statements';
    
    ## 另外,如果你想查询有多少条慢查询记录,可以使用系统变量。
    show global status like '%slow_queries%';
    
    #################### 打开慢查询日志(永久生效)####################
    vim /etc/my.cnf
    # 打开慢日志查询
    slow_query_log = 1
    # 设置慢查询阈值
    long_query_time = 2
    # 未使用索引的查询也记录日志(建议打开)
    # log_queries_not_using_indexes = 1
    
    systemctl stop mysqld
    systemctl start mysqld
    systemctl status mysqld
    

    2.安装并设置 Filebeat

    1.安装

    wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.6.0-x86_64.rpm
    rpm -ivh filebeat-6.6.0-x86_64.rpm
    

    2.启用模块

    filebeat modules enable mysql
    
        ## 查看模块列表:
        filebeat modules list
        ## 模块文件路径
        /etc/filebeat/modules.d
    

    3.修改配置文件 filebeat.yml

    ## 备份配置文件
    cp /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml.bak
    ## 过滤掉 # 开头的注释行和空行,方便修改
    cat /etc/filebeat/filebeat.yml.bak | grep -v '^#' | grep -v '^  #' | grep -v '^$' > /etc/filebeat/filebeat.yml
    ## 编辑配置文件,修改以下内容
    vim /etc/filebeat/filebeat.yml
    
        output.elasticsearch:
          hosts: ["localhost:9200"]
        修改为:
        output.elasticsearch:
          hosts: ["192.168.1.1:9200"]
    

    4.修改配置文件

    cp /usr/share/filebeat/module/mysql/slowlog/config/slowlog.yml /usr/share/filebeat/module/mysql/slowlog/config/slowlog.yml.bak
    vim /usr/share/filebeat/module/mysql/slowlog/config/slowlog.yml
    
    exclude_lines: ['^[\/\w\.]+, Version: .* started with:.*', '^# Time:']   # Exclude the header
    修改为
    exclude_lines: ['^[\/\w\.]+, Version: .* started with:.*']   # Exclude the header
    

    5.初始换环境

    filebeat setup -e
    
        -e  指定将将输出发送到标准错误而不是syslog
        该命令加载建议的索引模板以写入 Elasticsearch,并部署 Kibana 可视化仪表板(如果可用)
    

    6.以上命令确认输出没有错误后开启 Filebeat 服务并设置开机自动启动

    systemctl stop filebeat
    systemctl start filebeat
    systemctl start httpd
    systemctl status filebeat
    

    附录:

    官网介绍:https://www.elastic.co/guide/en/beats/filebeat/6.6/filebeat-module-mysql.html

    相关文章

      网友评论

          本文标题:Elasticsearch:4.ELK监控 MySQL 慢查询日

          本文链接:https://www.haomeiwen.com/subject/bswujctx.html