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

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
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

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

Orchestration

ComponentGuideKey Metrics
TemporalTemporalWorkflow latency, task queues, persistence, shards
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

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

How Component Monitoring Works

Each component exposes metrics through one of three 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)
  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.

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?