1. 为什么需要从log4j升级到log4j2
最近几年,log4j频繁爆出安全漏洞,让不少运维团队夜不能寐。我去年就遇到过因为log4j漏洞导致服务器被入侵的案例,那叫一个惊心动魄。Zookeeper作为分布式系统的核心组件,如果继续使用存在漏洞的log4j版本,简直就是给黑客开了后门。
log4j2相比log4j1.x有几个明显的优势。首先是安全性,log4j2在设计时就考虑了更多安全机制,比如默认禁用JNDI查找。其次是性能,log4j2的异步日志性能比log4j1.x提升了10倍以上。最后是功能,log4j2支持插件架构、自定义日志级别等高级特性。
迁移过程其实没有想象中复杂,主要就是替换几个jar包和配置文件。我帮三个不同规模的团队做过这个升级,最快的一次只用了半小时就搞定了。下面就把我的实战经验分享给大家。
2. 升级前的准备工作
2.1 环境检查
动手前先确认下当前环境。登录Zookeeper服务器,执行以下命令查看现有log4j版本:
cd /usr/local/zookeeper/lib
ls -l log4j-*.jar
你会看到类似这样的输出:
-rw-r--r-- 1 root root 478829 Jul 15 2020 log4j-1.2.17.jar
同时检查slf4j相关jar包:
ls -l slf4j-*.jar
2.2 备份重要文件
安全第一!升级前务必备份以下内容:
- 现有的log4j和slf4j jar包
- log4j.properties配置文件
- Zookeeper的重要数据目录
建议创建一个备份目录:
mkdir -p /opt/


762

被折叠的 条评论
为什么被折叠?



