原创 【ReactJs+springBoot项目——租房】第12章:Beats+Filebeat+ Metricbeat+Kibana+Logstash

了解Beats
Filebeat入门学习
Metricbeat入门学习
Kibana入门学习
Logstash入门学习

1、Beats 简介

在这里插入图片描述

官网:https://www.elastic.co/cn/products/beats

在这里插入图片描述

2、Filebeat

在这里插入图片描述

2.1、架构
用于监控、收集服务器日志文件.

在这里插入图片描述

2.2、部署与运行
下载(或使用资料中提供的安装包,版本为:filebeat-6.5.4):
https://www.elastic.co/downloads/beats
在这里插入图片描述
在这里插入图片描述

2.3、读取文件

在这里插入图片描述
在这里插入图片描述
可以看出,已经检测到日志文件有更新,立刻就会读取到更新的内容,并且输出到控制台。
2.4、自定义字段
在这里插入图片描述
2.5、输出到Elasticsearch

在日志文件中输入新的内容进行测试:
在这里插入图片描述
在日志文件中输入新的内容进行测试:
在这里插入图片描述

查看数据:

在这里插入图片描述

2.6、Filebeat工作原理
Filebeat由两个主要组件组成:prospector 和 harvester。harvester:
负责读取单个文件的内容。
如果文件在读取时被删除或重命名,Filebeat将继续读取文件。
prospector
prospector 负责管理harvester并找到所有要读取的文件来源。
如果输入类型为日志,则查找器将查找路径匹配的所有文件,并为每个文件启动一个harvester。
Filebeat目前支持两种prospector类型:log和stdin。Filebeat如何保持文件的状态
Filebeat 保存每个文件的状态并经常将状态刷新到磁盘上的注册文件中。
该状态用于记住harvester正在读取的最后偏移量,并确保发送所有日志行。
如果输出(例如Elasticsearch或Logstash)无法访问,Filebeat会跟踪最后发送的行,并在输出再次可用 时继续读取文件。

在Filebeat运行时,每个prospector内存中也会保存的文件状态信息,当重新启动Filebeat时,将使用注册 文件的数据来重建文件状态,Filebeat将每个harvester在从保存的最后偏移量继续读取。
文件状态记录在data/registry文件中。
启动命令:

在这里插入图片描述

2.7、Module
前面要想实现日志数据的读取以及处理都是自己手动配置的,其实,在Filebeat中,有大量的Module,可以简化我 们的配置,直接就可以使用,如下:
在这里插入图片描述

可以看到,内置了很多的module,但是都没有启用,如果需要启用需要进行enable操作:
在这里插入图片描述

2.7.1、redis module
module目录:

1	.
2├── log	#日志
3│	├── config
4│	│	└── log.yml
5│	├── ingest
6│	│	└── pipeline.json
7│	└── manifest.yml
8├── module.yml
9└── slowlog #慢查询日志
10├── config
11│	└── slowlog.yml
12├── ingest
13│	└── pipeline.json
14└── manifest.yml

2.7.2、redis module 配置

在这里插入图片描述

2.7.3、修改redis的docker容器
redis默认情况下,是不会输出日志的,需要进行配置,前面我们使用的容器都没有配置日志输出,下面需要配置一 下。

1	docker create --name redis-node01 -v /data/redis-data/node01:/data -p 6379:6379 redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-01.conf --loglevel debug --logfile nodes-node-01.log
2
3	docker create --name redis-node02 -v /data/redis-data/node02:/data -p 6380:6379 redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-02.conf --loglevel debug --logfile nodes-node-02.log
4
5	docker create --name redis-node03 -v /data/redis-data/node03:/data -p 6381:6379 redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-03.conf --loglevel debug --logfile nodes-node-03.log

loglevel 日志等级分为:debug、verbose、notice、warning 其中,debug 会有大量信息,对开发、测试有用;
verbose 等于log4j 中的info,有很多信息,但是不会像debug那样乱;
notice 一般信息;
warning 只有非常重要/关键的消息被记录。

2.7.4、配置filebeat

在这里插入图片描述

2.7.5、测试

 	./filebeat -e -c haoke-redis.yml --modules redis

在这里插入图片描述

测试发现,数据已经写入到了Elasticsearch中。当然了,其他的Module的用法参加官方文档:
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-modules.html
在这里插入图片描述

3、Metricbeat

在这里插入图片描述

定期收集操作系统或应用服务的指标数据存储到Elasticsearch中,进行实时分析
3.1、Metricbeat组成
Metricbeat有2部分组成,一部分是Module,另一部分为Metricset。Module
收集的对象,如:mysql、redis、操作系统等;
Metricset
收集指标的集合,如:cpu、memory、network等;
以Redis Module为例:

在这里插入图片描述

3.2、部署与收集系统指标

在这里插入图片描述
在这里插入图片描述
在ELasticsearch中可以看到,系统的一些指标数据已经写入进去了:

在这里插入图片描述

system module配置:
在这里插入图片描述
在这里插入图片描述
3.3、Module

在这里插入图片描述
在这里插入图片描述
3.4、Redis Module

在这里插入图片描述

可以看到Redis的指标数据写入到了Elasticsearch中:
在这里插入图片描述

更多的Module使用参见官方文档:
https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-modules.html
4、Kibana

Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。
官网:https://www.elastic.co/cn/products/kibana
4.1、配置安装
在这里插入图片描述
在这里插入图片描述

可以看到kibana页面,并且可以看到提示,导入数据到Kibana。
4.2、通过docker部署
在这里插入图片描述

4.3、功能说明
在这里插入图片描述

4.4、数据探索
首先先添加索引信息:

在这里插入图片描述

4.5、Metricbeat 仪表盘
可以将Metricbeat的数据在Kibana中展示。

在这里插入图片描述

即可在Kibana中看到仪表盘数据:
在这里插入图片描述

查看系统信息:

在这里插入图片描述

4.6、Filebeat 仪表盘
以Redis为例:
在这里插入图片描述

在这里插入图片描述

在kibana中已经看到了Filebeat中的redis仪表盘。
在这里插入图片描述

5、Logstash
5.1、简介

在这里插入图片描述

用途:

在这里插入图片描述

5.2、部署安装

在这里插入图片描述
在这里插入图片描述

执行效果如下:
在这里插入图片描述

5.3、接收Filebeat输入的日志
接下来,我们将Filebeat和Logstash整合起来,读取nginx的日志。

在这里插入图片描述

5.3.1、安装Nginx
在这里插入图片描述
在这里插入图片描述
5.3.2、配置Filebeat

在这里插入图片描述

5.3.3、配置Logstash

在这里插入图片描述
在这里插入图片描述

5.3.4、测试
分别启动Filebeat和Logstash,刷新页面查看输出。
在这里插入图片描述

可以看到,已经在控制台输出了nginx的访问日志。
5.3.4、配置filter
在前面的输出中,可以看出,虽然可以拿到日志信息,但是信息格式并不友好,比如说,不能直接拿到日志中的ip地 址。
第一步,自定义nginx的日志格式
在这里插入图片描述

第二步,编写nginx-patterns文件

	NGINX_ACCESS %{IPORHOST:remote_addr} - %{USERNAME:remote_user} \[%
{HTTPDATE:time_local}\] \"%{DATA:request}\" %{INT:status} %{NUMBER:bytes_sent} \"%
{DATA:http_referer}\" \"%{DATA:http_user_agent}\"

第三步,修改haoke-pipeline.conf文件

在这里插入图片描述

第四步,测试结果:
在这里插入图片描述
在这里插入图片描述
5.3.5、发送到Elasticsearch
修改配置:
在这里插入图片描述
在这里插入图片描述
测试:

在这里插入图片描述

在Kibana中查看:

在这里插入图片描述

在这里插入图片描述

制作柱形图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值