2019-04-11 10:39:58 -04:00
dashboard : 'Environment metrics'
2019-04-17 03:07:25 -04:00
priority : 1
2019-04-11 10:39:58 -04:00
panel_groups :
# NGINX Ingress metrics for pre-0.16.0 versions
2018-12-17 18:48:55 -05:00
- group : Response metrics (NGINX Ingress VTS)
2017-08-14 12:23:32 -04:00
priority : 10
2019-04-11 10:39:58 -04:00
panels :
2017-08-14 12:23:32 -04:00
- title : "Throughput"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2017-08-14 12:23:32 -04:00
y_label : "Requests / Sec"
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : response_metrics_nginx_ingress_throughput_status_code
query_range : 'sum(rate(nginx_upstream_responses_total{upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"}[2m])) by (status_code)'
2017-08-14 12:23:32 -04:00
unit : req / sec
2017-09-09 00:50:02 -04:00
label : Status Code
2017-08-14 12:23:32 -04:00
- title : "Latency"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2017-08-14 12:23:32 -04:00
y_label : "Latency (ms)"
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : response_metrics_nginx_ingress_latency_pod_average
query_range : 'avg(nginx_upstream_response_msecs_avg{upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"})'
2019-07-26 11:35:10 -04:00
label : Pod average (ms)
2017-08-14 12:23:32 -04:00
unit : ms
- title : "HTTP Error Rate"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2019-07-26 11:35:10 -04:00
y_label : "HTTP Errors (%)"
2017-08-14 12:23:32 -04:00
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : response_metrics_nginx_ingress_http_error_rate
query_range : 'sum(rate(nginx_upstream_responses_total{status_code="5xx", upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"}[2m])) / sum(rate(nginx_upstream_responses_total{upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"}[2m])) * 100'
2019-07-26 11:35:10 -04:00
label : 5xx Errors (%)
2018-06-06 03:26:22 -04:00
unit : "%"
2018-12-17 18:48:55 -05:00
# NGINX Ingress metrics for post-0.16.0 versions
- group : Response metrics (NGINX Ingress)
priority : 10
2019-04-11 10:39:58 -04:00
panels :
2018-12-17 18:48:55 -05:00
- title : "Throughput"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2018-12-17 18:48:55 -05:00
y_label : "Requests / Sec"
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-12-17 18:48:55 -05:00
- id : response_metrics_nginx_ingress_16_throughput_status_code
query_range : 'sum(label_replace(rate(nginx_ingress_controller_requests{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m]), "status_code", "${1}xx", "status", "(.)..")) by (status_code)'
unit : req / sec
label : Status Code
- title : "Latency"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2018-12-17 18:48:55 -05:00
y_label : "Latency (ms)"
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-12-17 18:48:55 -05:00
- id : response_metrics_nginx_ingress_16_latency_pod_average
query_range : 'sum(rate(nginx_ingress_controller_ingress_upstream_latency_seconds_sum{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) / sum(rate(nginx_ingress_controller_ingress_upstream_latency_seconds_count{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) * 1000'
2019-07-26 11:35:10 -04:00
label : Pod average (ms)
2018-12-17 18:48:55 -05:00
unit : ms
- title : "HTTP Error Rate"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2019-07-26 11:35:10 -04:00
y_label : "HTTP Errors (%)"
2018-12-17 18:48:55 -05:00
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-12-17 18:48:55 -05:00
- id : response_metrics_nginx_ingress_16_http_error_rate
query_range : 'sum(rate(nginx_ingress_controller_requests{status=~"5.*",namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) / sum(rate(nginx_ingress_controller_requests{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) * 100'
2019-07-26 11:35:10 -04:00
label : 5xx Errors (%)
2018-12-17 18:48:55 -05:00
unit : "%"
2017-07-27 14:05:58 -04:00
- group : Response metrics (HA Proxy)
2017-07-19 21:22:46 -04:00
priority : 10
2019-04-11 10:39:58 -04:00
panels :
2017-07-19 21:22:46 -04:00
- title : "Throughput"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2017-07-19 21:22:46 -04:00
y_label : "Requests / Sec"
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : response_metrics_ha_proxy_throughput_status_code
query_range : 'sum(rate(haproxy_frontend_http_requests_total{%{environment_filter}}[2m])) by (code)'
2017-07-19 21:22:46 -04:00
unit : req / sec
2018-08-31 12:53:50 -04:00
label : Status Code
2017-07-19 21:22:46 -04:00
- title : "HTTP Error Rate"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2017-07-19 21:22:46 -04:00
y_label : "Error Rate (%)"
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : response_metrics_ha_proxy_http_error_rate
query_range : 'sum(rate(haproxy_frontend_http_responses_total{code="5xx",%{environment_filter}}[2m])) / sum(rate(haproxy_frontend_http_responses_total{%{environment_filter}}[2m]))'
2019-07-26 11:35:10 -04:00
label : HTTP Errors (%)
2017-07-19 21:22:46 -04:00
unit : "%"
2017-07-27 14:05:58 -04:00
- group : Response metrics (AWS ELB)
2017-07-03 16:28:08 -04:00
priority : 10
2019-04-11 10:39:58 -04:00
panels :
2017-07-04 01:45:35 -04:00
- title : "Throughput"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2017-07-04 01:45:35 -04:00
y_label : "Requests / Sec"
2017-07-03 16:28:08 -04:00
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : response_metrics_aws_elb_throughput_requests
query_range : 'sum(aws_elb_request_count_sum{%{environment_filter}}) / 60'
2019-07-26 11:35:10 -04:00
label : Total (req/sec)
2017-07-04 01:45:35 -04:00
unit : req / sec
2017-07-03 16:28:08 -04:00
- title : "Latency"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2017-07-04 01:45:35 -04:00
y_label : "Latency (ms)"
2017-07-03 16:28:08 -04:00
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : response_metrics_aws_elb_latency_average
query_range : 'avg(aws_elb_latency_average{%{environment_filter}}) * 1000'
2019-07-26 11:35:10 -04:00
label : Average (ms)
2017-07-04 01:45:35 -04:00
unit : ms
- title : "HTTP Error Rate"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2017-07-04 01:45:35 -04:00
y_label : "Error Rate (%)"
2017-07-03 16:28:08 -04:00
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : response_metrics_aws_elb_http_error_rate
query_range : 'sum(aws_elb_httpcode_backend_5_xx_sum{%{environment_filter}}) / sum(aws_elb_request_count_sum{%{environment_filter}})'
2019-07-26 11:35:10 -04:00
label : HTTP Errors (%)
2017-07-04 01:45:35 -04:00
unit : "%"
2017-07-27 14:05:58 -04:00
- group : Response metrics (NGINX)
2017-07-04 01:45:35 -04:00
priority : 10
2019-04-11 10:39:58 -04:00
panels :
2017-07-04 01:45:35 -04:00
- title : "Throughput"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2017-07-04 01:45:35 -04:00
y_label : "Requests / Sec"
2017-05-10 05:25:30 -04:00
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : response_metrics_nginx_throughput_status_code
query_range : 'sum(rate(nginx_server_requests{server_zone!="*", server_zone!="_", %{environment_filter}}[2m])) by (code)'
2017-07-04 01:45:35 -04:00
unit : req / sec
2017-09-08 16:16:38 -04:00
label : Status Code
2017-07-04 01:45:35 -04:00
- title : "Latency"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2017-07-04 01:45:35 -04:00
y_label : "Latency (ms)"
2017-05-10 05:25:30 -04:00
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : response_metrics_nginx_latency
query_range : 'avg(nginx_server_requestMsec{%{environment_filter}})'
2019-07-26 11:35:10 -04:00
label : Upstream (ms)
2017-07-04 01:45:35 -04:00
unit : ms
2019-07-26 11:35:10 -04:00
- title : "HTTP Error Rate (Errors / Sec)"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2017-08-14 12:23:32 -04:00
y_label : "HTTP 500 Errors / Sec"
2017-07-04 01:45:35 -04:00
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : response_metrics_nginx_http_error_rate
query_range : 'sum(rate(nginx_server_requests{code="5xx", %{environment_filter}}[2m]))'
2017-07-04 01:45:35 -04:00
label : HTTP Errors
2017-08-14 12:23:32 -04:00
unit : "errors / sec"
2017-07-27 14:05:58 -04:00
- group : System metrics (Kubernetes)
2017-07-04 01:45:35 -04:00
priority : 5
2019-04-11 10:39:58 -04:00
panels :
2018-04-06 17:58:42 -04:00
- title : "Memory Usage (Total)"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2019-07-26 11:35:10 -04:00
y_label : "Total Memory Used (GB)"
2018-04-06 17:58:42 -04:00
weight : 4
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : system_metrics_kubernetes_container_memory_total
query_range : 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) /1024/1024/1024'
2019-07-26 11:35:10 -04:00
label : Total (GB)
2018-04-06 17:58:42 -04:00
unit : GB
- title : "Core Usage (Total)"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2018-04-06 17:58:42 -04:00
y_label : "Total Cores"
weight : 3
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : system_metrics_kubernetes_container_cores_total
query_range : 'avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-(.*)",namespace="%{kube_namespace}"}[15m])) by (job)) without (job)'
2019-07-26 11:35:10 -04:00
label : Total (cores)
2018-04-06 17:58:42 -04:00
unit : "cores"
- title : "Memory Usage (Pod average)"
2019-08-21 09:43:01 -04:00
type : "line-chart"
2019-07-26 11:35:10 -04:00
y_label : "Memory Used per Pod (MB)"
2018-04-06 17:58:42 -04:00
weight : 2
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : system_metrics_kubernetes_container_memory_average
2019-06-13 09:49:18 -04:00
query_range : 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) without (job)) /1024/1024'
2019-07-26 11:35:10 -04:00
label : Pod average (MB)
2017-07-04 01:45:35 -04:00
unit : MB
2018-09-06 03:46:17 -04:00
- title : "Canary: Memory Usage (Pod Average)"
2019-08-21 09:43:01 -04:00
type : "line-chart"
2019-07-26 11:35:10 -04:00
y_label : "Memory Used per Pod (MB)"
2018-09-06 03:46:17 -04:00
weight : 2
2019-04-11 10:39:58 -04:00
metrics :
2018-09-06 03:46:17 -04:00
- id : system_metrics_kubernetes_container_memory_average_canary
query_range : 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}) without (job)) /1024/1024'
2019-07-26 11:35:10 -04:00
label : Pod average (MB)
2018-09-06 03:46:17 -04:00
unit : MB
track : canary
- title : "Core Usage (Pod Average)"
2019-08-21 09:43:01 -04:00
type : "line-chart"
2018-02-28 14:55:15 -05:00
y_label : "Cores per Pod"
2017-05-10 05:25:30 -04:00
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : system_metrics_kubernetes_container_core_usage
2019-06-13 09:49:18 -04:00
query_range : 'avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}[15m])) by (job)) without (job) / count(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}[15m])) by (pod_name))'
2019-07-26 11:35:10 -04:00
label : Pod average (cores)
2018-08-31 12:53:50 -04:00
unit : "cores"
2018-09-06 03:46:17 -04:00
- title : "Canary: Core Usage (Pod Average)"
2019-08-21 09:43:01 -04:00
type : "line-chart"
2018-09-06 03:46:17 -04:00
y_label : "Cores per Pod"
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2018-08-31 12:53:50 -04:00
- id : system_metrics_kubernetes_container_core_usage_canary
query_range : 'avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}[15m])) by (job)) without (job) / count(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}[15m])) by (pod_name))'
2019-07-26 11:35:10 -04:00
label : Pod average (cores)
2018-08-31 12:53:50 -04:00
unit : "cores"
track : canary
2019-04-05 22:02:39 -04:00
- title : "Knative function invocations"
2019-04-11 10:39:58 -04:00
type : "area-chart"
2019-04-05 22:02:39 -04:00
y_label : "Invocations"
weight : 1
2019-04-11 10:39:58 -04:00
metrics :
2019-04-05 22:02:39 -04:00
- id : system_metrics_knative_function_invocation_count
2019-12-17 13:07:48 -05:00
query_range : 'sum(ceil(rate(istio_requests_total{destination_service_namespace="%{kube_namespace}", destination_service=~"%{function_name}.*"}[1m])*60))'
2019-04-05 22:02:39 -04:00
label : invocations / minute
unit : requests