Common Prometheus Exporters and their use cases:
System Monitoring Exporters:
-
Node Exporter:
- Monitors Linux/Unix system metrics
- Metrics: CPU, memory, disk, network, filesystem
- Deployment: Run on each node
- Example metrics:
node_cpu_seconds_total,node_memory_MemAvailable_bytes
-
Windows Exporter:
- Monitors Windows systems
- Supports WMI performance counters
- Metrics: CPU, memory, processes, services
Database Exporters:
-
MySQL Exporter:
- Monitors MySQL/MariaDB
- Metrics: connections, query performance, replication status
- Configuration: DSN connection string
- Example:
mysql_global_status_threads_connected
-
PostgreSQL Exporter:
- Monitors PostgreSQL
- Metrics: connections, queries, locks, replication
- Supports extended metrics
-
Redis Exporter:
- Monitors Redis
- Metrics: memory usage, connections, command statistics
- Supports cluster mode
Application Exporters:
-
Blackbox Exporter:
- HTTP/HTTPS, TCP, ICMP probing
- Used for availability monitoring
- Configure modules to define probe parameters
-
JMX Exporter:
- Monitors Java applications
- Gets metrics via JMX
- Supports Kafka, Tomcat, etc.
-
StatsD Exporter:
- Compatible with StatsD protocol
- Suitable for application instrumentation
Container and Cloud Platform Exporters:
-
cAdvisor:
- Container resource usage
- Integrated in Kubelet
-
Kube-State-Metrics:
- Kubernetes object status
- Pod, Deployment, Service, etc.
Deployment Example:
yamlscrape_configs: - job_name: 'node' static_configs: - targets: ['node1:9100', 'node2:9100'] - job_name: 'mysql' static_configs: - targets: ['mysql-exporter:9104']
Best Practices:
- Choose appropriate Exporter versions
- Configure authentication and security
- Monitor Exporter health
- Use labels to distinguish different instances