Metrics Endpoints
Each Argo CD component exposes metrics on dedicated ports:Application Controller
Endpoint:
argocd-metrics:8082/metricsMonitors application reconciliation, cluster connections, and sync operations.API Server
Endpoint:
argocd-server-metrics:8083/metricsTracks API requests, authentication, and user activity.Repo Server
Endpoint:
argocd-repo-server:8084/metricsMeasures Git operations, manifest generation, and caching.ApplicationSet Controller
Endpoint:
argocd-applicationset-controller:8085/metricsMonitors ApplicationSet reconciliation and generation.Key Metrics by Component
Application Controller Metrics
The controller exposes metrics about application state and cluster management.Application Health & Sync Status
Application Health & Sync Status
argocd_app_info (gauge)- Labels:
name,namespace,project,sync_status,health_status,dest_server - Information about applications including sync and health status
Application Performance
Application Performance
argocd_app_reconcile (histogram)- Application reconciliation performance in seconds
- Use to identify slow reconciliation
argocd_app_k8s_request_total (counter)- Number of Kubernetes API requests per application
- High values may indicate performance issues
Cluster Metrics
Cluster Metrics
argocd_cluster_info (gauge)- Information about managed clusters
- Labels:
name,server,version
argocd_cluster_connection_status (gauge)- Cluster connection health (1 = healthy, 0 = unhealthy)
argocd_cluster_api_resource_objects (gauge)- Number of cached Kubernetes resources
argocd_cluster_cache_age_seconds (gauge)- Age of cluster cache data
Sync Operations
Sync Operations
argocd_app_sync_total (counter)- Counter for application sync history
- Labels:
name,namespace,phase,project
argocd_app_sync_duration_seconds_total (counter)- Total time spent syncing applications
Repo Server Metrics
Metrics for Git operations and manifest generation.Git Operations
Git Operations
argocd_git_request_total (counter)- Number of Git requests performed
- Labels:
repo,request_type(ls-remote, fetch)
argocd_git_request_duration_seconds (histogram)- Git request duration
argocd_git_fetch_fail_total (counter)- Number of failed Git fetch operations
Repository Cache
Repository Cache
argocd_repo_pending_request_total (gauge)- Number of pending requests requiring repository lock
- High values indicate repository contention
API Server Metrics
gRPC & REST API
gRPC & REST API
grpc_server_handled_total (counter)- Total RPCs completed on the server
- Labels:
grpc_code,grpc_method,grpc_service
argocd_login_request_total (counter)- Number of login requests
Prometheus ServiceMonitor Configuration
For Prometheus Operator, deploy ServiceMonitors to automatically scrape metrics:Replace
release: prometheus-operator with the label selected by your Prometheus installation.Grafana Dashboards
Argo CD provides an official Grafana dashboard for visualizing metrics.Installing the Dashboard
Import to Grafana
- Navigate to Grafana UI
- Click + → Import
- Upload
argocd-dashboard.json - Select Prometheus datasource
- Click Import
View live dashboard
Access the dashboard at: https://grafana.apps.argoproj.io (demo instance)
Dashboard Panels
The official dashboard includes:- Application Health: Count by health status (Healthy, Progressing, Degraded, Missing)
- Application Sync Status: Count by sync status (Synced, OutOfSync)
- Reconciliation Performance: Histogram of reconciliation times
- Git Fetch Operations: Rate and duration of Git operations
- Cluster Connections: Status of managed cluster connections
- API Request Rate: gRPC and REST API request rates
- Redis Operations: Cache hit rates and operation counts
Alerting Rules
Recommended Prometheus alerting rules:Advanced Monitoring Features
Exposing Application Labels as Metrics
Enable custom application labels in metrics for team-based routing:Metrics Cache Expiration
For environments with frequent application creation/deletion, configure cache expiration:CPU/Memory Profiling
Enable profiling endpoints for performance troubleshooting:Monitoring Best Practices
Set Baselines
Establish baseline metrics for reconciliation times, sync rates, and API request patterns during normal operations.
Alert Tuning
Tune alert thresholds based on your environment to reduce false positives while catching real issues.
Dashboard Review
Regularly review dashboards to identify trends and potential capacity issues before they impact users.
Metric Cardinality
Monitor metric cardinality, especially with custom labels, to avoid overwhelming Prometheus storage.