目录
Filebeat 是一个轻量级的日志传输工具,它可以监视文件变化并自动将新的日志行传输到 Elasticsearch。Filebeat 的配置相对简单,可以轻松地部署在多个环境中,包括裸机、虚拟机和容器等。由于 Filebeat 轻量级的特点,它更适合于规模较小的日志收集场景。
ES(Elasticsearch)是一个分布式搜索和分析引擎,它可以对海量数据进行快速、近实时的存储、搜索和分析。ES 的强大功能使其适用于各种规模的企业级应用。
Kibana 是一个可视化工具,它可以与 Elasticsearch 配合使用,为使用者提供直观的数据展示和查询界面。Kibana 支持多种数据源和查询方式,可以方便地对数据进行探索、分析和导出。
适用场景:Filebeat+ES+Kibana 适用于中小型企业的日志分析场景,特别是需要监控裸机或虚拟机环境的场景。由于 Filebeat 的轻量级特点,它也适用于一些需要轻量级日志传输的场景。
1.日志采集模式
模式:filebeat+es+kibana
2.部署filebeat服务
在需要采集日志的机器上部署filebeat服务,具体部署步骤如下。
2.1.上传filebeat安装包
将filebeat-7.8.0-linux-x86_64.tar.gz上传到/usr/local目录下
2.2.解压filebeat安装包
命令:tar xzvf filebeat-7.8.0-linux-x86_64.tar.gz
3.采集tomcat日志
3.1.filebeat-mall-api.yml配置文件
配置文件路径:/usr/local/filebeat-7.8.0-linux-x86_64/
创建filebeat-mall-api.yml配置文件,配置示例如下:
赋权:chmod 755 filebeat-mall-api.yml
##########filebeat采集tomcat日志输入ES#########
filebeat.inputs:
- type: log
enabled: true
paths:
- /usr/local/2-tomcat/9-tomcat-mall-api/logs/catalina.out
tags: ["tomcat-mall-api-fz"]
multiline.pattern: '^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}'
multiline.negate: true
multiline.match: after
output.elasticsearch:
hosts: ["10.62.196.19:9200"]
indices:
- index: "tomcat-mall-api-fz-%{+YYYY-MM-dd}"
when.contains:
tags: "tomcat-mall-api-fz"
setup.template.enabled: false
setup.template.name: "tomcat"
setup.template.pattern: "tomcat-*"
setup.template.overwrite: true
采集多个tomcat日志的配置样例:tomcat-mall-api和 tomcat-mall-backend
##########filebeat采集tomcat日志输入ES#########
filebeat.inputs:
- type: log
enabled: true
paths:
- /usr/local/2-tomcat/9-tomcat-mall-api/logs/catalina.out
tags: ["tomcat-mall-api-fz"]
multiline.pattern: '^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}'
multiline.negate: true
multiline.match: after
- type: log
enabled: true
paths:
- /usr/local/2-tomcat/10-tomcat-mall-backend/logs/catalina.out
tags: ["tomcat-mall-backend-fz"]
multiline.pattern: '^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}'
multiline.negate: true
multiline.match: after
output.elasticsearch:
hosts: ["10.62.196.19:9200"]
indices:
- index: "tomcat-mall-api-fz-%{+YYYY-MM-dd}"
when.contains:
tags: "tomcat-mall-api-fz"
- index: "tomcat-mall-backend-fz-%{+YYYY-MM-dd}"
when.contains:
tags: "tomcat-mall-backend-fz"
setup.template.enabled: false
setup.template.name: "tomcat"
setup.template.pattern: "tomcat-*"
setup.template.overwrite: true
配置说明:
input:
type: 指定输入类型为日志类型。
enabled: 启用输入,这个参数设置为true表示启用该输入。
paths: 指定需要监控的日志文件的路径,
tags: 为监控的日志文件添加标签,这样可以在后续的搜索或过滤中 使用这些标签。
multiline.pattern: 定义多行模式匹配的正则表达式。在这里,它匹 配的是以日期时间('^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}')开始的行。
multiline.negate: 反转多行模式的匹配结果。如果一行匹配了 multiline.pattern,那么它会被认为是不符合多行模式。
multiline.match: 定义多行模式应该如何匹配。在这里,选择的是 after模式,这意味着如果一行匹配了multiline.pattern,那么后续的 所有行都会被视为同一行。
output:
output.elasticsearch: 定义输出目标为Elasticsearch。
hosts: 指定Elasticsearch的主机地址和端口,
indices: 定义将日志发送到的Elasticsearch的索引名称。在这里,当 日志中包含"tomcat-mall-api-fz"这个标签时,日志将被发送到 "tomcat-mall-api-fz-%{+YYYY-MM-dd}"这个索引中。
setup.template.enabled: 定义是否启用模板设置,这里设置为false 表示不启用。
setup.template.name: 定义要创建的模板的名称,这里是"tomcat"。
setup.template.pattern: 定义要匹配的模板的模式,这里任何以 "tomcat-"开头的索引都会匹配这个模板。
setup.template.overwrite: 如果设置为true,那么如果已经存在一个 与setup.template.name同名的模板,Filebeat将会覆盖它。
3.2.检查配置文件是否正确
检查文件是否正确:cd /usr/local/filebeat-7.8.0-linux-x86_64
命令:./filebeat test config -c filebeat-mall-api.yml
出现Config OK 则代表文件格式正确。
![](https://i-blog.csdnimg.cn/blog_migrate/ac0613adf84bdf762c808fa03705e071.png)
3.3.tomcat日志查询验证
3.3.1.启动filebeat服务
路径:/usr/local/filebeat-7.8.0-linux-x86_64
命令: ./filebeat -e -c filebeat-mall-api.yml &
3.3.2.创建索引模板
a.登录kibana管理界面
b.选择:Management-stack-Management-Elasticsearch,进入“索引管理”,选择“索引模板”,创建tomcat模 板,具体参数如下:
名称:tomcat
索引模式:tomcat-*
索引设置:
{
"index": {
"highlight": {
"max_analyzed_offset": "2000000000"
},
"refresh_interval": "1s",
"blocks": {
"read_only_allow_delete": "false"
},
"query": {
"default_field": [
"*"
]
},
"priority": "1",
"number_of_replicas": "0",
"write": {
"wait_for_active_shards": "1"
}
}
}
然后直接下一步,创建索引模板成功,展示如下:
3.3.3.创建索引模式
a.登录kibana管理界面
b.选择:Management-stack-Management-kibana
c.选择“索引模式”,点击“创建索引模式”,定义一个 索引模式,能够匹配到生成的tomcat的索引,然后保存。
3.3.4.查询结果展示
进入“discover”界面,选择tomcat-*模式,在搜索栏目填写搜索条件:tags:"tomcat-mall-api-fz",然后点击:刷新,日志展示结果如下: