文章目录
1.EFK介绍
2.操作前提
3.FileBeat8.15下载&安装
4.编写FileBeat配置文件
5.启动FileBeat
6.模拟实时日志数据生成
7.查看索引(数据流)是否创建成功
8.创建数据视图:
9.查看数据视图
10.使用KQL对采集的日志内容进行过滤
11.给日志数据配置保留天数(扩展知识)
1.EFK介绍
Kibana参考官方文档:https://www.elastic.co/guide/en/beats/filebeat/8.15/filebeat-overview.html
2.操作前提
需要提前安装Elasticsearch+Kibana。安装过程见我上一个文章:elasticsearch8.15 高可用集群搭建(含认证&Kibana)
3.FileBeat8.15下载&安装
软件下载地址:https://www.elastic.co/downloads/past-releases/filebeat-8-15-0 下载文件后上传至服务器
# 创建目录
mkdir -p /opt/software/
#解压至特定目录
tar -zxvf filebeat-8.15.0-linux-x86_64.tar.gz -C /opt/software/
#切到filebeat安装目录
cd /opt/software/filebeat-8.15.0-linux-x86_64
4.编写FileBeat配置文件
注:FileBeat配置文在FileBeat安装目录下的filebeat.yml。我这里是重新创建一个配置文件,启动FileBeat时指定我自己创建的配置文件。你可以看情况来。
# 创建配置目录
mkdir config
# filebeat_2_es.yml默认是不存在的,编辑保持后,该文件会自动创建
vim config/filebeat_2_es.yml
filebeat_2_es.yml配置文件完整内容如下:
filebeat.inputs: #数据输入相关配置
- type: filestream # (必填)数据输入类型是filestream
id: nginx-access-log-1 # (必填)全局唯一即可
enabled: true # 启动
paths:
- /tmp/logs/nginx_access.log* # 当前要监听的文件, *是通配符任意。例如nginx.access.log.1 的文件内容也会被监听到。
tags: ["nginx-access-log"] # (可选)这里定义用户自定义值。用于下文的索引条件选择 以及 后续kibana上也可以用该标签做数据过滤
fields:
my_server_ip: 192.168.25.31 # (可选)这里定义用户自定义属性,后面会出现在采集数据中
fields_under_root: true # (可选)让上面Field里面定义的属性出现在采集数据的最外层,而不是嵌套在采集数据的filed字段里面。
#exclude_lines: ['^DBG'] # (可选)当前数据行如果以DBG开头,则当前数据行不会被采集
#include_lines: ['^ERR', '^WARN'] # (可选)当前数据行以“ERR”或“WAR”开头,采可能会被采集
- type: filestream
id: nginx-error-log-1
enabled: true
paths:
- /tmp/logs/nginx_error.log*
tags: ["nginx-error-log"]
fields:
my_server_ip: 192.168.25.31
fields_under_root: true
#exclude_lines: ['^DBG'] #要求当前数据行必须不能以DBG开头
include_lines: ['\[error\]'] #要求当前数据行必须以“ERR”或“WAR”开头
- type: filestream
id: elasticsearch-log-1
enabled: true
paths:
- /tmp/logs/elasticsearch.log*
tags: ["elasticsearch-log"]
fields:
my_server_ip: 192.168.25.31
fields_under_root: true
parsers:
- multiline: #多行匹配。例如 java异常日志,一般一个异常会占用多行,此时需要把一个异常下的多行日志合成一行日志。参考:https://www.elastic.co/guide/en/beats/filebeat/8.15/multiline-examples.html
type: pattern
pattern: '^\[' # 匹配模式。每一行日志是以 "["开头。
negate: true # 这个可以固定,参考:https://www.elastic.co/guide/en/beats/filebeat/8.15/multiline-examples.html
match: after # 这个可以固定,参考:https://www.elastic.co/guide/en/beats/filebeat/8.15/multiline-examples.html
#output.c