<p>We're having a bare metal K8s cluster with an NGINX Ingress Controller.</p>
<p>Is there a way to tell how much traffic is transmitted/received of each Ingress?</p>
<p>Thanks!</p>

Quang Linh Le
<p>Ingress Controllers are implemented as standard Kubernetes applications. Any monitoring method adopted by organizations can be applied to Ingress controllers to track the health and lifetime of k8s workloads. To track network traffic statistics, controller-specific mechanisms should be used.</p>
<p>To <strong>observe Kubernetes Ingress traffic</strong> you can send your statistic to <a href="https://prometheus.io/" rel="nofollow noreferrer">Prometheus</a> and view them in <a href="https://grafana.com/" rel="nofollow noreferrer">Grafana</a> (widely adopted open source software for data visualization).</p>
<p><a href="https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/monitoring.md" rel="nofollow noreferrer">Here</a> is a monitoring guide from the <a href="https://github.com/kubernetes/ingress-nginx" rel="nofollow noreferrer">ingress-nginx</a> project, where you can read how do do it step by step. Start with installing those tools.</p>
<p>To deploy Prometheus in Kubernetes run the below command:</p>
<pre><code>kubectl apply --kustomize github.com/kubernetes/ingress-nginx/deploy/prometheus/
</code></pre>
<p>To install grafana run this one:</p>
<pre><code>kubectl apply --kustomize github.com/kubernetes/ingress-nginx/deploy/grafana/
</code></pre>
<p>Follow the next steps in the mentioned before <a href="https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/monitoring.md" rel="nofollow noreferrer">monitoring guide</a>.</p>
<p>See also <a href="https://traefik.io/blog/observing-kubernetes-ingress-traffic-using-metrics/" rel="nofollow noreferrer">this article</a> and <a href="https://stackoverflow.com/questions/57755180/standard-way-to-monitor-ingress-traffic-in-k8-or-eks">this similar question</a>.</p>
