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://www.55jiaoyu.com/show-738525.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦
推荐文档
- 11.PDD现在为什么不直播了?
- 12.任尔东西南北风前一句是什么(任尔东西南北风的前一句是啥来)
- 13.广东的一本大学有哪些学校?广东省一本大学名单排名(2023参考)
- 14.江苏南通职业大学(江苏南通职业大学有哪些专业)
- 15.天津高考作文(天津高考作文跑题了能给多少分)
- 16.上海财大录取分数线预测(上海财大录取分数线预测2022是多少分)
- 17.四级成绩什么时候出(四级成绩什么时候出2023年三月份的)
- 18.表达思念爱人的诗成语(表达思念爱人的诗成语有哪些)
- 19.2013会考成绩查询(2013会考成绩查询入口网站官网)
- 20.五年级牛郎织女缩写作文
- 21.简单一点的辞职信5篇
- 22.干警观看交通安全事故警示教育心得五篇
- 23.护理专升本难吗通过率有多大
- 24.图字行书图字书法图片大全(行书七字春联书法欣赏)
- 25.国家税务局山西省电子税务局网上申报系统怎么报税-牛求...(国家税务总局山西省电子税务局报税方法)
- 26.宝玉石鉴定与加工(宝玉石鉴定与加工毕业设计和任务书)
- 27.温情脉脉
- 28.淮北卫校(淮北卫校2023年招生计划)
- 29.cute是什么意思—mule是什么意思
- 30.新产品发布会开幕式致辞范文
- 31.学籍卡有什么用,学籍卡和学生证的区别是什么
- 32.中考体育没考好,可以申请重考吗?如何申请?
- 33.叫我如何不想她,叫我如何不想她赵元任唱
- 34.requires(requirespermissions注解)
- 35.动物医学就业前景(中国农业大学动物医学就业前景)
- 36.39所985大学排名2022最新排名-全国985大学最新排名2022
- 37.遵守教师职业道德情况总结
- 38.财务预算怎么做、财务预算怎么做模板
- 39.OPPO是什么意思OPPO是什么英文的缩写(oppo是什么意思oppo是什么英文的缩写)
- 40.袋鼠简笔画袋鼠简笔画简单又好看(qq红包袋鼠怎么画简笔画)
- 41.广东省教育局官网
- 42.送给兄弟的歌(送给兄弟的歌应该唱什么)
- 43.hd4000相当于什么显卡(笔记本hd4000相当于什么显卡)
- 44.初中毕业想学音乐去哪个学校(没考上高中可以上音乐学校吗)
- 45.985和211通俗易懂的解释
- 46.本科二批是什么意思,本科一批是什么意思
- 47.解放军第四军医大学(解放军第四军医大学录取分数线预测预测)
- 48.黑龙江工程学院邮编_黑龙江工程学院邮政编码查询_附地址和介绍
- 49.瞻仰是什么意思—瞻仰,是什么意思
- 50.现在学什么技术***(现在学什么技术***写不限学历,简单方便)
- 51.形容一个人城府很深的成语(形容一个人城府很深用什么成语)
- 52.傲然挺立的意思是什么(傲然挺立是什么意思解释)
- 53.色厉内荏是什么意思;色厉内荏是什么意思解释词语
- 54.词语解释:避世的意思是什么
- 55.busy是什么意思、bus是什么意思
- 56.天津师范大学是双一流大学吗?有哪些学科入选?
- 57.记一次游戏作文400字四年级上册13篇
- 58.往年安徽阜阳师范大学专升本招生专业汇总!建议收藏
- 59.租房协议书怎么写(租房协议书怎么写才有法律效力)
- 60.拉萨师范高等专科学校(拉萨师范高等专科学校往年录取分数线预测预测)
- 51.功能用品强大一点的,老年人功能用品
- 52.苹果9和10去哪了,为什么没有iphone9和10
- 53.三菱电机空调保修几年,三菱空调的使用寿命是多少年啊
- 54.富士山火山爆发,会引爆富士山喷发吗
- 55.乐视2root教程成功了的,Pro流畅度竟差不多
- 56.崇州向荣街拆后修什么,「便民」幸福街至向荣街路段道路封闭施工
- 57.小米10青春版,小米10青春版和小米10区别哪个更值得入手?
- 58.药品贴牌是什么意思,做服装贴牌是什么意思
- 59.苹果手机怎么更新最新版本货拉拉(货拉拉怎么升级最新版本)
- 60.华为荣耀6价格,华为荣耀6现在大概卖多少钱?店里面买要多少我想买一部
- 61.忻州体育馆有什么项目,体育馆有哪些项目
- 62.溪南填海干什么,郭文胜调研溪南镇脱贫攻坚
- 63.辉县联通总部在什么位置,让工作和公益联通
- 64.中国采招什么时候开始有的,第六批国采正式官宣
- 65.华润电力渤海新区怎么样,有限公司至中捷区域热网改造项目招标公告
- 66.公共交易中心怎么登录,关于市政务服务中心继续实行网上办
- 67.中原花木博览园怎么样,德云山风情植物园怎么样
- 68.中标普药怎么做医院,看药代自己怎么说
- 69.公格尔水多少钱一盒,走马帕米尔高原
- 70.家庭训练房怎么装修,83㎡精致装修

