Tomcat监控

一、使用Tomcat自带的Status页进行监控

  修改tomcat-users.xmltomcat安装目录下conf文件夹内)

  在tomcat-users中添加代码:

    

  修改完后重启tomcat,打开localhost8080进入主页面;点击Server Status 输入密码后进入Server Status页面

 

  Status页面主要包括三部分信息:JVMHTTPjk

     JVM(Java虚拟机):包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域

                                  JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在JAVA虚拟机上运行的目标代码(字节码),就可以在多个平台上不加修改的运行;JVM在执行字节码时,还是把字节码解释成具体平台上的机器指令执行。

 

      Free memory:空闲内存大小  Total memory:总内存大小  Max memory:最大内存大小

   HTTP

       Max threads: 最大线程数 

       Current thread count: 最近运行的线程数 

       Current thread busy:  正在运行的线程数

       Keep alive sockets count: 0
       Max processing time:最大CPU时间 

       Processing time: CPU消耗总时间 

       Request count: 请求总数

       Error count: 错误的请求数

       Bytes received: 接收字节数

       Bytes sent: 0.00 MB:发送字节数

请求阶段:

       P:正准备发送的请求;

       S:请求正在服务器端处理

       F:已经完成的请求

       R:即将发送的请求

       K:当前活动的请求

Jk显示信息与http相同,jkApache连接tomcat的一个模块,支持集群和负载均衡

 

二、使用Java管理扩展监测工具Jconsole进行监控

              Java根目录下的Jconsole文件,直接点击运行;可为Jconsole路径设置环境变量

             C:Program FilesJavajdk1.8.0_121in

启动Jconsole程序的方式有两种:带参数的启动,不带参数的启动

         不带参数的启动将弹出对话框:

 

      带参数启动又分为监控本地进程和远程进程

         本地监控的命令格式:Jconsole processID processID指应用程序进程的ID,PIDwindows系统可以在任务管理器查找正在运行的java实例的PID

         远程监控的命令格式:Jconsole 主机名 portNumportNum是启动Java虚拟机时指定的JMX代理的端口号)

Jconsole 本身需消耗大量的系统资源,生产环境中不推荐在本地监视

java监控器控制台:

监控的内容主要包括:概述、内存监控、线程监控、类监控、VM摘要、MBean

         1) 概述

         2) 内存监控

内存监控信息主要提供了内存消耗和内存池的信息

内存消耗有两类:堆和非堆内存;这两种内存是Java虚拟机管理的两种内存,都是java虚拟机启动时创建的

堆内存:堆内存是运行时数据区域,java VM的所有类实例和数组分配内存,可能是固定或可变大小的堆

非堆内存:包括在所有线程和Java虚拟机内部处理或优化所需的共享的方法。他存储了类的结构、运行常量池、字段和方法数据以及方法和构造函数的代码,方法区在逻辑上是堆的一部分,看具体实现的方式。

         3) 线程监控

             线程数视图动态的显示了当前的活动线程数:当前活动线程数和峰值线程数

         4) 类监控

         5) VM摘要

         6) MBean

使用LambdaProbe进行监控

原文地址:https://www.cnblogs.com/ly2018/p/8533077.html