elk日志分析系统,浅谈ELK日志分析平台
Java程序出错了,定位错误有哪些技巧?
在开发、测试、线上运行的过程中,程序难免会出现问题,如果快速地定位程序的问题,是每个程序员的必修课。01. 日志是基础当程序报错,最简单且快速的方法就是查询日志中的报错信息了;所以我们在敲代码的时候,一定不能对 CheckedException 只捕捉不处理。首先不要忽略异常,第一可以在捕捉到异常后将日志信息输出,要么通过 Throw 或 throws 向上抛,让上层的代码进行处理;接上,不要捕捉异常后,输出完日志又向上抛出异常,这样当查询定位错误时,会产生误导;对于捕捉到的异常,最好可以精确地指出具体是什么异常,而不要用 catch(Exception e) 替代;如果选择了输出异常,那么就要把异常单独打印到一个日志文件中,否则你很可能需要在一大堆日志文件中翻阅查找;另外,日志信息尽可能的详细,比如方法的入参、与其他系统交互的报文等等。
如果你能在日志文件中快速的找到报错信息的话,那么再定位错误程序就容易很多:通常异常输出能看到报错的类、方法、甚至代码行数,可以先检查程序是不是有显而易见的错误;如果是开发测试环境,可以通过 IDE 进行代码调试,如果错误每次都可以复现,那就是一个明显的 BUG,如果是部分数据有问题,那么就要分析是程序不严谨,还是数据有问题;如果是生成环境的话,我们很难进行线上调试,那么只能通过日志来进行具体的分析了,条件允许的话,可以把生产环境的数据拿下来进行检查和调试。
02. 完善的监控很多程序员会说,我的日志都很完善了,还需要监控么?我建议最好是有的,而且监控越完善越好。首先,通过日志查询问题,通常都是业务人员或用户在操作过程中遇到问题,找到运维和开发之后,我们再去翻日志;如果有监控的话,可以实时地发现问题,提前解决问题。第二,现在很多项目都不是单台部署,应用部署个几台、几十台甚至几百台都很常见,当发现问题之后,人肉翻日志已经不太现实了,如果有一个日志平台的话,那就会方便很多。
第三,很多公司的项目都是分布式架构、微服务架构,越来越多的服务都是链路调用,A系统调B系统,B系统再调C系统和D系统,这种情况下翻一个服务的访问链路,就需要从几个系统上拿日志,人肉运维是很费时费力的。03. OOM 、CPU 占用率高等异常分析上面说到的各种错误,基本上是有明确的代码问题,不管是代码本身的问题,还是数据的问题导致代码报错,另外一种不是“显性”的异常(最终可能依然是代码的问题),比如内存使用过高、CPU使用过高、 频繁 Full GC、OOM 等等,通常这一类的问题不好重现、定位困难。
如果有报错信息,首先还是要查找关键报错信息,比如 java.lang.OutOfMemoryError: Java heap space,很明显就是堆溢出;这时候你需要知道堆里面存的是什么,这样有助于你进行问题的排查:Java 堆用于存储对象实例,如果有大量的对象无法被垃圾回收机制清除,那么超过堆容量限制之后,就会发生溢出;我们可以使用内存映像分析工具,对堆储存快照进行分析;如果有内存泄漏,可以通过工具查看泄漏对象;如果不存在泄漏的话,可以检查代码中是否有递归、死循环等等。
当然,不同“部位”泄漏和溢出的原因都是不同的,需要具体分析。如果是 CPU 过高,可以通过系统命令来定位问题:一般 Java 程序 CPU 过高,可能是这几种原因:死循环、计算比较密集、IO 读写高、请求堵塞等等;通过 top 命令,查看当前服务器占用 CPU 资源最多的进程,得到进程号 PID = 4454;通过 top -Hp 4454 查询 4454 进程中各个线程的资源使用率;比如有一个线程 4492 占用 CPU 特别高;通过 printf "%x\n" 4492 命令,把线程 id 转化为十六进制;4492 的十六进制是 118c;使用 jstack 命令打印堆栈信息:jstack 4454 。
本文地址:http://m4.55jiaoyu.com/show-738525.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦
推荐文档
- 11.2023沧州正业涉外旅游职业技术学校简介(学校简介/学校怎么样)
- 12.鸡兔同笼题10道及答案
- 13.武汉体育学院体育科技学院排名(最新)
- 14.fairy是什么意思
- 15.土耳其是那里(土耳其那里打仗了吗去的话安全吗)
- 16.吴江宾馆(吴江宾馆是几星级酒店)
- 17.沸石为什么能防止暴沸
- 18.中公教育专升本培训班价格表(中公教育专升本好不好)
- 19.井冈山大学教务处,jwc.jgsu.edu.cn
- 20.握手的作文600字10篇(握手***作文600字初中)
- 21.C2H6O:C2H6O2是什么,结构简式是什么,有哪些性质
- 22.美中不足代表什么生肖(美中不足是什么动物有哪几肖)
- 23.语文试题(语文试题新高考卷2023)
- 24.安徽理科考生600分能考上华中师范大学公共管理类专业吗?
- 25.湖北师范大学文理学院往年艺术类学费多少钱一年?附各专业收费标准
- 26.往年曲面屏手机十大品牌排行榜-曲面屏手机哪个牌子好
- 27.高铁职业技术学院(高铁职业技术学院那个专业***)
- 28.2022北京冬奥会口号是什么(2022北京冬奥会口号是什么意思)
- 29.长春师范大学是几本,一本还是二本
- 30.古人婚礼在什么时间预测举行,古人婚礼一般在什么时候举行
- 31.身份证查四级准考证(用身份证怎么查四级英语准考证号)
- 32.忆秦娥,娄山关(忆秦娥娄山关中的忆秦娥是词的什么)
- 33.准格尔旗世纪中学(准格尔旗世纪中学往年高考喜报)
- 34.保定市除了一中三中以外,哪所高中相对比较好点?
- 35.温州医科大学(温州医科大学录取分数线预测2022)
- 36.先中间后两边的字(文次找平办让包哪个是先中间后两边的字)
- 37.广州中学排名(广州中学排名前100名)
- 38.故人是什么意思;一个故人是什么意思
- 39.雅人四好指的是什么
- 40.小馒头蒸多长时间预测(小馒头蒸多长时间预测可以熟)
- 41.松原大学(松原大学录取分数线预测2023)
- 42.适合家长教育孩子的十本书籍(适合家长教育孩子的十本书籍电子版)
- 43.仲浦先生是谁(仲浦先生是谁扮演的)
- 44.工会经费应税收入怎么计算(工会经费应税项是工资总额还是40%)
- 45.化学生物地理报考985-化学生物地理就业方向
- 46.失聪是什么意思(失聪是什么意思解释一下)
- 47.英雄人物的故事(英雄人物的故事200字左右)
- 48.芒果干吃了会胖吗(芒果干吃了会胖吗会长胖吗)
- 49.警官学校(警官学校和警察学校有什么区别)
- 50.香港大学排名(香港大学排名分析:哪家高校称霸榜首?)
- 51.赏罚分明成语释义及造句
- 52.会考成绩查询网站(2023高会考试成绩查询时间预测)
- 53.四字励志成语(必备8篇)(四字励志成语大全集1000个)
- 54.湖北大学认可度高吗?湖北大学值得上吗?
- 55.viewpoint是什么意思viewpoint的翻译(view是什么意思英文翻译)
- 56.砖的组词有哪些(砖的组词和部首是什么)
- 57.暑假评语家长如何写
- 58.ISSS是什么意思ISSS是什么英文的缩写(isss是什么意思isss是什么英文的缩写)
- 59.龙岩学校(龙岩学院正方教务管理系统入口)
- 60.新疆伊宁市三中(伊宁市三中分校公示)
- 51.京州市规划图是哪里,含京州国际产业园等
- 52.欢迎登录丨前程无忧,51招聘网
- 53.国家政策查询上白鹿,白鹿智库
- 54.野草诗社五院《百花园集》,百花香手机铃声免费下载
- 55.中广核待遇,中广核待遇怎么样
- 56.联发科MT8127刷机包,8寸IPS屏导航四核酷比魔方U27GT
- 57.黄骅第四中学电话号码是多少,走进黄骅市第四中学
- 58.华电邵武电厂工资多少,福建华电邵武电厂工资
- 59.高尔夫6手刹开关怎么拆(高尔夫6手刹开关怎么拆开)
- 60.4月1号天津限行尾号
- 61.辅机间是什么意思,汽机各辅机的作用
- 62.设备计划检修必须得到什么的批准,特种设备安全及操作人员相关问题
- 63.麻窝水电站附近有什么好处,及时了解火灾灾情
- 64.莱芜城发广场建什么,城发广场开幕在即
- 65.?负忧?三官计生办在哪里,三官街道扎实开展人口计生工作
- 66.破碎物资一天能捐多少钱,到底要砸多少钱
- 67.多少目能过滤蓝藻,做好这些杜绝蓝藻
- 68.北张家园怎么样,小区隔离封闭怎么办
- 69.万源大唐在哪里,大唐盛世的爱情之道
- 70.漳浦哪里纳入圆山新城,构建创新经济中心

