Java Web应用处事器之一:Tomcat监控选型及实践
副问题[/!--empirenews.page--]
监控选型 Tomcat Manager和Psi-probe是不错的可视化监控器材,可以或许很好地查察Tomcat状态信息(好比单元时刻哀求数,线程状态等)。在出产情形中,跟着Tomcat实例的不绝增进,维护差异实例上的Manager节制台会显得有些繁琐,同时,为了与企业监控体系、运维仪表盘等团结,有须要选择兼容性和适配性更好的监控器材。 现在,企业微处事的风行和CI/CD的强需求性,要求我们的处事在易于开拓和维护的同时,具有伸缩性强、快速交付等特点。在此情形下,Tomcat+Prometheus+Grafana可以或许很好的与企业已有架构适配,并可以或许很好的与其他中间件处事监控整合到一路。Prometheus作为新一代的云原生监控体系,勉励用户监控处事的内部状态,让用户可以获取处事和应用内部真正的运行状态。 容器情形下Tomcat+Prometheus+Grafana简图如下: 在现实陈设中,可以简朴分为如下几个步调: 1、下载jmx_prometheus_javaagent (https://github.com/prometheus/jmx_exporter),若为容器情形,可将jmx_prometheus_javaagent与Tomcat一路打进运行镜像。 2、Tomcat启动时,JAVA_OPTS增进Javaagent和Tomcat config.yaml (https://github.com/prometheus/jmx_exporter/blob/master/example_configs/Tomcat.yml )设置,譬喻: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实例的Response time。同时,我们也可以回收黑盒监控中的HTTP语义探测来收罗Tomcat对应域名的全链路耽误,发送指定GET、POST、HEAD等哀求,来匹配状态码及处事器的返回内容。 图3:某产物线下多个Tomcat实例整体的response time汇总 图4:通过Tomcat上游署理收罗的均匀哀求时刻和Tomcat均匀相应时刻 流量 流量监控存眷的是当前体系或应用的流量,以便更好地权衡处事的承载手段。针对Tomcat流量监控,我们必要存眷Tomcat实例发送和吸取的流量。 图5:某Tomcat实例发送和吸取的流量 饱和度 饱和度监控存眷的是体系或应用对资源的操作率,夸大最能影响处事状态的受限定的资源。 差异的体系或应用对饱和度监控的需求各不沟通,但共性是在处事机能明明降落时,起抉择性的状态指标。针对Tomcat饱和度监控,可以从堆内存、线程数、GC次数及耗时等方面出发,在告警产生前后,通过查察各个指标的变革曲线,快速定位题目缘故起因。 Tomcat线程池 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |