Monitor ArgoCD
Overview
ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes that exposes metrics at several endpoints. This document will help you monitor your ArgoCD metrics using SigNoz.
Prerequisites
Ensure you have:
- A running ArgoCD installation on your Kubernetes cluster
Setup
Step 1. Configure OpenTelemetry Collector
To collect ArgoCD metrics and send them to SigNoz, you need to configure the OpenTelemetry Collector with a Prometheus receiver. Follow this document to setup your OTel collector.
Add Prometheus Receiver
Ensure that the prometheus
receiver is added to the collectorconfig.yaml
file. Make sure to set the targets as shown in the [config] code block (https://github.com/SigNoz/dashboards/blob/main/argocd/readme.md#configure-opentelemetry-collector) below.
prometheus:
config:
global:
scrape_interval: 60s
scrape_configs:
- job_name: argocd-metrics # A logical label used to group the set of targets being scraped; helps in querying and identifying metrics from this specific service (ArgoCD in this case)
metrics_path: /metrics
scheme: http
static_configs:
- targets:
- localhost:8082 # Application metrics
- localhost:8083 # API Server metrics
- localhost:8084 # Repository Server metrics
Checkout this link to see the complete configuration file.
Replace localhost
with appropriate hostnames or service names if your ArgoCD is running in a different namespace or cluster.
Step 2. Import ArgoCD Dashboard
Once your ArgoCD metrics are flowing into SigNoz, you can utilize the pre-built ArgoCD dashboard to monitor your deployment.
Download the ArgoCD dashboard JSON from SigNoz Dashboards Repository
Import the dashboard in SigNoz:
- Navigate to Dashboards in your SigNoz UI
- Click on "Import Dashboard" in the top-right corner
- Upload the downloaded JSON file
- Click "Import"
For more information on managing dashboards, refer this document.
Dashboard Features
The ArgoCD Dashboard provides comprehensive visibility into your ArgoCD deployment.
Dashboard Variables
The dashboard includes variables that you can use to filter your data:
{{namespace}}
: Namespace of the application{{health.status}}
: Health status of the application{{repo}}
: Name of the repository

Dashboard Metrics
The dashboard displays key metrics to give you a complete view of your deployment status. It has the following sections:
- Overall Status - Monitor the number of applications and repository server status
- Application Health - Track healthy, processing, suspended, and degraded applications
- Synchronization Status - Monitor synced and out-of-sync applications
- Controller Performance - Track sync activity, reconciliation metrics, and Kubernetes API activity
- Cluster and Repository Statistics - Monitor cluster cache age, resource objects, and Git operations To get a details about metrics in each section, follow this link. This dashboard enables you to proactively monitor your GitOps workflow, identify potential issues before they impact your deployments, and ensure the smooth operation of your ArgoCD instance.
Troubleshooting
If you're not seeing ArgoCD metrics in SigNoz, try the following steps:
Verify endpoint accessibility
- Ensure the OpenTelemetry Collector can access the ArgoCD metrics endpoints
- Check network policies or firewall rules that might be blocking access
Check service discovery
- If using Kubernetes, make sure service names and ports are correct
- Verify that the service selectors match the pod labels
Inspect collector logs
- Look for any scrape errors in the OpenTelemetry Collector logs
- Run
kubectl logs -n <namespace> <otel-collector-pod-name>
to check for any errors
Validate metrics format
- Make sure ArgoCD is correctly exposing Prometheus-formatted metrics
- Try accessing the metrics endpoints directly using port-forwarding:
kubectl port-forward svc/argocd-metrics 8082:8082 -n argocd curl localhost:8082/metrics
Check ArgoCD version
- Ensure you're using a version of ArgoCD that exposes metrics
- Some metrics might be available only in specific versions
If you continue to experience issues, check the SigNoz community forum or open an issue on GitHub for further assistance.