之前我们搭建的ELK日志收集系统,主要是用来收集SpringBoot应用的日志。其原理是应用通过Logstash插件,使用TCP向Logstash传输日志,从而存储到Elasticsearch中去。但是有很多中间件的日志都是直接存储在文件中的,比如NginxElasticsearchMySQL,此时我们就需要一个搬运工来把日志搬到Elasticsearch中去,Filebeat正是这样一个日志搬运工,本文将详细介绍它的使用方法,希望对大家有所帮助。

SpringBoot实战电商项目mall(40k+star)地址:https://github.com/macrozheng/mall

Filebeat简介

Filebeat是一款轻量级日志采集器,可用于转发和汇总日志与文件。Filebeat内置有多种模块(Nginx、MySQL、Redis、Elasticsearch、Logstash等),可针对常见格式的日志大大简化收集、解析和可视化过程,只需一条命令即可。

Filebeat安装及配置

安装Filebeat之前,我们需要先安装好Elasticsearch和Kibana,具体参考《你居然还去服务器上捞日志,搭个日志收集系统难道不香么!》,注意使用7.6.2版本。

  • 我们先下载Filebeat的安装包,下载地址:https://www.elastic.co/cn/downloads/past-releases/filebeat-7-6-2
  • 下载完成后解压到指定目录,注意图中所示的三个地方;
  • Kibana中早就提供好了Filebeat收集各种日志的教程,我们先进入首页,访问地址:http://localhost:5601/app/kibana#/home
  • 点击Add log data按钮,可以发现支持的中间件还是很丰富的,涵盖了常用的;
  • 点开Nginx的日志收集教程看下,是不是很详细;
  • 接下来我们就要开始配置Filebeat了,配置好Elasticsearch和Kibana的连接地址,修改Filebeat的安装目录下的配置文件filebeat.yml即可,修改内容如下。
output.elasticsearch:hosts: ["localhost:9200"]
setup.kibana:host: "localhost:5601"

收集Nginx日志

我们先拿Nginx来练练手,体验下Filebeat的日志收集功能吧。

  • 使用如下命令开启Filebeat的Nginx日志收集模块;
filebeat modules enable nginx

  • 开启完成后,进入modules.d目录下,你会发现nginx.ymldisable后缀没有了,说明已经被开启;
  • 接下来修改nginx.yml文件,配置好Nginx的accesserror日志路径;
# Module: nginx
# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-nginx.html- module: nginxaccess:enabled: truevar.paths: ["I:/developer/env/nginx-1.8.1/logs/access.log"]error:enabled: truevar.paths: ["I:/developer/env/nginx-1.8.1/logs/error.log"]

  • 由于启用了Nginx日志收集模块,我们需要通过如下命令对Filebeat进行设置;
filebeat setup

  • 通过如下命令启动Filebeat服务;
filebeat -e

  • 我们可以通过之前使用的Kibana中的Nginx教程页面,检查下数据是否成功被收集了;
  • 点击Nginx logs dashboard按钮可以查看收集到的Nginx日志,先看看概览日志;
  • 再看看详细日志,从此不用再去服务器上捞Nginx日志了!

收集Elasticsearch日志

接下来我们再试试收集Elasticsearch的日志。

  • 使用如下命令开启Filebeat的Elasticsearch日志收集模块;
filebeat modules enable elasticsearch

  • 接下来修改elasticsearch.yml配置,配置好Elasticsearch的日志路径;
# Module: elasticsearch
# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-elasticsearch.html- module: elasticsearchserver:enabled: truevar.paths: ["I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch.log"]slowlog:enabled: truevar.paths: ["I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch_index_indexing_slowlog.log","I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch_index_search_slowlog.log"]deprecation:enabled: truevar.paths: ["I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch_deprecation.log"]

  • 设置并启动Filebeat服务;
filebeat setup
filebeat -e

  • Discover页面中查看Elasticsearch日志。

收集MySQL日志

再来试试收集MySQL的日志。

  • 使用如下命令开启Filebeat的MySQL日志收集模块;
filebeat modules enable mysql

  • 接下来修改mysql.yml配置,配置好MySQL的日志路径,主要是错误日志和慢查询日志;
# Module: mysql
# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-mysql.html- module: mysqlerror:enabled: truevar.paths: ["C:/ProgramData/MySQL/MySQL Server 5.7/Data/DESKTOP-5NIMJ19.err"]slowlog:enabled: truevar.paths: ["C:/ProgramData/MySQL/MySQL Server 5.7/Data/DESKTOP-5NIMJ19-slow.log"]

  • 设置并启动Filebeat服务;
filebeat setup
filebeat -e

  • 点击MySQL logs dashboard按钮可以查看收集到的MySQL日志;
  • 查看MySQL收集到的日志详情。

总结

本文主要介绍了使用Filebeat去收集Nginx、Elasticsearch和MySQL的文件日志,其他中间件的日志收集用法也基本相同,用Filebeat收集中间件日志是不是方便!

本文 GitHub https://github.com/macrozheng/mall-learning已经收录,欢迎大家Star!

mysql查看日志命令_面对成百上千台服务器产生的日志,试试这款轻量级日志搬运神器!相关推荐

  1. mysql查看日志命令_面对成百上千台服务器产生的日志,试试这款轻量级日志搬运神器!...

    Filebeat简介 Filebeat是一款轻量级日志采集器,可用于转发和汇总日志与文件.Filebeat内置有多种模块(Nginx.MySQL.Redis.Elasticsearch.Logstas ...

  2. 自制python脚本,6小时获取上千台mysql数据库服务器

    原文投稿在合天智汇的微信公众号:https://mp.weixin.qq.com/s/OuwL3O9rszdbRPg_6uLPGQ 但由于那里文章中的截图过于模糊,于是在这里再记录一下. 前言: 一开 ...

  3. mysql - Docker Wordpress连接到本地主机上的数据库服务器

    视频上面的 docker service create --name mysql -p 3306:3306 --env MYSQL_ROOT_PASSWORD=root \     --env MYS ...

  4. 美食和网络组合在一起操作的赚钱项目:几元的资源做出成百上千的收益

    我国是一个民以食为天的国度,大家对吃的热情永远不会褪去.我们经常会听见这样一个说法,要选创业项目,选餐饮类项目是最不容易亏本的.不过餐饮类项目也是非常累人的,很多人无法坚持长时间的辛苦付出而放弃了这个 ...

  5. 在VMware Workstation中批量创建上千台虚拟机(上)

    VMware Workstation 是我们经常使用的虚拟机软件,其功能强大,性能较好.大多数用户都会在"图形界面"中创建虚拟机.修改虚拟机配置.添加虚拟机参数,或者使用" ...

  6. 安装mysql查看随机密码命令_linux安装mysql-8.0.21-1.el7.x86_64.rpm-bundle - 君主-bye

    本文参考 一     查看linux操作系统版本和系统内核版本 1 [root@nfs_client ~]# cat /etc/redhat-release 查看操作系统版本 2 CentOS Lin ...

  7. mysql执行shell命令_关键Docker命令:使用Docker必须掌握的公认宝典

    读者可以将下面的命令纲要当作成功使用Docker必须掌握的公认宝典--从搜索和构建镜像到创建自己的Dockerfile.我们先看一些简单的命令,然后在此基础上接触更复杂的命令. 7.1.1 docke ...

  8. mysql查看连接数命令_Mysql 查看连接数,状态

    命令: show processlist; 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接. show processlist;只列出前100条,如果想全列 ...

  9. 下载好了mysql 如何在命令行测试_MAC上安装MySQL,测试是否安装好了,在命令窗中作建表、查询等基本操作。-Go语言中文社区...

    一.下载MySQL 在官方网站上下载MySQL 二.安装MySQL 下载好安装包后根据提示进行安装,需要注意的是会提示安装成功以及初始密码,初始密码后续会用到. 三.运行MySQL 打开[系统偏好设置 ...

最新文章

  1. python是一种通用编程语言-想自学一种编程语言,各种编程语言都有什么区别?...
  2. 测试类图Head First 设计模式 (九) 迭代器与组合模式(Iterator Composite pattern) C++实现...
  3. HDU3208(区间指数和)
  4. python中的接口
  5. python蟒蛇绘制实例分析_011 实例2-Python蟒蛇绘制
  6. Drools创建Maven工程
  7. php oop基础,php面向对象编程(oop)基础
  8. Python 装饰器的八种写法
  9. javscript 简单拖拽(drag)拖放事件、dataTransfer详解,垃圾桶效果
  10. spss因子分析结果解读_SPSS统计结果P=0.000,我该如何解读呢?
  11. Idea利用JSP模板设置统一路径(basePath)
  12. mysql查询条件忽略大小写_mysql 查询条件不区分大小写问题
  13. [转帖]rsync简介
  14. [句型] 二十四、特殊疑问句 [ where ] [ what ] [ why ]
  15. 作品交流:数字通信同步技术资源下载
  16. 虚拟机如何安装优麒麟19.10
  17. vue部署后饿了么组件的图片不见了
  18. spark2.2以后版本任务调度将增加黑名单机制
  19. 单位根检验、协整检验和格兰杰因果检验三者之间的关系
  20. FetchError:request to http://cdn.npm.taobao.org/ajv/-/ajv-.tgz failed,reason:connect EACCES

热门文章

  1. 使用BeetleX在Linux下部署.NET多站点服务
  2. What is 测试金字塔?
  3. 基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (番外篇)
  4. csredis-in-asp.net core理论实战-主从配置、哨兵模式
  5. 分布式应用框架 Dapr
  6. 【WPF on .NET Core 3.0】 Stylet演示项目 - 简易图书管理系统(2)
  7. 数据结构为什么那么难?
  8. 从阿里中台战略看企业IT架构转型之道(下)
  9. 微软Azure予力Green Dot客服成就不凡
  10. 独立版Jexus配置SSL,支持https访问