日志分析实践与应用
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,日志分析实践与应用这个场景是,日志系统平时为了系统处理能力,我们使用INFO级别或ERROR级别,当发现问题时,我们需要不停服务的动态的将日志级别变更为DEBUG以便在执行细节发现问题,下面列举了动态
千家信息网最后更新 2025年02月08日日志分析实践与应用
日志分析实践与应用
这个场景是,日志系统平时为了系统处理能力,我们使用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.bat
Kibana
允许用户在 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.bat
logstash
是一个服务器端的数据处理管道,可以同时从多个源获取数据,将其转换为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安全错误
数据库的锁怎样保障安全
数据库的收集工作英语
软件之道软件开发争议问题剖析
安川服务器报警ER941
地税局网络安全等级保护情况
软件开发组织架构 角色
小东家服务器错误怎么回事
电脑网络技术大全
西红柿软件开发有限公司
网络安全政治心得1000
中国数据库在哪里
软件开发cpu多线程
服务器怎么挂源码
众人网络安全团队
河南悦如网络技术有限公司
怀旧服租用服务器
oa服务器搭建
通过数据库做网页
数据库系统概论哪几章难
服务器装win7常见问题
如何用网络安全法进行建设
查看数据库下数据表的基本结构
cad表格里如何填数据库
电脑前台和后台数据库
数据库访问层固定封装方式有哪些
鱼台服务器
金顶服务器
服务器挂机赚
三族网络技术有限公司地址
文件 数据库 速查表
服务器配置与管理有用没有