Repository navigation
Kubernetes
Prefer Central for multi-pod fleets. Embedded H2 is a poor fit when pods scale or restart often.
Ops patterns below apply whether you use the official chart, a community chart, or raw manifests.
| Piece | Runs where | Notes |
|---|---|---|
| Agent | Inside each app JVM |
-javaagent + writable glowroot dirs |
| Central | Its own Deployment/StatefulSet | Image glowroot/glowroot-central (see Central Collector with Docker) |
| Cassandra | Required for Central | Own StatefulSet / managed service — not optional |
| UI | Central Service port 4000 | Humans only |
| Agent→Central | Central Service gRPC port 8181 (default) | Not the UI port |
-
Ship the agent dist in the image or mount it (initContainer / volume). There is no auto-attach.
-
JVM args, before
-jar/ main class:-javaagent:/path/to/glowroot.jar -Dglowroot.agent.id=MyApp::$(POD_NAME) -Dglowroot.collector.address=http://glowroot-central:8181Or the same keys in
glowroot.propertiesnext to the jar. -
collector.addressmust be the Central Service DNS (+ scheme/port) as seen from the app pod — notlocalhost, not:4000. -
Full
agent.idmust be unique per JVM/pod. Group under one rollup withApp::pod-a,App::pod-b(see Multiple JVMs and agent.id). -
Glowroot dirs must be writable. For Central-only agents you can drop embedded collector jars from the dist; still give a writable conf/log/tmp (emptyDir is fine).
- Allow app pods → Central Service on the gRPC port (default 8181). NetworkPolicy / mesh must permit that path.
- There is no agent setting for an HTTP proxy to Central; reachability is TCP/gRPC.
- Do not put a URL path on
collector.address(no/collector).
On 0.14.8+, use /readiness (or /ready) for storage readiness and /liveness / /healthz for process liveness. Do not assume /health still checks Cassandra — it is liveness. See Health endpoints.
Many agents on undersized Central/Cassandra look like “K8s is slow”. Size for agent count and write volume; prefer local/fast disk for Cassandra, not tiny remote volumes. See Central Collector Cluster and Troubleshooting Tips.
Avoid reusing the same agent.id across replacements that still overlap — zombie meta piles up; prune in the UI / ops tools when pods are gone for good.
- Official chart (Central only, external Cassandra):
helm/glowroot-centralin this repo. - Community chart (admin values + Bitnami Cassandra, historically a patched image): novumrgi/helm.
- With any chart: still apply the rules above (
collector.address, ports, uniqueagent.id, NetworkPolicy). Same-namespace does not makelocalhostcorrect inside the app container.
Home · Releases · Discussions · Issues · Troubleshooting
Glowroot is licensed under the Apache License 2.0.
- Home
- Choosing Embedded vs Central
- What's new
- Health endpoints
- Troubleshooting Tips
- What Glowroot does not do
- Plugin coverage gaps
- How to read a Trace
- Re-engineering a slow call
- Releases
- Agent Installation (with Embedded Collector)
- Agent Upgrade
- Multiple JVMs and agent.id
- Where are my application server's JVM args?
- Plugins
- Instrumentation
- Plugin coverage gaps
- Batch application instrumentation
- Administration-Storage
- Administration-Web
- Agent Installation (for Central Collector)
- Central Collector Installation
- Central Collector with Docker
- Central Collector Upgrade
- Central Collector Cluster
- Cassandra Client Configuration
- Kubernetes
- Multiple JVMs and agent.id
- Agents and rollups
- Plugins
- Instrumentation
- Plugin coverage gaps
- Synthetic monitors
- Administration-Storage
- How to read a Trace
- Re-engineering a slow call
- Transaction tabs
- Transaction configuration
- Alerts and incidents
- Gauges and JMX
- Errors tab
- UI Defaults
- Advanced and config.json
- Ad-hoc reports
- Users and Roles