Skip to main content

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​

ComponentGuideKey Metrics
PostgreSQL BasicPostgreSQL BasicConnections, query performance, locks, WAL
PostgreSQL AdvancedPostgreSQL AdvancedQuery stats, table/index sizes, replication
MySQLMySQLConnections, queries, InnoDB, replication
MongoDBMongoDBOperations, connections, document metrics, cursors
CassandraCassandraClient requests, compaction, storage, caches
CouchDBCouchDBRequest rates, document operations, view stats
ElasticsearchElasticsearchCluster health, node stats, JVM, index operations
ClickHouseClickHouseQueries, inserts, memory tracking, merge operations
CouchbaseCouchbaseCluster management, KV connections, CPU, memory
MariaDBMariaDBConnections, queries, InnoDB, replication
MaterializeMaterializeDataflow freshness, source lag, replica memory, peeks
TrinoTrinoQuery lifecycle, cluster memory pools, execution slots, query traces

Time-Series Databases​

ComponentGuideKey Metrics
InfluxDBInfluxDBWrite throughput, query duration, storage, cardinality

Key-Value & Distributed Storage​

ComponentGuideKey Metrics
AerospikeAerospikeConnections, transactions, memory, namespace stats
etcdetcdRaft proposals, disk latency, MVCC, gRPC

Vector Databases​

ComponentGuideKey Metrics
QdrantQdrantRequest rate and latency, collection points, update queue, memory and mmap ceilings
MilvusMilvusRequest rate and error rate, search and insert latency, ingestion lag, entity counts, segment growth
WeaviateWeaviateREST, GraphQL and gRPC request rate and errors, query and write latency, vector index size, async index queue depth
ComponentGuideKey Metrics
SolrSolrJVM heap, GC, request rates, cores, threads
OpenSearchOpenSearchCluster health, search latency, JVM, storage I/O

Caching​

ComponentGuideKey Metrics
RedisRedisMemory, keyspace, commands, clients, replication
MemcachedMemcachedHit ratio, memory, connections, evictions
VarnishVarnishCache hit/miss, backend health, connections

Message Queues​

ComponentGuideKey Metrics
RabbitMQRabbitMQQueue depth, message rates, node memory, I/O
KafkaKafkaConsumer lag, partition offsets, broker count
NATSNATSConnections, subscriptions, message rates, JetStream
PulsarPulsarBroker throughput, backlog, managed ledger, storage
ActiveMQActiveMQQueue depth, enqueue/dequeue, producers, consumers
RedpandaRedpandaProduce/fetch throughput, partition health, Raft leadership

Service Discovery & Coordination​

ComponentGuideKey Metrics
ConsulConsulRaft consensus, service catalog, RPC, gossip
ZooKeeperZooKeeperConnections, latency, znodes, watches, packets

Secrets Management​

ComponentGuideKey Metrics
VaultVaultSeal operations, token lifecycle, barrier, leases

AI Model Serving​

ComponentGuideKey Metrics
vLLMvLLMKV-cache usage, request queueing, token throughput, latency phases
llama.cppllama.cppSlot occupancy and queueing, token throughput, prompt-cache reuse, batching efficiency

AI Gateways​

ComponentGuideKey Metrics
LiteLLM GatewayLiteLLM GatewayDeployment health and cooldowns, request failures, latency split, token spend
BifrostBifrostLLM request outcomes, provider latency, token usage, streaming performance

AI Agent Runtimes​

ComponentGuideKey Metrics
OpenClawOpenClawRun and model call latency, token usage, lane queueing, context size; traces and logs
Claude CodeClaude CodeCost and token usage per model, sessions, edit decisions, lines of code; traces and logs
Codex CLICodex CLITurn duration, tokens per turn, model requests, tool calls; traces and logs

Distributed Compute​

ComponentGuideKey Metrics
RayRayTask and actor state, cluster resources, object store and spilling, scheduler placement

Orchestration​

ComponentGuideKey Metrics
AirflowApache AirflowScheduler health, task outcomes, pool and executor saturation, DAG run traces
dbtdbtRun count, failed models and tests, model build time, run traces
TemporalTemporalWorkflow latency, task queues, persistence, shards
HatchetHatchetTask inflow and outcome, queue backlog, worker slot capacity, per-workflow duration
RestateRestateInvocation rate and outcome, partition health, invoker backlog, workflow traces
NomadNomadRaft consensus, broker, RPC, job status, autopilot

Continuous Delivery​

ComponentGuideKey Metrics
ArgoCDArgoCDApp sync status, health, reconciliation, Git ops
JenkinsJenkinsBuild results, executor usage, queue depth

Web Servers & Proxies​

ComponentGuideKey Metrics
NGINXNGINXConnections, request rate, worker states
Apache HTTP ServerApache HTTP ServerWorkers, scoreboard, request rate, bytes transferred
HAProxyHAProxySessions, request rate, backend health, queue depth
TraefikTraefikEntrypoint requests, TLS, router stats, open conns
EnvoyEnvoyDownstream connections, listeners, cluster manager
CaddyCaddyRequest rates, response codes, TLS handshakes

Object Storage​

ComponentGuideKey Metrics
MinIOMinIOCluster capacity, drive health, S3 requests, ILM

Database Proxies​

ComponentGuideKey Metrics
PgBouncerPgBouncerConnection pools, query throughput, client wait time

Containers​

ComponentGuideKey Metrics
Docker EngineDocker EngineCPU, memory, block I/O, network per container
containerdcontainerdCRI errors, image pull failures, container lifecycle latency, CPU and memory per container
K3sK3sAPI server errors, container start failures, certificate expiry, node headroom

Java Application Servers​

ComponentGuideKey Metrics
TomcatTomcatRequest rates, thread pools, sessions, network I/O
JettyJettyThreads, I/O selects, sessions, request queue
WildFlyWildFlyUndertow requests, datasource pools, transactions

Network & IoT Devices​

ComponentGuideKey Metrics
SNMPSNMPInterface 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:

  1. 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)
  2. Prometheus scrape - the component or a sidecar exporter exposes a /metrics endpoint 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_metrics endpoint, Materialize via its native /metrics/public endpoint, Trino via its native /metrics endpoint, containerd via its native /v1/metrics endpoint, K3s via the kubelet's /metrics endpoint)
  3. 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.
  4. 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​

  1. Choose your component from the tables above
  2. Follow the guide to configure the OTel Collector receiver
  3. Create dashboards in Scout - see Create Your First Dashboard
Was this page helpful?