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 |
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 |
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 |
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 |
Orchestration
| Component | Guide | Key Metrics |
|---|---|---|
| Temporal | Temporal | Workflow latency, task queues, persistence, shards |
| 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 |
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 |
How Component Monitoring Works
Each component exposes metrics through one of three 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) - 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.
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?