哈尔滨网站推广公司,施工企业资质,企业网站制作公司推荐,wordpress 页面宽度目录
一、安装ELK
1.1 版本选择
1.2 linux环境安装
1.3 ES配置启动 1.4 Kibana配置启动
1.5 Logstash配置启动
二、项目调整
2.1 pom依赖调整
2.2 yml配置文件调整
2.3 logback-spring配置
三、日志查询分析
3.1 创建索引模式
3.2 查询日志数据 一、安装ELK
1.1 …目录
一、安装ELK
1.1 版本选择
1.2 linux环境安装
1.3 ES配置启动 1.4 Kibana配置启动
1.5 Logstash配置启动
二、项目调整
2.1 pom依赖调整
2.2 yml配置文件调整
2.3 logback-spring配置
三、日志查询分析
3.1 创建索引模式
3.2 查询日志数据 一、安装ELK
1.1 版本选择
版本选择7.17.0
7.17.x版本是最后一个支持JDK8的版本后续版本不支持。Elasticsearch 、Kibana、Logstash保持版本一致。
官方文档支持一览表 | Elastic
1.2 linux环境安装
# 下载elasticsearch
- wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.0-linux-x86_64.tar.gz
- tar -xzf elasticsearch-7.17.0-linux-x86_64.tar.gz
# 下载kibana
- wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.0-linux-x86_64.tar.gz
- tar -xzf kibana-7.17.0-linux-x86_64.tar.gz
# 下载logstash
- wget https://artifacts.elastic.co/downloads/logstash/logstash-7.17.0-linux-x86_64.tar.gz
- tar -xzf logstash-7.17.0-linux-x86_64.tar.gz
1.3 ES配置启动
ES配置 elasticsearch.yml
# 本机ip
network.host: 192.168.64.128
# 集群发现列表
discovery.seed_hosts: [192.168.64.128]
# 不加会报错据说是一个bug
ingest.geoip.downloader.enabled: false
# 开启安全认证
xpack.security.enabled: true
xpack.security.authc.api_key.enabled: true
xpack.security.transport.ssl.enabled: true
启动ElasticSearch报错:error updating geoip database-CSDN博客
启动ES后修改密码
./bin/elasticsearch-setup-passwords interactive
启动访问http://192.168.64.128:9200/ 1.4 Kibana配置启动
修改配置 kibana.yml
# 本机ip
server.host: 192.168.64.128
# ES地址
elasticsearch.hosts: [http://192.168.64.128:9200]
# 用户名密码上一步修改的
elasticsearch.username: kibana_system
elasticsearch.password: 123456
# 配置中文显示
i18n.locale: zh-CN
启动访问 http://192.168.64.128:5601/ 1.5 Logstash配置启动
创建Logstash读写权限角色和用户 修改配置 logstash.yml :
# 节点名
node.name: test
# 配置地址
path.config: /home/mlj/soft/ELK/logstash-7.17.0/config/conf/*.conf
# 本机ip
api.http.host: 192.168.64.128 /config/conf/下新建日志同步配置 test-log.conf
注意output用户名和密码一定要配置有读写权限的用户否则启动报错401、403
input {tcp {mode serverport 4560host 192.168.64.128}
}
filter {}
output {elasticsearch {##具有对索引写权限的用户user logstash_to_es##用户的密码password 123456action indexhosts [http://192.168.64.128:9200]index hbintrade-framework-log-%{YYYY.MM.dd}}
}启动 二、项目调整
2.1 pom依赖调整
!-- https://mvnrepository.com/artifact/net.logstash.logback/logstash-logback-encoder --dependencygroupIdnet.logstash.logback/groupIdartifactIdlogstash-logback-encoder/artifactIdversion7.0.1/version/dependency
注意哦logstash-logback-encoder注意与自己的logstash版本匹配测试logstash7.17与7.4的依赖不兼容启动项目报错降低到7.3以下解决
java.lang.NoSuchMethodError:ch.qos.logback.classic.spi.ILoggingEvent.getInstant()Ljava/time/Instant
2.2 yml配置文件调整
# logstash地址配置
log:logstash-host: 192.168.64.128:4560
2.3 logback-spring配置
主要是
!-- 读取SpringBoot配置文件获取logstash的地址和端口 --springProperty scopecontext namelogstash-host sourcelog.logstash-host/!-- 将日志文件输出到Logstash --appender namelogstash classnet.logstash.logback.appender.LogstashTcpSocketAppender!-- 获取logstash地址作为输出的目的地 --destination${logstash-host}/destinationencoder chatsetUTF-8 classnet.logstash.logback.encoder.LogstashEncoder//appender
完整如下
configuration!-- 引用 Spring Boot 的 logback 基础配置 --include resourceorg/springframework/boot/logging/logback/defaults.xml/!-- 变量 hbintrade.info.base-package基础业务包 --springProperty scopecontext namehbintrade.info.base-package sourcehbintrade.info.base-package/!-- 格式化输出%d 表示日期%X{tid} SkWalking 链路追踪编号%thread 表示线程名%-5level级别从左显示 5 个字符宽度%msg日志消息%n是换行符 --property namePATTERN_DEFAULTvalue%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}/!-- 读取SpringBoot配置文件获取logstash的地址和端口 --springProperty scopecontext namelogstash-host sourcelog.logstash-host/!-- 控制台 Appender --appender nameSTDOUT classch.qos.logback.core.ConsoleAppender encoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayoutpattern${PATTERN_DEFAULT}/pattern/layout/encoder/appender!-- 文件 Appender --!-- 参考 Spring Boot 的 file-appender.xml 编写 --appender nameFILE classch.qos.logback.core.rolling.RollingFileAppenderencoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayoutpattern${PATTERN_DEFAULT}/pattern/layout/encoder!-- 日志文件名 --file${LOG_FILE}/filerollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy!-- 滚动后的日志文件名 --fileNamePattern${LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN:-${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz}/fileNamePattern!-- 启动服务时是否清理历史日志一般不建议清理 --cleanHistoryOnStart${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}/cleanHistoryOnStart!-- 日志文件到达多少容量进行滚动 --maxFileSize${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}/maxFileSize!-- 日志文件的总大小0 表示不限制 --totalSizeCap${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}/totalSizeCap!-- 日志文件的保留天数 --maxHistory${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-30}/maxHistory/rollingPolicy/appender!-- 异步写入日志提升性能 --appender nameASYNC classch.qos.logback.classic.AsyncAppender!-- 不丢失日志。默认的如果队列的 80% 已满,则会丢弃 TRACT、DEBUG、INFO 级别的日志 --discardingThreshold0/discardingThreshold!-- 更改默认的队列的深度该值会影响性能。默认值为 256 --queueSize256/queueSizeappender-ref refFILE//appender!-- SkyWalking GRPC 日志收集实现日志中心。注意SkyWalking 8.4.0 版本开始支持 --appender nameGRPC classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppenderencoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayoutpattern${PATTERN_DEFAULT}/pattern/layout/encoder/appender!-- 将日志文件输出到Logstash --appender namelogstash classnet.logstash.logback.appender.LogstashTcpSocketAppender!-- 获取logstash地址作为输出的目的地 --destination${logstash-host}/destinationencoder chatsetUTF-8 classnet.logstash.logback.encoder.LogstashEncoder//appender!-- 本地环境 --springProfile namelocalroot levelINFOappender-ref refSTDOUT/appender-ref refGRPC/ !-- 本地环境下如果不想接入 SkyWalking 日志服务可以注释掉本行 --appender-ref refASYNC/ !-- 本地环境下如果不想打印日志可以注释掉本行 --appender-ref reflogstash//root/springProfile!-- 其它环境 --springProfile namedev,test,stage,prod,defaultroot levelINFOappender-ref refSTDOUT/appender-ref refASYNC/appender-ref refGRPC/appender-ref reflogstash//root/springProfile
/configuration启动项目 三、日志查询分析
3.1 创建索引模式
只有匹配上索引模式的索引才能在Discovery查看到数据 3.2 查询日志数据 参考
SpringBoot整合ELK做日志超完整_springboot elk-CSDN博客elasticsearch7.x 开启安全认证xpack以及kibana、logstash、filebeat组件连接开启安全认证的es_elasticsearch安全认证-CSDN博客