https://github.com/adinhodovic/ingress-nginx-mixin
Monitoring mixin for Ingress-nginx. A set of Grafana dashboards and Prometheus rules for Ingress-nginx.
https://github.com/adinhodovic/ingress-nginx-mixin
alertmanager grafana grafana-dashboard ingress-nginx jsonnet mixin monitoring nginx prometheus
Last synced: 2 months ago
JSON representation
Monitoring mixin for Ingress-nginx. A set of Grafana dashboards and Prometheus rules for Ingress-nginx.
- Host: GitHub
- URL: https://github.com/adinhodovic/ingress-nginx-mixin
- Owner: adinhodovic
- License: mit
- Created: 2021-09-09T18:23:22.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-08T21:18:44.000Z (6 months ago)
- Last Synced: 2025-07-24T16:14:01.235Z (3 months ago)
- Topics: alertmanager, grafana, grafana-dashboard, ingress-nginx, jsonnet, mixin, monitoring, nginx, prometheus
- Language: Jsonnet
- Homepage:
- Size: 128 KB
- Stars: 23
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Prometheus Monitoring Mixin for Ingress-nginx
A set of Grafana dashboards and Prometheus alerts and rules for ingress-nginx.
## 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## 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/ingress-nginx-mixin
cd ingress-nginx-mixin
jb install
```Finally, build the mixin:
```sh
make prometheus_alerts.yaml
make dashboards_out
```The prometheus_alerts.yaml file 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 to Kubernetes.
## Alerts
The mixin follows the [monitoring-mixins guidelines](https://github.com/monitoring-mixins/docs#guidelines-for-alert-names-labels-and-annotations) for alerts.