Monitor

Monitor your managed instances, payload and network traffic.

For payload and network traffic, JMS uses an agent software (JMS plug-in) to gather information from your hosts. The agent sends the collected information from your host, to a customer-owned OCI Logging object. JMS reads this information from the OCI Logging service custom log object and converts it into insights that you can use to make decisions to optimize Java workloads on your hosts.

Monitor Managed Instances

After successful deployment and registration to a fleet, the JMS plug-in starts detecting Java runtimes present on the managed instances and running Java applications.

  1. Navigate to the fleet.
  2. Click Java Runtimes under Resources.
    The Java runtime installations discovered on your managed instances appear in the Java runtimes table.
  3. Click Applications under Resources.

    Note:

    It takes some time for the reports to show up in JMS console, depending on the agent configuration.
    The Java applications running after registering the JMS plug-in are displayed.
  4. Click on the managed instances under Resources to see the registered hosts.
    Navigate to a managed instance for specific information.

Monitor Payload and Network Traffic

The following is the scope and size of the information exfiltrated from customer host by the JMS agent.

Scope of information exfiltrated from customer hosts

For basic features, the JMS agent gathers and exfiltrates (always through HTTPS) the following information from the host machine:

  • Basic data about the host machine like operating system details
  • Data about JVM invocation found during Java runtime usage reporting
  • Data about JVM found during the Java runtime discovery scan

You can control the frequency of the data exfiltration (network load) by adjusting the scan frequency in fleet agent settings.

The JMS agent exfiltrates the information from the host by writing to the OCI Logging custom log object API.

Size of information exfiltrated from customer hosts

The amount of data exfiltrated from the host machine depends on the following factors that directly impact the network load.

  • The number of Java applications that are invoked on the host
  • The number of Java runtimes discovered on the host
  • The scan frequency configured in the JMS fleet agent settings

Note:

Data sent to JMS through OCI Logging service inventory logs incur storage costs. See the Oracle Cloud Cost Estimator for cost estimation.
  1. View Java usage payload.
    The following is sample Java usage payload for the basic feature written by the agent to the OCI inventory log object.
    {
      "datetime": 1654089796180,
      "logContent": {
        "data": {
          "data": {
            "additionalProperties": {
              "java.runtime.name": "Java(TM) SE Runtime Environment"
            },
            "applicationName": "com.oracle.test.HelloWorld",
            "classPath": "/home/opc/HelloWorld-1.0.jar",
          The classPath is a list of paths, but due to logging limitations, JMS provides the same information as an array of path. There is a limit 10,000 characters for string values.
            "fleetId": "ocid1.jmsfleet.oc1.iad.fleet-id",
            "javaArgs": "John",
            "javaCommand": "com.oracle.test.HelloWorld",
            "javaDistribution": "Java(TM) SE Runtime Environment",
            "javaHome": "/usr/java/jdk-11.0.14",
            "javaMajorVersion": "11",
            "javaVendor": "Oracle Corporation",
            "javaVersion": "11.0.14",
            "managedInstanceId": "ocid1.managementagent.oc1.iad.management-agent-id",
            "osArch": "amd64",
            "osName": "Linux",
            "osVersion": "5.4.17-2136.302.7.2.1.el8uek.x86_64",
            "startTime": "2022-05-27T05:02:01Z",
            "typeOfStart": "VM start"
          },
          "datacontenttype": "application/json",
          "dataschema": "1.0",
          "id": "b36806ce-564e-46e5-99fc-d50fb386dd7a",
          "source": "ocid1.managementagent.oc1.iad.management-agent-id",
          "specversion": "1.0",
          "time": "2022-06-01T13:23:16.180Z",
          "type": "jms.jvm.usage.log"
        },
        "id": "b36806ce-564e-46e5-99fc-d50fb386dd7a",
        "oracle": {
          "compartmentid": "ocid1.compartment.oc1..compartment-id",
          "ingestedtime": "2022-06-01T13:24:12.141Z",
          "loggroupid": "ocid1.loggroup.oc1.iad.log-group-id",
          "logid": "ocid1.log.oc1.iad.log-id",
          "tenantid": "ocid1.tenancy.oc1..tenant-id"
        },
        "source": "ocid1.managementagent.oc1.iad.management-agent-id",
        "specversion": "1.0",
        "subject": "JMS",
        "time": "2022-06-01T13:23:16.180Z",
        "type": "jms.jvm.usage.log"
      }
    }
  2. View Java installation payload.
    The following is sample Java installation payload for the basic feature written by the agent to the OCI inventory log object.
    {
      "datetime": 1651838678794,
      "logContent": {
        "data": {
          "data": {
            "fleetId": "ocid1.jmsfleet.oc1.iad.fleet-id",
            "javaDistribution": "Java(TM) SE Runtime Environment",
            "javaHome": "/usr/java/jdk-17.0.2",
            "javaMajorVersion": "17",
            "javaVendor": "Oracle Corporation",
            "javaVersion": "17.0.2",
            "managedInstanceId": "ocid1.managementagent.oc1.iad.management-agent-id",
            "osArch": "amd64",
            "osName": "Linux",
            "osVersion": "5.4.17-2136.304.4.1.el8uek.x86_64"
          },
          "datacontenttype": "application/json",
          "dataschema": "1.0",
          "id": "3b8f47a4-46de-476f-b786-1dc4d4ddd6ec",
          "source": "ocid1.managementagent.oc1.iad.management-agent-id",
          "specversion": "1.0",
          "time": "2022-05-06T12:04:38.794Z",
          "type": "jms.jvm.installation.log"
        },
        "id": "id",
        "oracle": {
          "compartmentid": "ocid1.compartment.oc1..compartment-id",
          "ingestedtime": "2022-05-06T12:04:59.016Z",
          "loggroupid": "ocid1.loggroup.oc1.iad.loggroup-id",
          "logid": "ocid1.log.oc1.iad.log-id",
          "tenantid": "ocid1.tenancy.oc1..tenancy-id"
        },
        "source": "ocid1.managementagent.oc1.iad.management-agent-id",
        "specversion": "1.0",
        "subject": "JMS",
        "time": "2022-05-06T12:04:38.794Z",
        "type": "jms.jvm.installation.log"
      }
    }