我们的监控系统是zabbix,最近刚做完jvm还有tomcat的监控,需要吐槽以下内容:zabbix官方提供的jvm和tomcat监控模版,存在item书写格式的坑,导致很多内容无法获取到监控。 网友写的zabbix监控java文章,99%就只有环境的搭建,没有zabbixitem键值,所以环境监控上了,item键值不知道怎么写。 本文监控jvm内容如下:内存使用状态:堆内存(Heapmemory)和非堆内存(No 【Zabbix监控Tomcat(包含JVM监控)详解】 Zabbix是一款强大的开源监控系统,能够对各种IT基础设施进行深入的性能监控。对于Tomcat这样的Java应用服务器,Zabbix提供了丰富的监控选项,包括JVM和Tomcat本身的关键指标。然而,在实际操作中,可能会遇到官方模板的局限性,如item键值的编写问题。本文将详细介绍如何配置Zabbix来监控Tomcat的JVM内存使用情况以及Tomcat本身的各项指标。 **JVM监控** 1. **内存使用状态**: - **堆内存(Heap Memory)**:包括已用内存、最大内存和已提交内存。Zabbix监控项可以通过`java.lang:type=Memory,HeapMemoryUsage`系列键值来获取。 - **非堆内存(No Heap Memory)**:包括已用内存、最大内存和已提交内存。相应的监控项为`java.lang:type=Memory,NonHeapMemoryUsage`。 2. **堆内存内存池**: - **新生代(Eden Space)**:使用`java.lang:type=MemoryPool,name= Eden Space`监控。 - **Survivor Space**:使用`java.lang:type=MemoryPool,name= Survivor Space`监控。 - **老年代(Old Gen)**:使用`java.lang:type=MemoryPool,name= Old Gen`监控。 3. **非堆内存内存池**: - **代码缓存(Code Cache)**:使用`java.lang:type=MemoryPool,name= Code Cache`监控。 - **元空间(Meta Space)**:使用`java.lang:type=MemoryPool,name= Metaspace`监控(Java 8及以上版本)。 - **压缩类空间(Compressed Class Space)**:使用`java.lang:type=MemoryPool,name= Compressed Class Space`监控(Java 8及以上版本)。 4. **类加载**: - **加载总数**:通过`java.lang:type=ClassLoading`下的`LoadedClassCount`监控。 - **已加载**:同上。 - **已卸载**:同上。 **Java线程监控**: - **总开启线程**:使用`java.lang:type=Threading`下的`ThreadCount`监控。 - **活动线程**:同上。 - **线程峰值**:使用`java.lang:type=Threading`下的`PeakThreadCount`监控。 **Tomcat监控** 1. **Tomcat请求数**: - **每秒请求数**:需要自定义监控方式,可能需要通过日志解析或使用Zabbix代理收集。 - **每秒出错数**:同上。 2. **Tomcat网络流量统计**: - **进流量统计**:可能需要通过网络接口或者自定义脚本来监控。 - **出流量统计**:同上。 3. **Tomcat线程**: - **最大线程数**:使用`Catalina:type=ThreadPool,name=http-nio-8080`下的`maxThreads`监控。 - **当前线程数**:使用`Catalina:type=ThreadPool,name=http-nio-8080`下的`currentThreadCount`监控。 - **当前繁忙线程数**:使用`Catalina:type=ThreadPool,name=http-nio-8080`下的`currentThreadsBusy`监控。 **监控环境搭建** - **Server端配置**:确保Zabbix Server安装了Java JDK,并开启了Java Gateway支持。对于RPM安装的Zabbix,只需安装`zabbix-java-gateway`包;如果是源码编译安装,需在编译时添加`--enable-java`参数。 - **Tomcat服务器配置**: - 添加`catalina-jmx-remote.jar`到Tomcat的`lib`目录。 - 修改`catalina.sh`,配置JMX远程访问。 - 重启Tomcat。 - 使用JMX客户端工具(如cmdline-jmxclient)进行测试连接和数据获取。 **监控数据采集**: 对于每个监控项,需要根据上述提到的键值在Zabbix中创建相应的items,以便定期采集数据。在Zabbix Agent的配置中,需要确保Java Gateway正确配置,并且Tomcat服务器的JMX服务已启动并允许Zabbix Agent访问。 **总结**: 监控Tomcat和JVM在Zabbix中的实现需要对Zabbix的配置有深入理解,同时要掌握JMX和Tomcat的内部工作原理。通过正确配置,可以实时监控到系统的健康状况,及时发现并解决问题,提高系统稳定性和性能。在实际操作中,可能需要根据具体的环境和需求进行调整和优化。
- 粉丝: 5
- 资源: 927
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 全国330多个地级市一、二、三产业GDP和全国及各省土地流转和耕地面积数据-最新出炉.zip
- FIC7608-spec-brief-V1.1 - 20240419
- 惠普打印机(M233sdn)驱动下载
- 初学者Python入门指南:从安装到应用
- 无锁异步化、事件驱动架构设计的 java netty 网络编程框架; 轻量级,无需依赖任何第三方中间件或数据库就能支持集群、分布式; 适用于网络游戏服务器、物联网、内部系统及各种需要长连接的场景
- 单通道H桥马达驱动器T1016H的技术参数与应用指南
- 全国各地级市GDP、土地流转和耕地面积数据-最新出炉.zip
- ARM Cortex-M0+微控制器 CW32F030x6/x8 数据手册解析与应用指导
- 1/2.55英寸CMOS图像传感器IMX362的技术特性与应用
- 使用TensorFlow实现花卉分类识别系统
评论0