Skip to content
Nicholas Antinori edited this page Sep 6, 2026 · 2 revisions

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.

Layout

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

Agent in the app pod

  1. Ship the agent dist in the image or mount it (initContainer / volume). There is no auto-attach.

  2. JVM args, before -jar / main class:

    -javaagent:/path/to/glowroot.jar
    -Dglowroot.agent.id=MyApp::$(POD_NAME)
    -Dglowroot.collector.address=http://glowroot-central:8181
    

    Or the same keys in glowroot.properties next to the jar.

  3. collector.address must be the Central Service DNS (+ scheme/port) as seen from the app pod — not localhost, not :4000.

  4. Full agent.id must be unique per JVM/pod. Group under one rollup with App::pod-a, App::pod-b (see Multiple JVMs and agent.id).

  5. 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).

Networking

  • 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).

Probes (Central UI port)

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.

Capacity (Central + Cassandra)

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.

Helm / community charts

  • Official chart (Central only, external Cassandra): helm/glowroot-central in 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, unique agent.id, NetworkPolicy). Same-namespace does not make localhost correct inside the app container.

See also

Clone this wiki locally