Component Monitoring
Component monitoring collects metrics, traces, and logs from databases, caches, message queues, proxies, and containers using the OpenTelemetry Collector. Each guide configures a dedicated receiver or Prometheus scrape target and ships telemetry to base14 Scout.
Components by Category
Databases
| Component | Guide | Key Metrics |
|---|---|---|
| PostgreSQL Basic | PostgreSQL Basic | Connections, query performance, locks, WAL |
| PostgreSQL Advanced | PostgreSQL Advanced | Query stats, table/index sizes, replication |
| MySQL | MySQL | Connections, queries, InnoDB, replication |
| MongoDB | MongoDB | Operations, connections, document metrics, cursors |
| Cassandra | Cassandra | Client requests, compaction, storage, caches |
| CouchDB | CouchDB | Request rates, document operations, view stats |
| Elasticsearch | Elasticsearch | Cluster health, node stats, JVM, index operations |
| ClickHouse | ClickHouse | Queries, inserts, memory tracking, merge operations |
| Couchbase | Couchbase | Cluster management, KV connections, CPU, memory |
| MariaDB | MariaDB | Connections, queries, InnoDB, replication |
| Materialize | Materialize | Dataflow freshness, source lag, replica memory, peeks |
| Trino | Trino | Query lifecycle, cluster memory pools, execution slots, query traces |
Time-Series Databases
| Component | Guide | Key Metrics |
|---|---|---|
| InfluxDB | InfluxDB | Write throughput, query duration, storage, cardinality |
Key-Value & Distributed Storage
| Component | Guide | Key Metrics |
|---|---|---|
| Aerospike | Aerospike | Connections, transactions, memory, namespace stats |
| etcd | etcd | Raft proposals, disk latency, MVCC, gRPC |
Vector Databases
| Component | Guide | Key Metrics |
|---|---|---|
| Qdrant | Qdrant | Request rate and latency, collection points, update queue, memory and mmap ceilings |
| Milvus | Milvus | Request rate and error rate, search and insert latency, ingestion lag, entity counts, segment growth |
| Weaviate | Weaviate | REST, GraphQL and gRPC request rate and errors, query and write latency, vector index size, async index queue depth |
Search
| Component | Guide | Key Metrics |
|---|---|---|
| Solr | Solr | JVM heap, GC, request rates, cores, threads |
| OpenSearch | OpenSearch | Cluster health, search latency, JVM, storage I/O |
Caching
| Component | Guide | Key Metrics |
|---|---|---|
| Redis | Redis | Memory, keyspace, commands, clients, replication |
| Memcached | Memcached | Hit ratio, memory, connections, evictions |
| Varnish | Varnish | Cache hit/miss, backend health, connections |
Message Queues
| Component | Guide | Key Metrics |
|---|---|---|
| RabbitMQ | RabbitMQ | Queue depth, message rates, node memory, I/O |
| Kafka | Kafka | Consumer lag, partition offsets, broker count |
| NATS | NATS | Connections, subscriptions, message rates, JetStream |
| Pulsar | Pulsar | Broker throughput, backlog, managed ledger, storage |
| ActiveMQ | ActiveMQ | Queue depth, enqueue/dequeue, producers, consumers |
| Redpanda | Redpanda | Produce/fetch throughput, partition health, Raft leadership |
Service Discovery & Coordination
| Component | Guide | Key Metrics |
|---|---|---|
| Consul | Consul | Raft consensus, service catalog, RPC, gossip |
| ZooKeeper | ZooKeeper | Connections, latency, znodes, watches, packets |
Secrets Management
| Component | Guide | Key Metrics |
|---|---|---|
| Vault | Vault | Seal operations, token lifecycle, barrier, leases |
AI Model Serving
| Component | Guide | Key Metrics |
|---|---|---|
| vLLM | vLLM | KV-cache usage, request queueing, token throughput, latency phases |
| llama.cpp | llama.cpp | Slot occupancy and queueing, token throughput, prompt-cache reuse, batching efficiency |
AI Gateways
| Component | Guide | Key Metrics |
|---|---|---|
| LiteLLM Gateway | LiteLLM Gateway | Deployment health and cooldowns, request failures, latency split, token spend |
| Bifrost | Bifrost | LLM request outcomes, provider latency, token usage, streaming performance |
AI Agent Runtimes
| Component | Guide | Key Metrics |
|---|---|---|
| OpenClaw | OpenClaw | Run and model call latency, token usage, lane queueing, context size; traces and logs |
| Claude Code | Claude Code | Cost and token usage per model, sessions, edit decisions, lines of code; traces and logs |
| Codex CLI | Codex CLI | Turn duration, tokens per turn, model requests, tool calls; traces and logs |
Distributed Compute
| Component | Guide | Key Metrics |
|---|---|---|
| Ray | Ray | Task and actor state, cluster resources, object store and spilling, scheduler placement |
Orchestration
| Component | Guide | Key Metrics |
|---|---|---|
| Airflow | Apache Airflow | Scheduler health, task outcomes, pool and executor saturation, DAG run traces |
| dbt | dbt | Run count, failed models and tests, model build time, run traces |
| Temporal | Temporal | Workflow latency, task queues, persistence, shards |
| Hatchet | Hatchet | Task inflow and outcome, queue backlog, worker slot capacity, per-workflow duration |
| Restate | Restate | Invocation rate and outcome, partition health, invoker backlog, workflow traces |
| Nomad | Nomad | Raft consensus, broker, RPC, job status, autopilot |
Continuous Delivery
| Component | Guide | Key Metrics |
|---|---|---|
| ArgoCD | ArgoCD | App sync status, health, reconciliation, Git ops |
| Jenkins | Jenkins | Build results, executor usage, queue depth |
Web Servers & Proxies
| Component | Guide | Key Metrics |
|---|---|---|
| NGINX | NGINX | Connections, request rate, worker states |
| Apache HTTP Server | Apache HTTP Server | Workers, scoreboard, request rate, bytes transferred |
| HAProxy | HAProxy | Sessions, request rate, backend health, queue depth |
| Traefik | Traefik | Entrypoint requests, TLS, router stats, open conns |
| Envoy | Envoy | Downstream connections, listeners, cluster manager |
| Caddy | Caddy | Request rates, response codes, TLS handshakes |
Object Storage
| Component | Guide | Key Metrics |
|---|---|---|
| MinIO | MinIO | Cluster capacity, drive health, S3 requests, ILM |
Database Proxies
| Component | Guide | Key Metrics |
|---|---|---|
| PgBouncer | PgBouncer | Connection pools, query throughput, client wait time |
Containers
| Component | Guide | Key Metrics |
|---|---|---|
| Docker Engine | Docker Engine | CPU, memory, block I/O, network per container |
| containerd | containerd | CRI errors, image pull failures, container lifecycle latency, CPU and memory per container |
| K3s | K3s | API server errors, container start failures, certificate expiry, node headroom |
Java Application Servers
| Component | Guide | Key Metrics |
|---|---|---|
| Tomcat | Tomcat | Request rates, thread pools, sessions, network I/O |
| Jetty | Jetty | Threads, I/O selects, sessions, request queue |
| WildFly | WildFly | Undertow requests, datasource pools, transactions |
Network & IoT Devices
| Component | Guide | Key Metrics |
|---|---|---|
| SNMP | SNMP | Interface I/O, CPU/memory, UPS battery, device status |
For MQTT, Sparkplug B, OPC-UA, and edge Collector store-and-forward patterns, see IoT & Edge Instrumentation.
How Component Monitoring Works
Each component exposes metrics through one of four methods:
- Dedicated OTel receiver - the Collector connects directly to the component's stats API (PostgreSQL, MySQL, MariaDB, MongoDB, Redis, RabbitMQ, Elasticsearch, CouchDB, Memcached, Apache HTTP Server, HAProxy, ZooKeeper, Kafka, Aerospike, Docker Engine)
- Prometheus scrape - the component or a sidecar exporter exposes
a
/metricsendpoint that the Collector scrapes (Cassandra via JMX exporter, Consul, Vault, etcd, Solr, Temporal, NGINX, ClickHouse, NATS via prometheus-nats-exporter, Traefik, Envoy, MinIO, OpenSearch via prometheus-exporter plugin, PgBouncer via pgbouncer-exporter, Nomad, Couchbase, Pulsar, ArgoCD, Jenkins via Prometheus Metrics plugin, InfluxDB, Caddy, Varnish via prometheus_varnish_exporter, Redpanda via its native/public_metricsendpoint, Materialize via its native/metrics/publicendpoint, Trino via its native/metricsendpoint, containerd via its native/v1/metricsendpoint, K3s via the kubelet's/metricsendpoint) - JMX Scraper - a standalone process connects to the application's JMX port via RMI, converts MBeans to OpenTelemetry metrics, and exports OTLP to the Collector (Tomcat, ActiveMQ, Jetty, WildFly). See JMX Metrics Collection Guide.
- Native OTLP push - the component builds an OpenTelemetry SDK into its own processes and pushes to the Collector, so there is no endpoint to scrape (Apache Airflow, dbt).
Java applications using JMX have two collection approaches: the OTel JMX Scraper (remote, OTLP-native) and the Prometheus JMX Exporter (in-process agent). See JMX Metrics Collection Guide for a detailed comparison.
NGINX also supports distributed traces via nginx-module-otel and
log collection via the filelog receiver.
Next Steps
- Choose your component from the tables above
- Follow the guide to configure the OTel Collector receiver
- Create dashboards in Scout - see Create Your First Dashboard
Was this page helpful?