异常重启_某客户系统weblogic主备模式异常重启事件

   各位,公众号好友久违了!笔者已经很久没有更新公众号,今天心情不错重新开启公众号文章更新,望大家见谅!

    今天给大家带了了一篇weblogic中间件故障事件经历,那是在某年某月某日某时某分,突然电话响了瞄了一眼,看见那熟悉的号码,感觉不好会有紧急事件要发生了。是现场一线运维同事打过来的,最近几天系统的weblogic总是异常罢工总是反复重启。需要紧急去现场解决问题。

    笔者以最快的速度叫了一辆车来到了现场,看见现场的兄弟们很无赖的看着我,专家,你总算来了。笔者一边听现场兄弟描述故障现象,一边开电脑准备连接现场环境。总算了解清楚现场情况,现在开始干活了。先登录weblogic控制台检查服务正常,但从日志中发现weblogic服务在半分钟后就自动重启成功。但如果频繁发生类似问题势必会给业务带来不良影响

现场环境是一套Weblogic HA架构,weblogic与DB都在同一台主机,一旦主机发生异常就会通过HA软件进行主备切换,接着HA软件就会自动拉起DB数据库和weblogic应用。而HA的自检机制是每隔1-2分钟去调用一次weblogic_auto.sh脚本来检查weblogic服务运行状态,一旦检查到weblogic其中一个进程服务失败就返回给HA的值是非0,脚本会有一次自动重启weblogic服务机会。如果这一次自动重启失败后,那就没有机会了,HA就会自动切换到备机。如下图是自检脚本操作流程:

4f07126ec16e2c9525c8607235bbb904.png

从上面操作流程来看是没有什么问题,切入点回到日志中去排查

在故障时间点获取了domain中weblogic服务日志都有发现重启的迹象,现挑出其中一套环境的weblogic日志和weblogic自检启动脚本日志,针对这两个日志做出详细分析:

1)、我们在故障时间点2017-1-9 下午03时30分09秒,发现weblogic服务日志中有报错java.lang.OutOfMemoryError: unable to create new native thread,此错会导致线程无资源创建,会让weblogic服务hang,系统访问会变缓慢。这并不是导致weblogic服务致命问题。此刻weblogic服务已经异常了。

c787ca1f3503f131c6da6e45666c8d7a.png

2)、在故障时间点2017-1-9 下午03时30分03秒,从weblogic自检日志中有发现HA进程调用weblogic_auto.sh status去自检weblogic的服务运行状态,但检查的过程中无法正常获取weblogic服务状态,也报了java.lang.OutOfMemoryError: unable to create new native thread。这个肯定不是巧合,发现指令执行失败返回来的值是不正常的,因此判定weblogic状态是异常。最终weblogic自检脚本发起weblogic服务重启指令,来重启weblogic服务,这才是问题的原因导致。

5032123c98668b1d0636d9e168153fc1.png

90f0a1f2929fdbe615276291854947c6.png

3)、在故障时间点2017-1-9 下午03时31分43秒,weblogic服务开始启动,最后在2017-1-9 下午03时32分10秒左右,weblogic服务启动成功。

a4b8c1a0cfe7ae51584726b08e7f288f.png

最终总结通过上面的数据证据表明此次weblogic自动重启事件原因是java.lang.OutOfMemoryError: unable to create new native thread因内存溢出资源不足导致新线程没有资源可分配。HA进程会每隔1-2分钟去调用weblogic_auto.sh来检查weblogic服务运行状态,脚本在获取状态异常报错(OutOfMemoryError),最后返回给HA是非0值,自检脚本会自动重启weblogic这个服务进程。所以排除操作系统kill weblogic服务进程。

针对此次事件总结优化建议如下:

1、建议调大JVM内存空间,基础上扩容1倍。

2、将当前HA架构改造成weblogic cluster模式,提升资源利用率,保障系统高可用。

3、在JVM虚拟机中增加内存溢出参数和增加的GC参数,有利于系统出现内存溢出方便内存故障排查问题分析。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值