🔗 Third-party Application Monitoring

Monitor External Applications

Learn to monitor third-party applications like Redis, MySQL, Nginx, and more using Prometheus exporters. Set up comprehensive monitoring for your entire application stack.

Popular Exporters

Redis Exporter

Monitor Redis database performance and metrics

Track Redis memory usage, connection counts, hit ratios, and command statistics.

Key Metrics:

redis_memory_used_bytes
redis_connected_clients
redis_keyspace_hits
redis_commands_processed_total
Deployment:redis-exporter
Port:9121

MySQL Exporter

Monitor MySQL database health and performance

Collect MySQL server metrics including query performance, connection status, and replication lag.

Key Metrics:

mysql_up
mysql_global_status_queries
mysql_global_status_threads_connected
mysql_slave_lag_seconds
Deployment:mysql-exporter
Port:9104

Nginx Exporter

Monitor Nginx web server metrics

Track HTTP request rates, response times, error rates, and upstream server health.

Key Metrics:

nginx_http_requests_total
nginx_http_request_duration_seconds
nginx_upstream_requests_total
nginx_upstream_response_time
Deployment:nginx-exporter
Port:9113

Elasticsearch Exporter

Monitor Elasticsearch cluster and indices

Monitor cluster health, index statistics, shard status, and search performance.

Key Metrics:

elasticsearch_cluster_health_status
elasticsearch_indices_docs
elasticsearch_jvm_memory_used_bytes
elasticsearch_nodes_count
Deployment:elasticsearch-exporter
Port:9114

Monitoring Setup Process

1

Deploy Exporter

Install the appropriate exporter for your application

Use Helm charts or Kubernetes manifests to deploy exporters alongside your applications.

$ helm install redis-exporter prometheus-community/prometheus-redis-exporter
$ kubectl apply -f redis-exporter-deployment.yaml
2

Create ServiceMonitor

Configure Prometheus to scrape exporter metrics

Define ServiceMonitor resources to tell Prometheus how to discover and scrape your exporters.

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: redis-exporter-monitor
3

Configure Dashboards

Import Grafana dashboards for visualization

Use pre-built dashboards or create custom ones to visualize your application metrics.

$ Dashboard ID: 763
$ Import dashboard in Grafana
$ Configure data source as Prometheus
4

Set Up Alerts

Create alert rules for critical metrics

Define PrometheusRule resources to alert on important application metrics.

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: redis-alerts

Sample Monitoring Setups

Redis Monitoring

Complete Redis monitoring setup with exporter and dashboards

Components:

Redis Exporter
ServiceMonitor
Grafana Dashboard
Alert Rules

Dashboard ID:

763

Alert Types:

High Memory Usage
Connection Limit
Slow Commands

MySQL Monitoring

Comprehensive MySQL database monitoring solution

Components:

MySQL Exporter
ServiceMonitor
Grafana Dashboard
Alert Rules

Dashboard ID:

7362

Alert Types:

Connection Limit
Slow Queries
Replication Lag

Nginx Monitoring

Web server monitoring with performance metrics

Components:

Nginx Exporter
ServiceMonitor
Grafana Dashboard
Alert Rules

Dashboard ID:

12559

Alert Types:

High Error Rate
Slow Response Time
Upstream Failures

Best Practices

Monitoring Guidelines

Follow these best practices for effective third-party application monitoring.

  • Use official exporters when available for better compatibility
  • Configure appropriate scrape intervals based on application criticality
  • Set up proper labels for service discovery and routing
  • Use consistent naming conventions for ServiceMonitors
  • Monitor exporter health and restart failed exporters
  • Regularly update exporters to latest versions
  • Test alert rules in staging environments before production

Quick Start Commands

Common Exporter Deployments

Quick deployment commands for popular exporters using Helm.

Redis Exporter

$ helm install redis-exporter prometheus-community/prometheus-redis-exporter \
--set redisAddress=redis://redis-service:6379

MySQL Exporter

$ helm install mysql-exporter prometheus-community/prometheus-mysql-exporter \
--set mysql.host=mysql-service --set mysql.user=exporter

Nginx Exporter

$ helm install nginx-exporter prometheus-community/prometheus-nginx-exporter \
--set nginx.scrapeUri=http://nginx-service/nginx_status

Ready to Monitor Your Own Apps?

Now that you can monitor third-party applications, learn how to instrument your own applications with custom metrics.