"expr":"sum(changes(nginx_ingress_controller_config_last_reload_successful_timestamp_seconds{instance!=\"unknown\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[30s])) by (controller_class)",
"expr":"round(sum(irate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",exported_namespace=~\"$exported_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
}
],
"title":"Ingress Request Volume",
"type":"timeseries"
},
{
"datasource":{
"type":"prometheus",
"uid":"prom"
},
"fieldConfig":{
"defaults":{
"color":{
"mode":"palette-classic"
},
"custom":{
"axisBorderShow":false,
"axisCenteredZero":false,
"axisColorMode":"text",
"axisLabel":"",
"axisPlacement":"auto",
"barAlignment":0,
"barWidthFactor":0.6,
"drawStyle":"line",
"fillOpacity":0,
"gradientMode":"none",
"hideFrom":{
"legend":false,
"tooltip":false,
"viz":false
},
"insertNulls":false,
"lineInterpolation":"linear",
"lineWidth":2,
"pointSize":5,
"scaleDistribution":{
"type":"linear"
},
"showPoints":"never",
"spanNulls":true,
"stacking":{
"group":"A",
"mode":"none"
},
"thresholdsStyle":{
"mode":"off"
}
},
"mappings":[],
"thresholds":{
"mode":"absolute",
"steps":[
{
"color":"green",
"value":0
},
{
"color":"red",
"value":80
}
]
},
"unit":"percentunit"
},
"overrides":[
{
"matcher":{
"id":"byName",
"options":"max - istio-proxy"
},
"properties":[
{
"id":"color",
"value":{
"fixedColor":"#890f02",
"mode":"fixed"
}
}
]
},
{
"matcher":{
"id":"byName",
"options":"max - master"
},
"properties":[
{
"id":"color",
"value":{
"fixedColor":"#bf1b00",
"mode":"fixed"
}
}
]
},
{
"matcher":{
"id":"byName",
"options":"max - prometheus"
},
"properties":[
{
"id":"color",
"value":{
"fixedColor":"#bf1b00",
"mode":"fixed"
}
}
]
},
{
"matcher":{
"id":"byValue",
"options":{
"op":"gte",
"reducer":"allIsNull",
"value":0
}
},
"properties":[
{
"id":"custom.hideFrom",
"value":{
"legend":true,
"tooltip":true,
"viz":false
}
}
]
}
]
},
"gridPos":{
"h":7,
"w":12,
"x":12,
"y":3
},
"id":87,
"options":{
"legend":{
"calcs":[
"mean"
],
"displayMode":"table",
"placement":"right",
"showLegend":true
},
"tooltip":{
"hideZeros":false,
"mode":"multi",
"sort":"asc"
}
},
"pluginVersion":"12.1.0",
"targets":[
{
"datasource":{
"type":"prometheus",
"uid":"prom"
},
"expr":"sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",exported_namespace=~\"$exported_namespace\",ingress=~\"$ingress\",status!~\"[4-5].*\"}[2m])) by (ingress) / sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",exported_namespace=~\"$exported_namespace\",ingress=~\"$ingress\"}[2m])) by (ingress)",
"expr":"- sum (irate (nginx_ingress_controller_response_size_sum{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m]))",
"description":"This data is real time, independent of dashboard time range",
"fieldConfig":{
"defaults":{
"color":{
"mode":"thresholds"
},
"custom":{
"align":"auto",
"cellOptions":{
"type":"auto"
},
"inspect":false
},
"mappings":[],
"thresholds":{
"mode":"absolute",
"steps":[
{
"color":"green",
"value":0
},
{
"color":"red",
"value":80
}
]
}
},
"overrides":[
{
"matcher":{
"id":"byName",
"options":"ingress"
},
"properties":[
{
"id":"displayName",
"value":"Ingress"
},
{
"id":"unit",
"value":"short"
},
{
"id":"decimals",
"value":2
},
{
"id":"custom.align"
}
]
},
{
"matcher":{
"id":"byName",
"options":"Value #A"
},
"properties":[
{
"id":"displayName",
"value":"P50 Latency"
},
{
"id":"unit",
"value":"dtdurations"
},
{
"id":"custom.align"
}
]
},
{
"matcher":{
"id":"byName",
"options":"Value #B"
},
"properties":[
{
"id":"displayName",
"value":"P90 Latency"
},
{
"id":"unit",
"value":"dtdurations"
},
{
"id":"custom.align"
}
]
},
{
"matcher":{
"id":"byName",
"options":"Value #C"
},
"properties":[
{
"id":"displayName",
"value":"P99 Latency"
},
{
"id":"unit",
"value":"dtdurations"
},
{
"id":"custom.align"
}
]
},
{
"matcher":{
"id":"byName",
"options":"Value #D"
},
"properties":[
{
"id":"displayName",
"value":"IN"
},
{
"id":"unit",
"value":"Bps"
},
{
"id":"decimals",
"value":2
},
{
"id":"custom.align"
},
{
"id":"thresholds",
"value":{
"mode":"absolute",
"steps":[
{
"color":"rgba(245, 54, 54, 0.9)",
"value":0
},
{
"color":"rgba(237, 129, 40, 0.89)"
}
]
}
}
]
},
{
"matcher":{
"id":"byName",
"options":"Time"
},
"properties":[
{
"id":"unit",
"value":"short"
},
{
"id":"decimals",
"value":2
},
{
"id":"custom.align"
},
{
"id":"custom.hidden",
"value":true
}
]
},
{
"matcher":{
"id":"byName",
"options":"Value #E"
},
"properties":[
{
"id":"displayName",
"value":"OUT"
},
{
"id":"unit",
"value":"Bps"
},
{
"id":"decimals",
"value":2
},
{
"id":"custom.align"
}
]
}
]
},
"gridPos":{
"h":8,
"w":24,
"x":0,
"y":16
},
"id":75,
"options":{
"cellHeight":"sm",
"footer":{
"countRows":false,
"fields":"",
"reducer":[
"sum"
],
"show":false
},
"showHeader":true
},
"pluginVersion":"12.1.0",
"targets":[
{
"datasource":{
"type":"prometheus",
"uid":"prom"
},
"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\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le, ingress))",
"format":"table",
"hide":false,
"instant":true,
"intervalFactor":1,
"legendFormat":"{{ ingress }}",
"refId":"A"
},
{
"datasource":{
"type":"prometheus",
"uid":"prom"
},
"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\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le, ingress))",
"format":"table",
"hide":false,
"instant":true,
"intervalFactor":1,
"legendFormat":"{{ ingress }}",
"refId":"B"
},
{
"datasource":{
"type":"prometheus",
"uid":"prom"
},
"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\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le, ingress))",
"format":"table",
"hide":false,
"instant":true,
"intervalFactor":1,
"legendFormat":"{{ destination_service }}",
"refId":"C"
},
{
"datasource":{
"type":"prometheus",
"uid":"prom"
},
"expr":"sum(irate(nginx_ingress_controller_request_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (ingress)",
"format":"table",
"hide":false,
"instant":true,
"interval":"",
"intervalFactor":1,
"legendFormat":"{{ ingress }}",
"refId":"D"
},
{
"datasource":{
"type":"prometheus",
"uid":"prom"
},
"expr":"sum(irate(nginx_ingress_controller_response_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (ingress)",
"format":"table",
"instant":true,
"intervalFactor":1,
"legendFormat":"{{ ingress }}",
"refId":"E"
}
],
"title":"Ingress Percentile Response Times and Transfer Rates",
"expr":"histogram_quantile(0.80, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le))",
"format":"time_series",
"hide":false,
"instant":false,
"interval":"",
"intervalFactor":1,
"legendFormat":"P80",
"refId":"C"
},
{
"datasource":{
"type":"prometheus",
"uid":"prom"
},
"exemplar":true,
"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\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le))",
"format":"time_series",
"hide":false,
"instant":false,
"interval":"",
"intervalFactor":1,
"legendFormat":"P90",
"refId":"D"
},
{
"datasource":{
"type":"prometheus",
"uid":"prom"
},
"editorMode":"code",
"exemplar":true,
"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\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le))",
"format":"time_series",
"hide":false,
"instant":false,
"interval":"",
"intervalFactor":1,
"legendFormat":"P99",
"refId":"E"
}
],
"title":"Ingress Percentile Response Times (Ingress Namespaces)",
"expr":"sum(increase(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le)",
"expr":"avg(nginx_ingress_controller_ssl_expire_time_seconds{kubernetes_pod_name=~\"$controller\",namespace=~\"$namespace\",ingress=~\"$ingress\"}) by (host) - time()",