【最佳实践】Filebeat实现MySQL日志轻量化发送至Elasticsearch

简介: 在今天的文章中,我们来详细地描述如果使用Filebeat把MySQL的日志信息传输到Elasticsearch中。

在今天的文章中,我们来详细地描述如果使用Filebeat把MySQL的日志信息传输到Elasticsearch中。

环境准备

1、准备centos7.4版本 ECS 环境,关闭 selinux、firewall。
2、准备阿里云elasticsearch 6.7 版本环境,并使用创建的账号密码登录Kibana
3、安装 Filebeat 版本为 6.7.0
4、安装 MySQL 版本为 5.6.48

安装 MySQL

我们需要通过以下命令,来对 MySQL 进行安装。

# yum install mysql-server
# systemctl start mysqld
# systemctl status mysqld
####通过mysqladmin设置root密码#####
# mysqladmin -u root password "123456"

下一步在my.cnf中配置error日志文件和慢速查询日志文件,默认情况下这些配置禁用状态,需要手动开启;也可通过mysql命令开启临时慢日志。

# vim /etc/my.cnf
[mysqld]
log_queries_not_using_indexes = 1
slow_query_log=on
slow_query_log_file=/var/log/mysql/slow-mysql-query.log
long_query_time=0

[mysqld_safe]
log-error=/var/log/mysql/mysqld.log
注: MySQL 不会主动创建日志文件,所以需要手动添加,添加完后赋予所有用户可读可写权限,如chmod 777 slow-mysql-query.log。

配置 Filebeat

在 Centos 上安装 Filebeat 是非常直接的,可以打开 Elasticsearch - Kibana 控制台,进入概览页,选择“ add log data”

image.png


image.png

我们按照上面的要求一步一步地进行安装和修改。在修改filebeat.yml文件时,我们需要注意以下:

一、配置 Filebeat modules 动态加载。

filebeat.config.modules:
  # Glob pattern for configuration loading
  path: /etc/filebeat/modules.d/mysql.yml

  # Set to true to enable config reloading
  reload.enabled: true

  # Period on which files under path should be checked for changes
  reload.period: 1s

由于 MySQL 需要分别检测错误日志及慢日志,通过模块分别指定所在路径,动态加载模块,所以path指定模块所在路径。

二、 填入 Kibana 地址。

setup.kibana:

  # Kibana Host
  # Scheme and port can be left out and will be set to the default (http and 5601)
  # In case you specify and additional path, the scheme is required: http://localhost:5601/path
  # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
  host: "https://es-cn-0p11111000zvqku.kibana.elasticsearch.aliyuncs.com:5601"

三、填入 Elasticsearch 地址及端口号:

output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["es-cn-0p11111000zvqku.elasticsearch.aliyuncs.com:9200"]
  # Optional protocol and basic auth credentials.
  #protocol: "https"
  username: "elastic"
  password: "elastic@333"

四、启用 MySQL 模块,并进行配置:

# sudo filebeat modules enable mysql
# vim /etc/filebeat/modules.d/mysql.yml
- module: mysql
  # Error logs
  error:
    enabled: true
    var.paths: ["/var/log/mysql/mysqld.log"]
    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    #var.paths:

  # Slow logs
  slowlog:
    enabled: true
    var.paths: ["/var/log/mysql/slow-mysql-query.log"]
    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    #var.paths:

我们需要运行如下的命令来把相应的 Dashboard,Pipeline 及 Template 信息上传到 Elasticsearch 和 Kibana 中。

# sudo filebeat setup
# sudo service filebeat start

Kibana Dashboard

对 MySQL 数据库做重启及做查询,会生产对应的慢日志及错误日志。
部分慢查询日志

image.png


部分error日志

image.png


进入Kibana dashboard “[Filebeat MySQL] Overview ECS”,观察采集到的数据,至此,我们可以看到所有的关于MySQL的信息,这里包括以下queries及error logs等。

image.png

总结

如本教程所示,Filebeat 是用于 MySQL 数据库和 Elasticsearch 集群的出色日志传送解决方案。 与以前的版本相比,它非常轻巧,可以有效地发送日志事件。 Filebeat支持压缩,并且可以通过单个 yaml 文件轻松配置。 使用Filebeat,您可以轻松地管理日志文件,跟踪日志注册表,创建自定义字 K 段以在日志中启用细化过滤和发现,以及使用 Kibana 可视化功能立即为日志数据供电。

声明:本文由“Beats:如何使用Filebeat将MySQL日志发送到Elasticsearch”基于阿里云服务环境授权改编
原文作者:Elastic 中国社区布道师——刘晓国
合作编辑:Lettie/大禹

image.png

阿里云Elastic Stack】100%兼容开源ES,独有9大能力,提供免费X-pack服务(单节点价值$6000)

相关活动


更多折扣活动,请访问阿里云 Elasticsearch 官网

阿里云 Elasticsearch 商业通用版,1核2G ,SSD 20G首月免费
阿里云 Logstash 2核4G首月免费


image.png

image.png

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
10月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
864 1
日志收集和Spring 微服务监控的最佳实践
|
10月前
|
负载均衡 监控 安全
5 个 IIS 日志记录最佳实践
IIS日志记录是监控Web服务器性能与安全的关键。本文介绍启用日志、应用池配置、负载均衡、敏感数据防护、日志集中管理及保留策略等五大最佳实践,助力高效分析与合规审计。
509 1
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
1395 55
|
监控 安全 BI
优化 Apache 日志记录的 5 个最佳实践
Apache 日志记录对于维护系统运行状况和网络安全至关重要,其核心包括访问日志与错误日志的管理。通过制定合理的日志策略,如选择合适的日志格式、利用条件日志减少冗余、优化日志级别、使用取证模块提升安全性及实施日志轮换,可有效提高日志可用性并降低系统负担。此外,借助 Eventlog Analyzer 等专业工具,能够实现日志的高效收集、可视化分析与威胁检测,从而精准定位安全隐患、评估服务器性能,并满足合规需求,为强化网络安全提供有力支持。
364 0
优化 Apache 日志记录的 5 个最佳实践
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
1236 3
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
|
存储 运维 监控
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
本文解析了Elasticsearch Serverless在智能日志分析领域的关键技术、优势及应用价值。
1276 8
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
|
存储 弹性计算 运维
海量日志接入 Elasticsearch Serverless 应用降本70%以上
本文将探讨在日志场景下,使用阿里云Elasticsearch Serverless相较于基于ECS自建Elasticsearch集群的成本与性能优势,展示如何通过Serverless架构实现高达 70%以上的成本节约。
1087 0
|
存储 SQL 监控
|
自然语言处理 监控 数据可视化
|
存储 监控 安全

热门文章

最新文章

相关产品

  • 检索分析服务 Elasticsearch版
  • 推荐镜像

    更多