Web运行主机之一 Tomcat监控选型及通常 Java

  • 电脑网络维修
  • 2024-11-15

监控选型

TomcatManager和Psi-probe是不错的可视化监控工具,能够很好地检查Tomcat形态消息(比如单位期间恳求数,线程形态等)。在消费环境中,随着Tomcat实例的不时参与,保养不同实例上的Manager控制台会显得有些繁琐,同时,为了与企业监控系统、运维仪表盘等联合,有必要选用兼容性和适配性更好的监控工具。

当初,企业微服务的盛行和CI/CD的强需求性,要求咱们的服务在易于开发和保养的同时,具备伸缩性强、极速交付等特点。在此环境下,Tomcat+Prometheus+Grafana能够很好的与企业已有架构适配,并能够很好的与其余两边件服务监控整合到一同。Prometheus作为新一代的云原生监控系统,激励用户监控服务的外部形态,让用户可以失掉服务和运行外部真正的运转形态。

容器环境下Tomcat+Prometheus+Grafana简图如下:

在实践部署中,可以繁难分为如下几个步骤:

1、下载jmx_prometheus_javaagent(,若为容器环境,可将jmx_prometheus_javaagent与Tomcat一同打进运转镜像。

2、Tomcat启动时,JAVA_OPTS参与Javaagent和Tomcat config.yaml(性能,例如:JAVA_OPTS=”-javaagent:/var/tomcat/jmx_prometheus_javaagent-0.3.1.jar=port:/vat/tomcat/conf/config.xml”(port为实践端口)。

3、Prometheus参与Tomcat的job_name。

监控目的梳理

在《SRE:Google运维解密》一书中指出,监控系统须要能够有效的允许白盒监控和黑盒监控。经过白盒监控能够了解其外部的实践运转形态,经过对监控目的的观察能够预判或许出现的疑问,从而对潜在的不确定要素启动优化。而黑盒监控,经常出现的如HTTP探针,TCP探针等,可以在系统或许服务在出现缺点时能够极速通知相关的人员启动处置。

监控的四个黄金目的可以在服务级别协助咱们更好地权衡终端用户体验、服务终止、业务影响等层面的疑问。关键关注以下四种类型的目的:失误,提前,流量以及饱和度。

经过对黑盒、白盒监控的了解,联合监控的四个黄金目的,针对Tomcat的关键监控目的,可以从以下几个方面启动思考:

监控通常

失误

失误监控关注的是运行或系统出现的失误恳求。针对Tomcat失误监控,关键监控目的为Tomcat失误恳求数及与恳求总数之间的比例,这些多为显式的失误。关于隐式的失误(比如形态码照应200,实践业务流程却是失败的),通常须要依据业务场景的不同,在服务中参与钩子及业务逻辑监控来成功。

图1:某Tomcat实例在1000+qps下恳求数和失误数的比例

当然,咱们也可以借助ELK等工具,对Tomcat抢先代理或LB启动全体的失误形态码统计,繁难咱们更好的定位失误,以及在出现5xx失误时思考如何“极速失败”,来缩小失误对系统性能带来的影响。

图2:经过Tomcat抢先代理采集的形态码统计

提前

提前监控关注的是服务恳求所需期间。针对Tomcat提前监控,关键监控目的为Tomcat实例的Responsetime。同时,咱们也可以驳回黑盒监控中的HTTP语义探测来采集Tomcat对应域名的全链路提前,发送指定GET、POST、HEAD等恳求,来婚配形态码及主机的前往内容。

图3:某产品线下多个Tomcat实例全体的response time汇总

图4:经过Tomcat抢先代理采集的平均恳求期间和Tomcat平均照应期间

流量

流量监控关注的是系统或运行的流量,以便更好地权衡服务的承载才干。针对Tomcat流量监控,咱们须要关注Tomcat实例发送和接纳的流量。

图5:某Tomcat实例发送和接纳的流量

饱和度

饱和度监控关注的是系统或运行对资源的应用率,强调最能影响服务形态的受限度的资源。

不同的系统或运行对饱和度监控的需求各不相反,但特性是在服务性能显著降低时,起选择性的形态目的。针对Tomcat饱和度监控,可以从堆内存、线程数、GC次数及耗时等方面登程,在告警出现前后,经过检查各个目的的变动曲线,极速定位疑问要素。

Tomcat线程池

关于Tomcat线程池初始性能的采集,可以依据不同业务场景,不同实例的压力,来启动调整,比如maxThreads、acceptCount等。

图6:某Tomcat实例线程池相关的自动性能

JVM监控

关于Tomcat JVM的监控,通常咱们须要关注堆内存的经常使用状况、GC的次数和耗时、以及对JVM线程数的监控。

JVM堆内存监控

Java Heap是JVM所治理的内存中***的一块,被一切线程所共享,用来寄存对象实例。因此,堆内存的经常使用状况至关关键。

图7:某Tomcat实例堆内存的经常使用状况

经过检查单位期间内GC次数和耗时,能够让咱们针对不同的业务场景,选用不同的渣滓回收器,从而进一步提高性能。

图8:某Tomcat实例自动渣滓回收器总GC次数曲线

图9:某Tomcat实例自动渣滓回收器总GC期间曲线

JVM线程数的曲线统计,能够让咱们更直观的看到JVM线程的运转状况。

图10:某Tomcat实例JVM线程相关的统计

写在***

经过对Tomcat关键监控目的的采集以及监控,协助咱们更繁难地成功日常巡检,提高先于缺点发现疑问的才干,提高缺点出现时的定位效率,从而更好地提高稳固性。

附:

jmx_prometheus_javaagent:

Tomcat jmx_exporter:

本期作者:蒲公英

京东云

运行研发部

Tomcat是一款开源的轻量级Web运行主机,宽泛运行于云服务平台及企业运行系统,是***的Javaweb运行主机之一。因此,关于Tomcat的监控显得尤为关键,能让咱们在不同场景下了解Tomcat的运转状况,进而能够更好的启动调优。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/7125.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号