卸载tomcat_一文看懂zabbix监控tomcat自定义模板配置

概述

zabbix监控tomcat只有一个zabbix-java-gateway,可以部署在zabbix-sever端也可以部署在其他机器上,需要和zabbix-server网络可达。Zabbix-Javagateway就相当于一个代理,它负责收集客户端tomcat数据,zabbix-server只要向zabbix-java-gateway取数据添加到数据库即可。但zabbix官方提供的jvm和tomcat监控模版,存在item书写格式的坑,导致很多内容无法获取到监控。

前面已经介绍了客户端方面脚本的配置,今天主要介绍一下监控项跟触发器的管理。


一、自定义tomcat监控模板--应用集管理

根据需要划分为以下几个应用集,分别对应如下监控项

Tomcat请求数:包括每秒请求数,每秒出错数;Tomcat网络流量统计:包括进流量统计,出流量统计;Tomcat线程:包括最大线程数,当前线程数,当前繁忙线程数。

JVM内存使用状态:堆内存(Heap memory)和非堆内存(No Heap memory),包括已用值、最大值、已提交;

JVM堆内存内存池:新生代(eden space),survivor space,老年代(old gen)的内存使用状态;

JVM非堆内存内存池:代码缓存(Code cache),元空间(meta space),压缩类空间(compressed class space);

JVM类加载:加载总数,已加载,已卸载。

Java线程:总开启线程,活动线程,线程峰值

94027bdaef13a6ce3d850f15f3630a35.png

二、自定义tomcat监控模板--监控项管理

1、tomcat基本信息

--tomcat版本名称:Tomcat version类型:JMX agent代理程序键值:jmx["Catalina:type=Server",serverInfo]信息类型:字符更新间隔:1h
503334b1941e7964d594a58f51629b97.png

2、JVM基本信息

--JVM版本名称:JVM版本类型:JMX agent代理程序键值:jmx["java.lang:type=Runtime",VmVersion]信息类型:字符更新间隔:1h--JVM名称名称:JVM名称类型:JMX agent代理程序键值:jmx["java.lang:type=Runtime",VmName]信息类型:字符更新间隔:1h--JVM运行时间名称:JVM运行时间类型:JMX agent代理程序键值:jmx["java.lang:type=Runtime",Uptime]信息类型:数字单位:uptime更新间隔:1m

3、JAVA堆内存

设置后可以在配置-主机-监控项上查看监控项是否生效

--堆内存最大值名称:堆内存最大值类型:JMX agent代理程序键值:jmx["java.lang:type=Memory",HeapMemoryUsage.max]信息类型:数字单位:B--已用堆内存名称:已用堆内存类型:JMX agent代理程序键值:jmx["java.lang:type=Memory",HeapMemoryUsage.used]信息类型:数字单位:B--已提交堆内存名称:已提交堆内存类型:可计算的键值:jmx["java.lang:type=Memory",HeapMemoryUsage.committed]信息类型:数字单位:B
bb4667dbef0f8a1db3f578f99a2725fb.png

4、内存池eden space

--内存池eden区域最大空间名称:内存池eden区域最大空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=PS Eden Space",Usage.max]信息类型:数字单位:B--内存池eden区域已用空间名称:内存池eden区域已用空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=PS Eden Space",Usage.used]信息类型:数字单位:B--内存池eden区域提交空间名称:内存池eden区域提交空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=PS Eden Space",Usage.committed]信息类型:数字单位:B

5、内存池survivor space

--内存池survivor区域最大空间名称:内存池survivor区域最大空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=PS Survivor Space",Usage.max]信息类型:数字单位:B--内存池survivor区域已用空间名称:内存池survivor区域已用空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=PS Survivor Space",Usage.used]信息类型:数字单位:B--内存池survivor区域提交空间名称:内存池survivor区域提交空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=PS Survivor Space",Usage.committed]信息类型:数字单位:B

6、内存池old gen

--内存池old gen最大空间名称:内存池old gen最大空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=PS Old Gen",Usage.max]信息类型:数字单位:B--内存池old gen已用空间名称:内存池old gen最大空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=PS Old Gen",Usage.used]信息类型:数字单位:B--内存池old gen提交空间名称:内存池old gen最大空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=PS Old Gen",Usage.committed]信息类型:数字单位:B

7、内存池meta space

内存池meta space最大空间一般为-1,代表不限制,这里不做显示

--内存池meta space已用空间名称:内存池meta space已用空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=Metaspace",Usage.used]信息类型:数字单位:B--内存池meta space提交空间名称:内存池meta space提交空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=Metaspace",Usage.committed]信息类型:数字单位:B

8、内存池code cache

--内存池code cache最大空间名称:内存池code cache最大空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=Code Cache",Usage.max]信息类型:数字单位:B--内存池code cache已用空间名称:内存池code cache已用空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=Code Cache",Usage.used]信息类型:数字单位:B--内存池code cache提交空间名称:内存池code cache提交空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=Code Cache",Usage.committed]信息类型:数字单位:B

9、内存池compressed class space

--内存池compressed class space最大空间名称:内存池compressed class space最大空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=Compressed Class Space",Usage.max]信息类型:数字单位:B--内存池compressed class space已用空间名称:内存池compressed class space已用空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=Compressed Class Space",Usage.used]信息类型:数字单位:B--内存池compressed class space提交空间名称:内存池compressed class space提交空间类型:JMX agent代理程序键值:jmx["java.lang:type=MemoryPool,name=Compressed Class Space",Usage.committed]信息类型:数字单位:B

10、非堆内存

max为-1,不建议做监控

--非堆内存最大值名称:非堆内存最大值类型:JMX agent代理程序键值:jmx["java.lang:type=Memory",NonHeapMemoryUsage.max]信息类型:数字单位:B--非堆内存已用空间名称:非堆内存已用空间类型:JMX agent代理程序键值:jmx["java.lang:type=Memory",NonHeapMemoryUsage.used]信息类型:数字单位:B--非堆内存提交空间名称:非堆内存提交空间类型:JMX agent代理程序键值:jmx["java.lang:type=Memory",NonHeapMemoryUsage.committed]信息类型:数字单位:B

11、类加载

--类加载总数名称:类加载总数类型:JMX agent代理程序键值:jmx["java.lang:type=ClassLoading",TotalLoadedClassCount]信息类型:数字单位:--类已加载名称:类已加载类型:JMX agent代理程序键值:jmx["java.lang:type=ClassLoading",LoadedClassCount]信息类型:数字单位:--类已卸载名称:类已卸载类型:JMX agent代理程序键值:jmx["java.lang:type=ClassLoading",UnloadedClassCount]信息类型:数字单位:

12、java线程

--总开启线程名称:总开启线程类型:JMX agent代理程序键值:jmx["java.lang:type=Threading",TotalStartedThreadCount]信息类型:数字单位:--活动线程名称:活动线程类型:JMX agent代理程序键值:jmx["java.lang:type=Threading",ThreadCount]信息类型:数字单位:--线程峰值名称:线程峰值类型:JMX agent代理程序键值:jmx["java.lang:type=Threading",PeakThreadCount]信息类型:数字单位:

13、tomcat线程

因为tomcat一般我们都会改端口,所以需要自定义更改,例如写成http-nio-80,另外就是根据使用的 Tomcat 的 Connector 运行模式(bio|nio|apr)进行自定义更改。

--tomcat最大线程数名称:tomcat最大线程数类型:JMX agent代理程序键值:jmx["Catalina:type=ThreadPool,name="http-nio-80"",maxThreads]信息类型:数字单位:--tomcat当前线程数名称:tomcat当前线程数类型:JMX agent代理程序键值:jmx["Catalina:type=ThreadPool,name="http-nio-80"",currentThreadCount]信息类型:数字单位:--tomcat繁忙线程数名称:tomcat繁忙线程数类型:JMX agent代理程序键值:jmx["Catalina:type=ThreadPool,name="http-nio-80"",currentThreadsBusy]信息类型:数字单位:

14、网络流量统计

--tomcat接收的流量名称:tomcat接收的流量类型:JMX agent代理程序键值:jmx["Catalina:type=GlobalRequestProcessor,name="http-nio-80"",bytesReceived]信息类型:数字单位:B--tomcat发送的流量名称:tomcat发送的流量类型:JMX agent代理程序键值:jmx["Catalina:type=GlobalRequestProcessor,name="http-nio-80"",bytesSent]信息类型:数字单位:B

15、tomcat请求

--tomcat请求数名称:tomcat请求数类型:JMX agent代理程序键值:jmx["Catalina:type=GlobalRequestProcessor,name="http-nio-80"",requestCount]该键值无效:jmx["Catalina:type=GlobalRequestProcessor,name="{$PROTOCOL_HANDLER_HTTP}"",requestCount]信息类型:数字单位:--tomcat出错请求数名称:tomcat出错请求数类型:JMX agent代理程序键值:jmx["Catalina:type=GlobalRequestProcessor,name="http-nio-80"",errorCount]信息类型:数字单位:--tomcat请求时间名称:tomcat请求时间类型:JMX agent代理程序键值:jmx["Catalina:type=GlobalRequestProcessor,name="http-nio-80"",processingTime]信息类型:浮点数单位:s更新间隔:1m

三、自定义tomcat监控模板--触发器管理

--mem Heap Memory名称:85% mem Heap Memory used on {HOST.NAME}表达式:{tomcat:jmx["java.lang:type=Memory",HeapMemoryUsage.used].last()}>({tomcat:jmx["java.lang:type=Memory",HeapMemoryUsage.max].last()}*0.85)严重性:严重--mem Non-Heap Memory名称:85% mem Non-Heap Memory used on {HOST.NAME}表达式:{tomcat:jmx["java.lang:type=Memory",NonHeapMemoryUsage.used].last()}>({tomcat:jmx["java.lang:type=Memory",NonHeapMemoryUsage.max].last()}*0.85)严重性:严重--mp Code Cache名称:85% mp Code Cache used on {HOST.NAME}表达式:{tomcat:jmx["java.lang:type=MemoryPool,name=Code Cache",Usage.used].last()}>({tomcat:jmx["java.lang:type=MemoryPool,name=Code Cache",Usage.max].last()}*0.85)严重性:严重-- mp Compressed Class Space名称:85% mp Compressed Class Space used on {HOST.NAME}表达式:{tomcat:jmx["java.lang:type=MemoryPool,name=Compressed Class Space",Usage.used].last()}>({tomcat:jmx["java.lang:type=MemoryPool,name=Compressed Class Space",Usage.max].last()}*0.85)严重性:严重--mp PS Eden Space名称:85% mp PS Eden Space used on {HOST.NAME}表达式:{tomcat:jmx["java.lang:type=MemoryPool,name=PS Eden Space",Usage.used].last()}>({tomcat:jmx["java.lang:type=MemoryPool,name=PS Eden Space",Usage.max].last()}*0.85)严重性:严重--mp PS Old Gen名称:85% mp PS Old Gen used on {HOST.NAME}表达式:{tomcat:jmx["java.lang:type=MemoryPool,name=PS Old Gen",Usage.used].last()}>({tomcat:jmx["java.lang:type=MemoryPool,name=PS Old Gen",Usage.max].last()}*0.85)严重性:严重-- Runtime名称:{HOST.NAME} is not reachable表达式:{tomcat:jmx["java.lang:type=Runtime",Uptime].nodata(5m)}=1严重性:一般严重
fe89c6c7aa32b09006813dd50e689449.png

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值