
Nginx Ingress Controller Template
Template built by
Telegraf Plugins used:
- Prometheus Telegraf Input Plugin
- Nginx Ingress Controller:
Included Resources:
- 2 Labels:
nginx-ingress
- 1 Telegraf Configuration:
nginx-ingress-controller
- 1 Dashboard:
Nginx Ingress Controller
- 4 Variables:
bucket
,controller_namespace
,controller_pod
,controller_class
Quick Install
If you have your InfluxDB credentials configured in the CLI, you can install this template with:
https://raw.githubusercontent.com/influxdata/community-templates/master/nginx-ingress-controller/nginx-ingress-controller.yml
Nginx ingress Controller dashboard
Many websites rely on NGINX cloud-native services in Kubernetes to run smoothly. In particular, the NGINX Ingress Controller is a traffic management solution for cloud‑native apps in Kubernetes and containerized environments that uses NGINX as a reverse proxy, load balancer, API gateway, cache, or web application firewall. In fact, the NGINX Ingress Controller is more popular than all other Kubernetes ingress controllers combined, with more than 10 million downloads.
Why monitor your Nginx ingress controller
Ingress-nginx is an Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer. This InfluxDB template can be used to monitor your Nginx Controller setup inside your Kubernetes cluster which will help you ensure a performant environment for your web applications.
How to use Nginx Ingress Controller Monitoring Template
Once your InfluxDB credentials have been properly configured in the CLI, you can install the Nginx Ingress Controller monitoring template using the Quick Install command. Once installed, the data for the dashboard will be populated by the included Prometheus Telegraf plugin and Nginx Ingress Controller configurations. Note that you might need to customize the input configuration to better serve your needs, including by specifying a new input value. All of this will depend on how your organization is currently running Nginx and Kubernetes.
Nginx Ingress Controller setup:
- GitHub: https://github.com/kubernetes/ingress-nginx
- Helm chart sources: https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
Flux queries rely on The Prometheus Telegraf Input Plugin v2 metric version format. It is not compatible with v1 or with UI Scraper metric format.
Telegraf:
Use the Telegraf Prometheus input plugin to scrape Prometheus metrics from the Controller service endpoint. The Prometheus input plugin can be also configured to scrape Controller pod(s) directly via annotations.
Telegraf configuration requires the following environment variables
INFLUX_HOST
INFLUX_BUCKET
INFLUX_TOKEN
- The token with the permissions to read Telegraf configs and write data to thetelegraf
bucket. You can just use your operator token to get started.INFLUX_ORG
- The name of your OrganizationCONTROLLER_SVC_URLS
- URLs to Ingress Controller metrics endpoint service(s) e.g.http://ingress-nginx-controller-metrics.default.svc.cluster.local:10254/metrics
.
To reflect specific Kubernetes or Ingress Controller setup may require additional Telegraf plugin configuration.
Please note that you must set these environment variables before running Telegraf using the following commands:
- This can be found on the Load Data > Tokens page in your browser: export
INFLUX_TOKEN=TOKEN
- Your Organization name can be found on the Settings page in your browser: export
INFLUX_ORG=my_org
Key Nginx Ingress Controller metrics to monitor
Some of the most important Nginx Ingress Controller monitoring metrics that you should proactively monitor include:
- Controller connections
- Controller Request volume
- Ingress Request volume
- Network I/O pressure
- Config successfully reloaded
- Last failed config time
- Average memory usage
- Ingress Certificate expiry
- Ingress Percentile response time
Related Resources
Kubernetes Monitoring Template
Monitoring Kubernetes ensures that Kubernetes clusters utilize underlying resources efficiently.
Getting Started With the InfluxDB Template for NGINX Ingress Controller
This post introduces the InfluxDB Template created to monitor your NGINX Ingress Controller.
Nginx Telegraf Plugin
Use this Telegraf Plugin to monitor your Nginx web server to keep it performant.