Documentation forAppOptics

Jolokia2

This integration collects JMX metrics using the Jolokia read service. A bridge plugin included with the SolarWinds Snap Agent provides the Jolokia2 integration. The bridge plugin uses the Telegraf Jolokia2 plugin.

This integrations is currently available for Linux and Windows

Prerequisites

This integration requires that the Jolokia read service be available. Refer to official Jolokia agent documentation for information on downloading and using the service for your application.

To verify if metrics can be gathered, run the following command:

Copy
curl "http://localhost:8778/jolokia/read/java.lang:type=Memory/HeapMemoryUsage"

The following response is returned:

Copy
# response
{
   "request":{
      "mbean":"java.lang:type=Memory",
      "attribute":"HeapMemoryUsage",
      "type":"read"
   },
   "value":{
      "init":520093696,
      "committed":509607936,
      "max":509607936,
      "used":137689336
   },
   "timestamp":1510095659,
   "status":200
}

Configuration

The Snap agent provides an example task file with basic JVM metrics to help you get started quickly, however you need to provide the correct settings for your Jolokia2 installation. To enable the task:

  1. Make a copy of the cassandra example task file task-bridge-jolokia2.yaml.example and rename the copied file to task-bridge-jolokia2.yaml:

    On Windows, using Explorer or PowerShell:

    Copy
    copy "C:\ProgramData\SolarWinds\Snap\tasks-autoload.d\task-bridge-jolokia2.yaml.example" "C:\ProgramData\SolarWinds\Snap\tasks-autoload.d\task-bridge-jolokia2.yaml"

    On Linux using command line:

    Copy
    sudo cp /opt/SolarWinds/Snap/etc/tasks-autoload.d/task-bridge-jolokia2.yaml.example /opt/SolarWinds/Snap/etc/tasks-autoload.d/task-bridge-jolokia2.yaml
  2. Edit the task file with settings specific to your Jolokia install:

    Copy
    ---
    version: 2

    schedule:
      type: simple
      interval: "60s"

    plugins:
      - plugin_name: bridge

        config:
          jolokia2:

            ## List of urls exposing jolokia read service
            urls:
              - http://localhost:8080/jolokia
            
            ## Metric name prefix
            #bridge_prefix: jolokia2

            ## Username and password needed to access jolokia service
            #username: admin
            #password: admin

            ## Timeout for fetching response from jolokia
            # response_timeout: "5s"

            ## Optional TLS Config
            # tls_ca: /path/to/cafile
            # tls_cert: /path/to/certfile
            # tls_key: /path/to/keyfile
            
            ## Use TLS but skip chain & host verification
            # insecure_skip_verify: true

            ## List of metrics to be collected from jolokia read service
            metrics:
              - name: OperatingSystem
                mbean: java.lang:type=OperatingSystem
                paths:
                  - ProcessCpuLoad
                  - SystemLoadAverage
                  - SystemCpuLoad
                  
              - name: jvm_memory
                mbean: java.lang:type=Memory
                paths: 
                  - HeapMemoryUsage
                  - NonHeapMemoryUsage
                  - ObjectPendingFinalizationCount

              - name: jvm_garbage_collector
                mbean: java.lang:name=*,type=GarbageCollector
                paths: 
                  - CollectionTime
                  - CollectionCount
                tag_keys: 
                  - name

              - name: jvm_memory_pool
                mbean: java.lang:name=*,type=MemoryPool
                paths: 
                  - Usage
                  - PeakUsage
                  - CollectionUsage
                tag_keys: 
                  - name
                tag_prefix: pool_

        publish:
          - plugin_name: publisher-appoptics
  3. Restart the agent

    On Windows command line:

    Copy
    net stop swisnapd
    net start swisnapd

    On Linux command line:

    Copy
    sudo service swisnapd restart
  4. Enable the Jolokia2 integration in AppOptics:

    On the Integrations Page you will see Jolokia2 integration available. It may take a couple minutes before the Jolokia2 integration is identified. Select the Jolokia2 integration to open the configuration menu in AppOptics, and enable it. If you do not see Jolokia2 as an option, see Troubleshooting Linux.

Metrics and Tags

The Jolokia2 integration comes with few example JVM metrics to help you get started. This integration allows to collect any metric your application exposes using JMX agent.