ingress-nginx: controller: name: controller image: chroot: false registry: registry.k8s.io image: ingress-nginx/controller pullPolicy: Always runAsUser: 101 allowPrivilegeEscalation: true containerName: controller containerPort: http: 80 https: 443 livenessProbe: httpGet: path: "/healthz" port: 10254 scheme: HTTP initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 1 successThreshold: 1 failureThreshold: 5 readinessProbe: httpGet: path: "/healthz" port: 10254 scheme: HTTP initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 1 successThreshold: 1 failureThreshold: 3 healthCheckPath: "/healthz" healthCheckHost: "" podAnnotations: prometheus.io/scrape: true prometheus.io/port: 10254 prometheus.io/scheme: http replicaCount: 3 minAvailable: 3 metrics: enabled: true serviceMonitor: enabled: true namespace: kube-prometheus-stack additionalLabels: release: kube-prometheus resources: limits: memory: 256Mi requests: cpu: 200m memory: 256Mi service: enabled: true appProtocol: true annotations: {} labels: {} externalIPs: [] loadBalancerIP: "" loadBalancerSourceRanges: [] enableHttp: true enableHttps: true ports: http: 80 https: 443 targetPorts: http: http https: https type: LoadBalancer external: enabled: true externalTrafficPolicy: "Local" patch: enabled: true image: registry: registry.k8s.io image: ingress-nginx/kube-webhook-certgen pullPolicy: Always runAsUser: 2000 fsGroup: 2000 lifecycle: preStop: exec: command: - /wait-shutdown priorityClassName: "" revisionHistoryLimit: 1 rbac: create: true scope: false serviceAccount: create: true name: "" automountServiceAccountToken: true annotations: {} configmap: __inputs: - name: DS_PROMETHEUS label: Prometheus description: "" type: datasource pluginId: prometheus pluginName: Prometheus __requires: - type: grafana id: grafana name: Grafana version: 5.2.1 - type: datasource id: prometheus name: Prometheus version: 5.0.0 - type: panel id: singlestat name: Singlestat version: 5.0.0 annotations: list: - builtIn: 1 datasource: -- Grafana -- enable: true hide: true iconColor: rgba(0, 211, 255, 1) name: Annotations & Alerts type: dashboard - datasource: ${DS_PROMETHEUS} enable: true expr: sum(changes(nginx_ingress_controller_config_last_reload_successful_timestamp_seconds{instance!="unknown",controller_class=~"$controller_class",namespace=~"$namespace"}[30s])) by (controller_class) hide: false iconColor: rgba(255, 96, 96, 1) limit: 100 name: Config Reloads showIn: 0 step: 30s tagKeys: controller_class tags: [] titleFormat: Config Reloaded type: tags editable: true gnetId: 9614 graphTooltip: 0 iteration: 1534359654832 links: [] panels: - cacheTimeout: null colorBackground: false colorValue: false colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) datasource: ${DS_PROMETHEUS} format: ops gauge: maxValue: 100 minValue: 0 show: false thresholdLabels: false thresholdMarkers: true gridPos: h: 3 w: 6 x: 0 "y": 0 id: 20 interval: null links: [] mappingType: 1 mappingTypes: - name: value to text value: 1 - name: range to text value: 2 maxDataPoints: 100 nullPointMode: connected nullText: null postfix: "" postfixFontSize: 50% prefix: "" prefixFontSize: 50% rangeMaps: - from: "null" text: N/A to: "null" sparkline: fillColor: rgba(31, 118, 189, 0.18) full: true lineColor: rgb(31, 120, 193) show: true tableColumn: "" targets: - expr: round(sum(irate(nginx_ingress_controller_requests{controller_pod=~"$controller",controller_class=~"$controller_class",namespace=~"$namespace"}[2m])), 0.001) format: time_series intervalFactor: 1 refId: A step: 4 thresholds: "" title: Controller Request Volume transparent: false type: singlestat valueFontSize: 80% valueMaps: - op: = text: N/A value: "null" valueName: avg - cacheTimeout: null colorBackground: false colorValue: false colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) datasource: ${DS_PROMETHEUS} format: none gauge: maxValue: 100 minValue: 0 show: false thresholdLabels: false thresholdMarkers: true gridPos: h: 3 w: 6 x: 6 "y": 0 id: 82 interval: null links: [] mappingType: 1 mappingTypes: - name: value to text value: 1 - name: range to text value: 2 maxDataPoints: 100 nullPointMode: connected nullText: null postfix: "" postfixFontSize: 50% prefix: "" prefixFontSize: 50% rangeMaps: - from: "null" text: N/A to: "null" sparkline: fillColor: rgba(31, 118, 189, 0.18) full: true lineColor: rgb(31, 120, 193) show: true tableColumn: "" targets: - expr: sum(avg_over_time(nginx_ingress_controller_nginx_process_connections{controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace"}[2m])) format: time_series instant: false intervalFactor: 1 refId: A step: 4 thresholds: "" title: Controller Connections transparent: false type: singlestat valueFontSize: 80% valueMaps: - op: = text: N/A value: "null" valueName: avg - cacheTimeout: null colorBackground: false colorValue: false colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) datasource: ${DS_PROMETHEUS} format: percentunit gauge: maxValue: 100 minValue: 80 show: false thresholdLabels: false thresholdMarkers: false gridPos: h: 3 w: 6 x: 12 "y": 0 id: 21 interval: null links: [] mappingType: 1 mappingTypes: - name: value to text value: 1 - name: range to text value: 2 maxDataPoints: 100 nullPointMode: connected nullText: null postfix: "" postfixFontSize: 50% prefix: "" prefixFontSize: 50% rangeMaps: - from: "null" text: N/A to: "null" sparkline: fillColor: rgba(31, 118, 189, 0.18) full: true lineColor: rgb(31, 120, 193) show: true tableColumn: "" targets: - expr: sum(rate(nginx_ingress_controller_requests{controller_pod=~"$controller",controller_class=~"$controller_class",namespace=~"$namespace",status!~"[4-5].*"}[2m])) / sum(rate(nginx_ingress_controller_requests{controller_pod=~"$controller",controller_class=~"$controller_class",namespace=~"$namespace"}[2m])) format: time_series intervalFactor: 1 refId: A step: 4 thresholds: 95, 99, 99.5 title: Controller Success Rate (non-4|5xx responses) transparent: false type: singlestat valueFontSize: 80% valueMaps: - op: = text: N/A value: "null" valueName: avg - cacheTimeout: null colorBackground: false colorValue: false colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) datasource: ${DS_PROMETHEUS} decimals: 0 format: none gauge: maxValue: 100 minValue: 0 show: false thresholdLabels: false thresholdMarkers: true gridPos: h: 3 w: 3 x: 18 "y": 0 id: 81 interval: null links: [] mappingType: 1 mappingTypes: - name: value to text value: 1 - name: range to text value: 2 maxDataPoints: 100 nullPointMode: connected nullText: null postfix: "" postfixFontSize: 50% prefix: "" prefixFontSize: 50% rangeMaps: - from: "null" text: N/A to: "null" sparkline: fillColor: rgba(31, 118, 189, 0.18) full: true lineColor: rgb(31, 120, 193) show: true tableColumn: "" targets: - expr: avg(nginx_ingress_controller_success{controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace"}) format: time_series instant: true intervalFactor: 1 refId: A step: 4 thresholds: "" title: Config Reloads transparent: false type: singlestat valueFontSize: 80% valueMaps: - op: = text: N/A value: "null" valueName: avg - cacheTimeout: null colorBackground: false colorValue: false colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) datasource: ${DS_PROMETHEUS} decimals: 0 format: none gauge: maxValue: 100 minValue: 0 show: false thresholdLabels: false thresholdMarkers: true gridPos: h: 3 w: 3 x: 21 "y": 0 id: 83 interval: null links: [] mappingType: 1 mappingTypes: - name: value to text value: 1 - name: range to text value: 2 maxDataPoints: 100 nullPointMode: connected nullText: null postfix: "" postfixFontSize: 50% prefix: "" prefixFontSize: 50% rangeMaps: - from: "null" text: N/A to: "null" sparkline: fillColor: rgba(31, 118, 189, 0.18) full: true lineColor: rgb(31, 120, 193) show: true tableColumn: "" targets: - expr: count(nginx_ingress_controller_config_last_reload_successful{controller_pod=~"$controller",controller_namespace=~"$namespace"} == 0) format: time_series instant: true intervalFactor: 1 refId: A step: 4 thresholds: "" title: Last Config Failed transparent: false type: singlestat valueFontSize: 80% valueMaps: - op: = text: N/A value: "null" valueName: avg - aliasColors: {} bars: false dashLength: 10 dashes: false datasource: ${DS_PROMETHEUS} decimals: 2 editable: true error: false fill: 1 grid: {} gridPos: h: 7 w: 12 x: 0 "y": 3 height: 200px id: 86 isNew: true legend: alignAsTable: true avg: true current: false hideEmpty: false hideZero: true max: false min: false rightSide: true show: true sideWidth: 300 sort: current sortDesc: true total: false values: true lines: true linewidth: 2 links: [] nullPointMode: connected percentage: false pointradius: 5 points: false renderer: flot repeat: null repeatDirection: h seriesOverrides: [] spaceLength: 10 stack: false steppedLine: false targets: - expr: round(sum(irate(nginx_ingress_controller_requests{controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace",ingress=~"$ingress"}[2m])) by (ingress), 0.001) format: time_series hide: false instant: false interval: "" intervalFactor: 1 legendFormat: '{{ ingress }}' metric: network refId: A step: 10 thresholds: [] timeFrom: null timeShift: null title: Ingress Request Volume tooltip: msResolution: false shared: true sort: 2 value_type: cumulative transparent: false type: graph xaxis: buckets: null mode: time name: null show: true values: [] yaxes: - format: reqps label: null logBase: 1 max: null min: null show: true - format: Bps label: null logBase: 1 max: null min: null show: false yaxis: align: false alignLevel: null - aliasColors: max - istio-proxy: '#890f02' max - master: '#bf1b00' max - prometheus: '#bf1b00' bars: false dashLength: 10 dashes: false datasource: ${DS_PROMETHEUS} decimals: 2 editable: false error: false fill: 0 grid: {} gridPos: h: 7 w: 12 x: 12 "y": 3 id: 87 isNew: true legend: alignAsTable: true avg: true current: false hideEmpty: true hideZero: false max: false min: false rightSide: true show: true sideWidth: 300 sort: avg sortDesc: true total: false values: true lines: true linewidth: 2 links: [] nullPointMode: connected percentage: false pointradius: 5 points: false renderer: flot seriesOverrides: [] spaceLength: 10 stack: false steppedLine: false targets: - expr: sum(rate(nginx_ingress_controller_requests{controller_pod=~"$controller",controller_class=~"$controller_class",namespace=~"$namespace",ingress=~"$ingress",status!~"[4-5].*"}[2m])) by (ingress) / sum(rate(nginx_ingress_controller_requests{controller_pod=~"$controller",controller_class=~"$controller_class",namespace=~"$namespace",ingress=~"$ingress"}[2m])) by (ingress) format: time_series instant: false interval: 10s intervalFactor: 1 legendFormat: '{{ ingress }}' metric: container_memory_usage:sort_desc refId: A step: 10 thresholds: [] timeFrom: null timeShift: null title: Ingress Success Rate (non-4|5xx responses) tooltip: msResolution: false shared: true sort: 1 value_type: cumulative type: graph xaxis: buckets: null mode: time name: null show: true values: [] yaxes: - format: percentunit label: null logBase: 1 max: null min: null show: true - format: short label: null logBase: 1 max: null min: null show: false yaxis: align: false alignLevel: null - aliasColors: {} bars: false dashLength: 10 dashes: false datasource: ${DS_PROMETHEUS} decimals: 2 editable: true error: false fill: 1 grid: {} gridPos: h: 6 w: 8 x: 0 "y": 10 height: 200px id: 32 isNew: true legend: alignAsTable: false avg: true current: true max: false min: false rightSide: false show: false sideWidth: 200 sort: current sortDesc: true total: false values: true lines: true linewidth: 2 links: [] nullPointMode: connected percentage: false pointradius: 5 points: false renderer: flot seriesOverrides: [] spaceLength: 10 stack: false steppedLine: false targets: - expr: sum (irate (nginx_ingress_controller_request_size_sum{controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace"}[2m])) format: time_series instant: false interval: 10s intervalFactor: 1 legendFormat: Received metric: network refId: A step: 10 - expr: '- sum (irate (nginx_ingress_controller_response_size_sum{controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace"}[2m]))' format: time_series hide: false interval: 10s intervalFactor: 1 legendFormat: Sent metric: network refId: B step: 10 thresholds: [] timeFrom: null timeShift: null title: Network I/O pressure tooltip: msResolution: false shared: true sort: 0 value_type: cumulative transparent: false type: graph xaxis: buckets: null mode: time name: null show: true values: [] yaxes: - format: Bps label: null logBase: 1 max: null min: null show: true - format: Bps label: null logBase: 1 max: null min: null show: false yaxis: align: false alignLevel: null - aliasColors: max - istio-proxy: '#890f02' max - master: '#bf1b00' max - prometheus: '#bf1b00' bars: false dashLength: 10 dashes: false datasource: ${DS_PROMETHEUS} decimals: 2 editable: false error: false fill: 0 grid: {} gridPos: h: 6 w: 8 x: 8 "y": 10 id: 77 isNew: true legend: alignAsTable: true avg: true current: true max: false min: false rightSide: false show: false sideWidth: 200 sort: current sortDesc: true total: false values: true lines: true linewidth: 2 links: [] nullPointMode: connected percentage: false pointradius: 5 points: false renderer: flot seriesOverrides: [] spaceLength: 10 stack: false steppedLine: false targets: - expr: 'avg(nginx_ingress_controller_nginx_process_resident_memory_bytes{controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace"}) ' format: time_series instant: false interval: 10s intervalFactor: 1 legendFormat: nginx metric: container_memory_usage:sort_desc refId: A step: 10 thresholds: [] timeFrom: null timeShift: null title: Average Memory Usage tooltip: msResolution: false shared: true sort: 2 value_type: cumulative type: graph xaxis: buckets: null mode: time name: null show: true values: [] yaxes: - format: bytes label: null logBase: 1 max: null min: null show: true - format: short label: null logBase: 1 max: null min: null show: false yaxis: align: false alignLevel: null - aliasColors: max - istio-proxy: '#890f02' max - master: '#bf1b00' bars: false dashLength: 10 dashes: false datasource: ${DS_PROMETHEUS} decimals: 3 editable: false error: false fill: 0 grid: {} gridPos: h: 6 w: 8 x: 16 "y": 10 height: "" id: 79 isNew: true legend: alignAsTable: true avg: true current: true max: false min: false rightSide: false show: false sort: null sortDesc: null total: false values: true lines: true linewidth: 2 links: [] nullPointMode: connected percentage: false pointradius: 5 points: false renderer: flot seriesOverrides: [] spaceLength: 10 stack: false steppedLine: false targets: - expr: 'sum (rate (nginx_ingress_controller_nginx_process_cpu_seconds_total{controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace"}[2m])) ' format: time_series interval: 10s intervalFactor: 1 legendFormat: nginx metric: container_cpu refId: A step: 10 thresholds: - colorMode: critical fill: true line: true op: gt timeFrom: null timeShift: null title: Average CPU Usage tooltip: msResolution: true shared: true sort: 2 value_type: cumulative transparent: false type: graph xaxis: buckets: null mode: time name: null show: true values: [] yaxes: - format: none label: cores logBase: 1 max: null min: null show: true - format: short label: null logBase: 1 max: null min: null show: true yaxis: align: false alignLevel: null - columns: [] datasource: ${DS_PROMETHEUS} fontSize: 100% gridPos: h: 8 w: 24 x: 0 "y": 16 hideTimeOverride: false id: 75 links: [] pageSize: 7 repeat: null repeatDirection: h scroll: true showHeader: true sort: col: 1 desc: true styles: - alias: Ingress colorMode: null colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) dateFormat: YYYY-MM-DD HH:mm:ss decimals: 2 pattern: ingress preserveFormat: false sanitize: false thresholds: [] type: string unit: short - alias: Requests colorMode: null colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) dateFormat: YYYY-MM-DD HH:mm:ss decimals: 2 pattern: 'Value #A' thresholds: - "" type: number unit: ops - alias: Errors colorMode: null colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) dateFormat: YYYY-MM-DD HH:mm:ss decimals: 2 pattern: 'Value #B' thresholds: [] type: number unit: ops - alias: P50 Latency colorMode: null colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) dateFormat: YYYY-MM-DD HH:mm:ss decimals: 0 link: false pattern: 'Value #C' thresholds: [] type: number unit: dtdurations - alias: P90 Latency colorMode: null colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) dateFormat: YYYY-MM-DD HH:mm:ss decimals: 0 pattern: 'Value #D' thresholds: [] type: number unit: dtdurations - alias: P99 Latency colorMode: null colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) dateFormat: YYYY-MM-DD HH:mm:ss decimals: 0 pattern: 'Value #E' thresholds: [] type: number unit: dtdurations - alias: IN colorMode: null colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) dateFormat: YYYY-MM-DD HH:mm:ss decimals: 2 pattern: 'Value #F' thresholds: - "" type: number unit: Bps - alias: "" colorMode: null colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) dateFormat: YYYY-MM-DD HH:mm:ss decimals: 2 pattern: Time thresholds: [] type: hidden unit: short - alias: OUT colorMode: null colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) dateFormat: YYYY-MM-DD HH:mm:ss decimals: 2 mappingType: 1 pattern: 'Value #G' thresholds: [] type: number unit: Bps targets: - expr: histogram_quantile(0.50, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!="",controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace",ingress=~"$ingress"}[2m])) by (le, ingress)) format: table hide: false instant: true intervalFactor: 1 legendFormat: '{{ ingress }}' refId: C - expr: histogram_quantile(0.90, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!="",controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace",ingress=~"$ingress"}[2m])) by (le, ingress)) format: table hide: false instant: true intervalFactor: 1 legendFormat: '{{ ingress }}' refId: D - expr: histogram_quantile(0.99, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!="",controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace",ingress=~"$ingress"}[2m])) by (le, ingress)) format: table hide: false instant: true intervalFactor: 1 legendFormat: '{{ destination_service }}' refId: E - expr: sum(irate(nginx_ingress_controller_request_size_sum{ingress!="",controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace",ingress=~"$ingress"}[2m])) by (ingress) format: table hide: false instant: true interval: "" intervalFactor: 1 legendFormat: '{{ ingress }}' refId: F - expr: sum(irate(nginx_ingress_controller_response_size_sum{ingress!="",controller_pod=~"$controller",controller_class=~"$controller_class",controller_namespace=~"$namespace",ingress=~"$ingress"}[2m])) by (ingress) format: table instant: true intervalFactor: 1 legendFormat: '{{ ingress }}' refId: G timeFrom: null title: Ingress Percentile Response Times and Transfer Rates transform: table transparent: false type: table - columns: - text: Current value: current datasource: ${DS_PROMETHEUS} fontSize: 100% gridPos: h: 8 w: 24 x: 0 "y": 24 height: "1024" id: 85 links: [] pageSize: 7 scroll: true showHeader: true sort: col: 1 desc: false styles: - alias: Time dateFormat: YYYY-MM-DD HH:mm:ss pattern: Time type: date - alias: TTL colorMode: cell colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) dateFormat: YYYY-MM-DD HH:mm:ss decimals: 0 pattern: Current thresholds: - "0" - "691200" type: number unit: s - alias: "" colorMode: null colors: - rgba(245, 54, 54, 0.9) - rgba(237, 129, 40, 0.89) - rgba(50, 172, 45, 0.97) decimals: 2 pattern: /.*/ thresholds: [] type: number unit: short targets: - expr: avg(nginx_ingress_controller_ssl_expire_time_seconds{kubernetes_pod_name=~"$controller",namespace=~"$namespace",ingress=~"$ingress"}) by (host) - time() format: time_series intervalFactor: 1 legendFormat: '{{ host }}' metric: gke_letsencrypt_cert_expiration refId: A step: 1 title: Ingress Certificate Expiry transform: timeseries_aggregations type: table refresh: 5s schemaVersion: 16 style: dark tags: - nginx templating: list: - allValue: .* current: text: All value: $__all datasource: ${DS_PROMETHEUS} hide: 0 includeAll: true label: Namespace multi: false name: namespace options: [] query: label_values(nginx_ingress_controller_config_hash, controller_namespace) refresh: 1 regex: "" sort: 0 tagValuesQuery: "" tags: [] tagsQuery: "" type: query useTags: false - allValue: .* current: text: All value: $__all datasource: ${DS_PROMETHEUS} hide: 0 includeAll: true label: Controller Class multi: false name: controller_class options: [] query: 'label_values(nginx_ingress_controller_config_hash{namespace=~"$namespace"}, controller_class) ' refresh: 1 regex: "" sort: 0 tagValuesQuery: "" tags: [] tagsQuery: "" type: query useTags: false - allValue: .* current: text: All value: $__all datasource: ${DS_PROMETHEUS} hide: 0 includeAll: true label: Controller multi: false name: controller options: [] query: 'label_values(nginx_ingress_controller_config_hash{namespace=~"$namespace",controller_class=~"$controller_class"}, controller_pod) ' refresh: 1 regex: "" sort: 0 tagValuesQuery: "" tags: [] tagsQuery: "" type: query useTags: false - allValue: .* current: tags: [] text: All value: $__all datasource: ${DS_PROMETHEUS} hide: 0 includeAll: true label: Ingress multi: false name: ingress options: [] query: 'label_values(nginx_ingress_controller_requests{namespace=~"$namespace",controller_class=~"$controller_class",controller=~"$controller"}, ingress) ' refresh: 1 regex: "" sort: 2 tagValuesQuery: "" tags: [] tagsQuery: "" type: query useTags: false time: from: now-1h to: now timepicker: refresh_intervals: - 5s - 10s - 30s - 2m - 5m - 15m - 30m - 1h - 2h - 1d time_options: - 5m - 15m - 1h - 6h - 12h - 24h - 2d - 7d - 30d timezone: browser title: NGINX Ingress controller uid: nginx version: 1 description: Ingress-nginx supports a rich collection of prometheus metrics. If you have prometheus and grafana installed on your cluster then prometheus will already be scraping this data due to the scrape annotation on the deployment.