Monitor Agent

MA Architecture

Implementation Architecture of MA:

MA is an agent for decoupling and runs independently outside applications. MA fetches MOF information periodically, detects Tomcat, MSCP and JavaEE information automatically, and obtains more derived monitoring information. Then data in MA is delivered to Health Manager via RocketMQ.

Below are two approaches in which MA obtains values:

  1. Monitor Framework tracks J2EE projects and MA obtains data from such projects
  2. MA obtains parameter values from the system

Workflow of MA:

  1. As MSCP's program entry, MSCPBoot invokes the startup method of SystemStarter when getting started.
  2. SystemStarter invokes the run method of AppServerMonitorDetector in the start method of MonitorAgent when getting started.
  3. Obtain all JVM processes with the run method, start the corresponding data fetching task, and determine whether the processes should get killed if they use too much CPU or memory.
  4. Use the addWorker method in AppServerMonitorDetector to periodically fetch the Monitor Data of Tomcat/MSCP/JavaSE based on different values of jvmType and generate the MonitorDataFrame.
  5. Detect processes if the monitoring data cannot be obtained. If the process has been killed, the related worker shall stop automatically.
  6. Send MonitorDataFrame to RocketMQ. Health Manger shall process MonitorDataFrame. Messages collected are classified into profile data and monitor data, with the former being static data of the system and the latter being runtime monitoring data.

results matching ""

    No results matching ""