日志分析实践与应用
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,日志分析实践与应用这个场景是,日志系统平时为了系统处理能力,我们使用INFO级别或ERROR级别,当发现问题时,我们需要不停服务的动态的将日志级别变更为DEBUG以便在执行细节发现问题,下面列举了动态
千家信息网最后更新 2025年12月01日日志分析实践与应用
日志分析实践与应用
这个场景是,日志系统平时为了系统处理能力,我们使用INFO级别或ERROR级别,当发现问题时,我们需要不停服务的动态的将日志级别变更为DEBUG以便在执行细节发现问题,下面列举了动态变更的操作,需要借助代码、定时和配置中心服务。
在微服务的场景,日志是散落在各个服务集群节点中,不方便查看,所以我们需要通过集中收集到一处保存、查看和分析。
应用程序中日志的配置
logback.xml
- 1.在configuration中配置include,引用defaults.xml、console-appender.xml和file-appender.xml基础配置,可以复用变量、默认配置和策略。
- 2.定义一个stash的appender,配置目标主机和端口以及转码器用什么。通过配置将日志发送到统一日志管理平台进一步分析与保存。
- 注:对于推荐使用logback-spring.xml不使用logback.xml,官方也没有给出推荐理由,经测试logback.xml配置依然可用,也可以在变更后自动重启,所以没换,只是注意configuration属性scan不能设置为true,由spring来扫描即可。
具体配置如下:
%d{yyyy-MM-dd HH:mm:ss} [%level] - %m%n d:/logs/error.log %d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n ERROR ACCEPT DENY error.%d{yyyy-MM-dd}.log 30 localhost:4560 ${fluentHost} 定时更新日志代码
/** * 日志级别更新定时2分钟一刷新 */@Scheduled(fixedRate=1000*60*2)public void refresh() { String moduleKey = "com.ftsafe"; //判断只有logback的日志实现才适用此方法 if (log instanceof ch.qos.logback.classic.Logger) { Config applicationConfig = ConfigService.getAppConfig(); String levelConfig = applicationConfig.getProperty("logger.level."+ moduleKey, null); ch.qos.logback.classic.Logger classicLog = (ch.qos.logback.classic.Logger) log; ch.qos.logback.classic.Logger logger = classicLog.getLoggerContext().getLogger(moduleKey); logger.setLevel(Level.toLevel(levelConfig)); log.debug("logger modify level {}", levelConfig); log.info("logger modify level {}", levelConfig); } log.info("logger refresh invoked!"); log.debug("logger refresh invoked!");}集中日志管理(win环境)
Elasticsearch
是一个搜索和分析引擎
解压
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.zip启动
d:/baiduYun/java/elasticsearch-6.0.0/bin/elasticsearch.batKibana
允许用户在 Elasticsearch 中使用图表和图表可视化数据
解压
https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-windows-x86_64.zip启动
d:/baiduYun/java/kibana-6.0.0-windows-x86_64/bin/kibana.batlogstash
是一个服务器端的数据处理管道,可以同时从多个源获取数据,将其转换为Elasticsearch之类的"stash"
解压
https://artifacts.elastic.co/downloads/logstash/Logstash-6.0.0.zip配置logstash.conf配置文件内容
input { tcp { port => 4560 host => localhost }}output { elasticsearch { hosts => ["localhost:9200"] } stdout { codec => rubydebug }}启动
d:/baiduYun/java/logstash-6.0.0/bin/logstash.bat -f d:\baiduYun\java\logstash-6.0.0\bin\logstash.conf浏览日志
访问http://localhost:5601进入kibana界面,可以在Discover界面输入检索条件,查出希望检索到的内容。
附录:
spring logging
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html
defaults.xml
console-appender.xml
${CONSOLE_LOG_PATTERN} file-appender.xml
${FILE_LOG_PATTERN} ${LOG_FILE} ${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz ${LOG_FILE_MAX_SIZE:-10MB} ${LOG_FILE_MAX_HISTORY:-0} 参考内容
- https://www.jianshu.com/p/c9d9fe37256a
- 《51CTO下载-SpringCloud微服务架构开发实战.pdf》
日志
配置
服务
分析
级别
内容
数据
应用
代码
动态
图表
场景
界面
系统
问题
处理
推荐
更新
检索
管理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
chival与服务器连接中断
知道见面课使用网络安全
网络安全工程师招聘重庆
台州厂家软件开发
南京云服务器技术指导
本地连接数据库查不到数据库
数据库中的信息怎么读
镁光服务器内存颗粒编码
黑豹网络安全ppt
网站服务器的独立端口是什么
故宫开放186万藏品数据库
网络安全为中心议题
php采集数据库怎么写
邢台企业云软件开发
南开大学同花顺数据库
警察学院学网络安全
手机远程服务器安全吗
bs和cs网络安全
简述数据库系统的安全机制
中孚科技网络安全
保护网络安全图片可爱
博雅数据库二本投挡线四川理科
mysql 数据库建表
荣耀畅玩9a的服务器
网络技术教育是什么
浙江方便软件开发销售
信息和网络安全
育碧什么软件开发游戏的
网络安全文明上网直播
河南英雄联盟服务器云主机