应用数据归集

  • 自动发现的流程:

    MonitorAgent的start方法中:

    1. 创建并启动AppServerMonitorDetector实例,调用run方法来获取所有的JVM进程,并启动对应数据的抓取任务。
    2. 创建AppServerProfileDataCatchWorker实例并开启一个线程采集profile数据。
    3. 启动MDFListener来接收第三方推送的MDF或MDF数组 实现实时数据的采集接收。
  • 定时抓取的流程:

    主要包括AppServerMonitorDataCatchWorker(Tomcat)、MSCPMonitorDataCatchWorker(MSCP)和 JavaMonitorDataCatchWorker(JavaSE)三种,以Tomcat为例:

AppServerMonitorDataCatchWorker的run方法中:

  1. 调用doCaptureMonitorData方法获取Monitor对应的所有MBean,并将所有MBean放入mdf中。
  2. 调用detector.runHandlers方法对数据进行处理。
  3. 调用doCaptureProfileData方法获取profile对应的所有MBean,并将所有MBean放入pmdf中。
  4. 调用apdc.putData方法对profile数据进行展示。

其中,MBean被分为不同的类型:

  • AppServer/MSCP 查询的MBean:

    profile: "com.creditease:feature=profiles,*"
    monitor: "com.creditease:feature=monitors,*"

  • Java 查询的MBean:

    "java.lang.management" ClassLoadingMXBean
    MemoryMXBean
    MemoryPoolMXBean
    “com.sun.management."
    GarbageCollectorMXBean
    ThreadMXBean
    OperatingSystemMXBean
    UnixOperatingSystemMXBean

results matching ""

    No results matching ""