Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adinhodovic/argo-cd-mixin

Monitoring mixin for ArgoCD. A set of Grafana dashboards and Prometheus rules for ArgoCD.
https://github.com/adinhodovic/argo-cd-mixin

alert argo-cd grafana grafana-dashboard monitoring monitoring-mixin monitoring-mixins prometheus

Last synced: about 1 month ago
JSON representation

Monitoring mixin for ArgoCD. A set of Grafana dashboards and Prometheus rules for ArgoCD.

Awesome Lists containing this project

README

        

# Prometheus Monitoring Mixin for ArgoCD

A set of Grafana dashboards and Prometheus alerts for ArgoCD.

## How to use

This mixin is designed to be vendored into the repo with your infrastructure config.
To do this, use [jsonnet-bundler](https://github.com/jsonnet-bundler/jsonnet-bundler):

You then have three options for deploying your dashboards

1. Generate the config files and deploy them yourself
2. Use jsonnet to deploy this mixin along with Prometheus and Grafana
3. Use prometheus-operator to deploy this mixin

Or import the dashboard using json in `./dashboards_out`, alternatively import them from the `Grafana.com` dashboard page.

## Generate config files

You can manually generate the alerts, dashboards and rules files, but first you
must install some tools:

```sh
go get github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb
brew install jsonnet
```

Then, grab the mixin and its dependencies:

```sh
git clone https://github.com/adinhodovic/argo-cd-mixin
cd argo-cd-mixin
jb install
```

Finally, build the mixin:

```sh
make prometheus_alerts.yaml
make dashboards_out
```

The `prometheus_alerts.yaml` file then need to passed
to your Prometheus server, and the files in `dashboards_out` need to be imported
into you Grafana server. The exact details will depending on how you deploy your
monitoring stack.

## Alerts

The mixin follows the [monitoring-mixins guidelines](https://github.com/monitoring-mixins/docs#guidelines-for-alert-names-labels-and-annotations) for alerts.

## Preview

### Operational Dashboard

![argo-cd-operational-overview](images/argo-cd-operational-overview.png)

### Application Dashboard

![argo-cd-application-overview](images/argo-cd-application-overview.png)

### Notification Dashboard

![argo-cd-notifications-overview](images/argo-cd-notifications-overview.png)