zoukankan      html  css  js  c++  java
  • Filebeat使用内置的mysql模块收集日志存储到ES集群并使用kibana存储

    Filebeat内置了不少的模块,可以直接使用他们对日志进行收集,支持的模块如下:

    [root@ELK-chaofeng07 logstash]# filebeat modules list
    Enabled:
    mysql
    
    Disabled:
    apache2
    auditd
    elasticsearch
    haproxy
    icinga
    iis
    kafka
    kibana
    logstash
    mongodb
    nginx
    osquery
    postgresql
    redis
    suricata
    system
    traefik

    只要是上面出现的filebeat都是支持的,但是使用它之前需要设置一下才可以使用,比如:

    filebeat modules enable mysql

    那这次我们来看看如何使用mysql模块收集mysql的慢查询日志和错误日志

    1、首先是使filebeat支持mysql模块

    filebeat modules enable mysql

    2、在配置文件/etc/filebeat/filebeat.yml启用输出到elasticsearch和kibana的功能。

    设置完成后保存就可以了。此外,你的kibana和elasticsearch集群需要正常运行才能进行下一步。

    3、开始准备预定义环境

    filebeat setup -e

    如果最后报错了,那么需要根据情况进行修复。

    4、在配置文件/etc/filebeat/modules.d/mysql.yml进行设置。

    5、上面的完成后基本就差不多了,此时我们可以启动filebeat服务了。

     如果说你启动的时候报如下错误,说明你的filebeat.yml配置文件中有多个output输出源,此时你需要把其他的output都注释掉才行,只留一个源输出到elasticsearch即可。

    Exiting: Template loading requested but the Elasticsearch output is not configured/enabled

    6、此后你会在elasticsearch集群中看到这个索引:

    7、接下来就是到kibana界面,在这里,你不需要事先创建索引等等操作,直接点击dashboard界面选择mysql即可,比如:

    最后你使用几个慢查询语句以及插入一些错误日志到执行的日志文件中看一下效果:

    就这样子就完成了。

     本篇实践是我参考官网的文档来做的,详情链接是:https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-mysql.html#mysql-settings

    总结:我觉得上面的这种方式并不能普及使用,因为这缺少logstash过滤的一步,这样子我们就不能很好的使用聚合等图形。此外没有broker,会造成大量输出到elasticsearch导致阻塞。我的方案是使用logstash过滤加上内置的自定义模块比较好。

  • 相关阅读:
    腾讯2017校招编程:一个数等于两个素数的和
    人类简史:从动物到上帝
    讨论:研发团队到底应该是制定OKR还是制定KPI?
    绩效主义毁了索尼
    研发团队是该制定OKR还是KPI?
    一切不行,都是“人”的不行?
    能力陷阱:能力越强,越容易失败
    一个好的产品经理到底有多么重要?
    管理:不会把目标翻译成任务,要你何用?
    做一个有产品思维的研发:Scrapy安装
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/10650222.html
Copyright © 2011-2022 走看看