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 integration is only available for Linux platforms.

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:

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

The following response is returned:

# 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 "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:

    sudo cp -p /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:

    ---
    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:

    net stop swisnapd
    net start swisnapd

    On Linux command line:

    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.

Tags

Tags can be set dynamically based on the MBean property-key names defined in the tag_keys field. See Jolokia Metric Configuration for more information.

Navigation Notice: When the APM Integrated Experience is enabled, AppOptics shares a common navigation and enhanced feature set with other integrated experience products. How you navigate AppOptics and access its features may vary from these instructions.

The scripts are not supported under any SolarWinds support program or service. The scripts are provided AS IS without warranty of any kind. SolarWinds further disclaims all warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The risk arising out of the use or performance of the scripts and documentation stays with you. In no event shall SolarWinds or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the scripts or documentation.