您的位置:首页 > 文旅 > 旅游 > 深圳市网络营销公司_黑马深圳网页设计_哪里有网页设计公司_大数据网站

深圳市网络营销公司_黑马深圳网页设计_哪里有网页设计公司_大数据网站

2024/12/22 19:50:04 来源:https://blog.csdn.net/menglinjie/article/details/143332615  浏览:    关键词:深圳市网络营销公司_黑马深圳网页设计_哪里有网页设计公司_大数据网站
深圳市网络营销公司_黑马深圳网页设计_哪里有网页设计公司_大数据网站

目录

一、环境

1.1 ELKF环境

1.2 版本

1.3 流程

二、Filebeat安装

2.1 安装

2.2 新增配置采集日志

三、logstash 配置

3.1 配置输出日志到es

3.2 Grok 日志格式解析

 3.2 启动 logstash

​3.3 启动项目查看索引


一、环境

1.1 ELKF环境

  • springboot项目:windows本地
  • Filebeat:windows本地
  • ELK:Ubuntu虚拟机

ELK搭建参考上一篇博客:ELK 7.17.x + Spring Boot:日志分析入门与实践-CSDN博客

1.2 版本

7.17.0(Filebeat 与ELK的版本保持一致)

1.3 流程

        Filebeat高效地采集本地项目日志,随后通过Logstash进行深度解析与格式化处理,再将处理后的日志数据上传至Elasticsearch进行高效存储与索引。最终,用户可借助Kibana提供的直观界面,轻松查看并分析这些日志数据。

二、Filebeat安装

2.1 安装

window下载地址:(选择不同版本只用修改版本号即可,官网太卡可能进不去)https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.0-windows-x86_64.zip

解压即可。

linux下载地址:

- wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.0-linux-x86_64.tar.gz
- tar -xzf filebeat-7.17.0-linux-x86_64.tar.gz

2.2 新增配置采集日志

新增 filebeat-test.yml 配置输出到logstash:

如果输出到es,注意配置具有写权限的用户,否则报错401,参考上篇文章

filebeat.inputs:
- type: logenabled: true
# 配置日志地址paths:- D:\soft\logs\*.log#es的配置
# output:
#   elasticsearch:
#     hosts: ["192.168.64.128:9200"]
#     username: "elastic"
#     password: "123456"# 配置logstash地址
output.logstash:enabled: truehosts: ["192.168.64.128:5044"]#es的配置
# output.elasticsearch.index: "elkf-%{+yyyy.MM.dd}"
# setup.template.name: "elkf"
# setup.template.pattern: "elkf-*"
# setup.ilm.enabled: false

修改 filebeat-test.yml 的运行权限:

注意:住这个命令的作用是从文件 filebeat-test.yml 的权限中移除组(group)和其他用户(others)的写(write)权限,于提高文件的安全性,防止未经授权的修改。不执行可能会报错提示。

chmod go-w filebeat-test.yml

后台启动:

./filebeat -e -c filebeat-test.yml

三、logstash 配置

3.1 配置输出日志到es

新增配置 filebeat-elasticSearch.conf :

注意:"@timestamp"字段不能排除掉,否则索引名日期无法获取

# logstash的地址
input {beats {port => 5044host => "192.168.64.128"}
}# 过滤器配置Grok模式解析日志
filter {grok {match => {"message" => "%{TIMESTAMP_ISO8601:timestamp} \|  %{LOGLEVEL:loglevel} %{NUMBER:pid} \| %{GREEDYDATA:message_detail}"}}mutate {
# 移除字段remove_field => ["log","tags", "input", "agent", "host", "ecs", "@version","message"]}
}# 配置输出到es中,注意用户
output {elasticsearch {hosts => ["http://192.168.64.128:9200"]user => "logstash_to_es"password => "123456"action => "index"index  => "elkf-log2-%{+YYYY.MM.dd}"}stdout{codec => rubydebug}
}

3.2 Grok 日志格式解析

Grok模式测试可以使用kibana的Grok Debugger:

更简便的方式是问AI :

 

有些特殊字符用“\”进行转移,空格比较严谨,如果未匹配要检查空格。

问题:这里我的Grok配置一直未生效,后面发现是项目中logback.xml配置了高亮

<property name="PATTERN_DEFAULT"value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} | %highlight(${LOG_LEVEL_PATTERN:-%5p} ${PID:- }) | %boldYellow(%thread [%tid]) %boldGreen(%-40.40logger{39}) | %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

输出的日志用文本打开是:带有特殊字符

2024-10-29 15:31:39.534 |[34m INFO 34312[0;39m | [1;33mhttp-nio-18080-exec-1 [TID: N/A][0;39m [1;32mc.h.f.a.c.i.ApiAccessLogInterceptor     [0;39m | [preHandle][开始请求 URL(/admin-api/test) 无参数] 

需要将高亮和颜色去除:

<property name="PATTERN_DEFAULT"value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} | %5p ${PID:- } | %thread [%tid] %-40.40logger{39} | %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%ex{full}}"/>

 3.2 启动 logstash

--config.reload.automatic 自动重载配置

bin/logstash -f /config/conf/filebeat-elasticSearch.conf --config.reload.automatic

3.3 启动项目查看索引

查看logstash日志,项目日志已经解析格式化了

参考:

  • Logstash:日志解析的 Grok 模式示例_logstash 日志解析的 grok 模式示例-CSDN博客 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com