How to Monitor ArgoCD using Prometheus

FoxuTech
3 min readSep 6, 2023

--

Any given environment, it is important to monitoring. It helps to track the application/tool performance and also it helps to optimize the application. Similar, in a complex environment where we have numerous teams deploying both monoliths and microservices to Kubernetes, it’s almost a given that operations won’t always run perfectly. Argo CD provides us with a plenty of metrics that enable us to gauge system utilization, whether it’s under or over, and strategize necessary actions.

In this article, Will see about about how to monitor Argo CD using Prometheus. Given its robust focus on reliability, Prometheus stands out as one of the most effective tools for assessing your system’s current state and swiftly pinpointing potential issues.

kube-prometheus-stack

This is a collection of Kubernetes resources that make it easy to operate an instance of Prometheus in a Kubernetes cluster. It is designed to deliver both simple and comprehensive monitoring solutions for Kubernetes clusters.

It provides a predefined set of Grafana dashboards and Prometheus rules combined with community-driven best practices. The stack includes the following components:

  1. Prometheus: An open-source systems monitoring and alerting toolkit.
  2. Alertmanager: Handles alerts sent by client applications such as the Prometheus server, carefully de-duplicating, grouping, and routing them to the correct receiver.
  3. Node Exporter: A Prometheus exporter for hardware and OS metrics with pluggable metric collectors.
  4. kube-state-metrics: A service that listens to the Kubernetes API server and generates metrics about the state of the objects.
  5. Grafana: An open-source platform for monitoring and observability that lets you query, visualize, alert on, and understand your metrics.
  6. Prometheus Operator: Creates/configures/manages Prometheus clusters atop Kubernetes.

Prerequisites

  • Kubernetes 1.20+
  • Helm 3+

This post finds you have argocd installed and running already. If not, please follow: Setup ArgoCD on Azure Kubernetes Services — FoxuTech

Installation

Get Helm Repo Info

# helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
# helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "prometheus-community" chart repository

Install Helm Chart

# helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring
NAME: prometheus
LAST DEPLOYED: Sat Jun 17 16:19:17 2023
NAMESPACE: monitoring
STATUS: deployed
REVISION: 1
NOTES:
kube-prometheus-stack has been installed. Check its status by running:
kubectl --namespace monitoring get pods -l "release=prometheus"
Visit https://github.com/prometheus-operator/kube-prometheus for instructions on how to create & configure Alertmanager and Prometheus instances using the Operator.

ServiceMonitor

After the installation, we will need to tell Prometheus where it can find the endpoints that expose the metrics. To do that, we can use the custom ServiceMonitor resource. Apply the following resources:

continue reading on https://foxutech.com/how-to-monitor-argocd-using-prometheus/

Subscribe us on YouTube.

--

--

FoxuTech

Discuss about #Linux, #DevOps, #Docker, #kubernetes, #HowTo’s, #cloud & IT technologies like #argocd #crossplane #azure https://foxutech.com/