Monitoring JVM Metrics with ClickStack

## Dashboards and visualization[​](#dashboards "Direct link to Dashboards and visualization")

To help you monitor JVM applications with ClickStack, we provide a pre-built dashboard with essential visualizations for JVM metrics.

Download the dashboard configuration

#### [Download](/docs/examples/jvm-metrics-dashboard.json) the dashboard configuration[​](#download "Direct link to download")

Import the pre-built dashboard

#### Import the pre-built dashboard[​](#import-dashboard "Direct link to Import the pre-built dashboard")

1. Open HyperDX and navigate to the Dashboards section
2. Click **Import Dashboard** in the upper right corner under the ellipses

3. Upload the `jvm-metrics-dashboard.json` file and click **Finish Import**

View the dashboard

#### View the dashboard[​](#created-dashboard "Direct link to View the dashboard")

The dashboard will be created with all visualizations pre-configured:

Note

For the demo dataset, set the time range to **2025-12-07 14:00:00 - 2025-12-08 14:00:00 (UTC)**. Adjust based on your local timezone.

## Troubleshooting[​](#troubleshooting "Direct link to Troubleshooting")

### Agent not starting[​](#troubleshooting-not-loading "Direct link to Agent not starting")

**Verify the agent JAR exists:**

```
ls -lh /path/to/opentelemetry-javaagent.jar
```

**Check Java version compatibility (requires Java 8+):**

```
java -version
```

**Look for agent startup log message:**
When your application starts, you should see:

```
[otel.javaagent] OpenTelemetry Javaagent v2.22.0 started
```

### No metrics appearing in HyperDX[​](#no-metrics "Direct link to No metrics appearing in HyperDX")

**Verify ClickStack is running and accessible:**

```
docker ps | grep clickstack
curl -v http://localhost:4318/v1/metrics
```

**Check that metrics exporter is configured:**

```
# If using environment variables, verify:
echo $OTEL_METRICS_EXPORTER
# Should output: otlp
```

**Check application logs for OpenTelemetry errors:**
Look for any error messages related to OpenTelemetry or OTLP export failures in your application logs.

**Verify network connectivity:**
If ClickStack is on a remote host, ensure port 4318 is accessible from your application server.

**Verify agent version:**
Ensure you're using the latest stable agent version (currently 2.22.0), as newer versions often include performance improvements.

## Next steps[​](#next-steps "Direct link to Next steps")

- Set up [alerts](/docs/use-cases/observability/clickstack/alerts) for critical metrics like high heap usage, frequent GC pauses, or thread exhaustion
- Explore [other ClickStack integrations](/docs/use-cases/observability/clickstack/integration-guides) to unify your observability data

## Going to production[​](#going-to-production "Direct link to Going to production")

This guide demonstrates configuring the OpenTelemetry Java agent for local testing. For production deployments, include the agent JAR in your container images and configure via environment variables for easier management. For larger environments with many JVM instances, deploy a centralized OpenTelemetry Collector to batch and forward metrics from multiple applications instead of sending directly to ClickStack.

See [Ingesting with OpenTelemetry](/docs/use-cases/observability/clickstack/ingesting-data/opentelemetry) for production deployment patterns and collector configuration examples.

- [Integration with existing JVM application](#existing-jvm)- [Demo dataset](#demo-dataset)- [Dashboards and visualization](#dashboards)- [Troubleshooting](#troubleshooting)
        - [Agent not starting](#troubleshooting-not-loading)- [No metrics appearing in HyperDX](#no-metrics)- [Next steps](#next-steps)- [Going to production](#going-to-production)

Was this page helpful?