From fb6144298e19a632a574bfc576f5f672e08e4324 Mon Sep 17 00:00:00 2001 From: Joshua Lambert Date: Tue, 4 Jul 2017 01:45:35 -0400 Subject: [PATCH] Add NGINX metrics and other minor changes --- config/prometheus/additional_metrics.yml | 96 ++++++++++++++---------- 1 file changed, 56 insertions(+), 40 deletions(-) diff --git a/config/prometheus/additional_metrics.yml b/config/prometheus/additional_metrics.yml index 3f7e897e73a..d33fae4182d 100644 --- a/config/prometheus/additional_metrics.yml +++ b/config/prometheus/additional_metrics.yml @@ -1,66 +1,82 @@ - group: AWS Elastic Load Balancer priority: 10 metrics: - - title: "Request Rate" - y_label: "Requests/Min" + - title: "Throughput" + y_label: "Requests / Sec" required_metrics: - aws_elb_request_count_sum weight: 1 queries: - - query_range: 'sum(aws_elb_request_count_sum{%{environment_filter}})' - label: Requests per minute - unit: requests + - query_range: 'sum(aws_elb_request_count_sum{%{environment_filter}}) * 60' + label: Total + unit: req / sec - title: "Latency" - y_label: "Average Latency" + y_label: "Latency (ms)" required_metrics: - - aws_elb_latency_average + - aws_elb_latency_average weight: 1 queries: - - query_range: 'avg(aws_elb_latency_average{%{environment_filter}})' - unit: seconds - - title: "Error Rate" - y_label: "Percent HTTP Errors / minute" + - query_range: 'avg(aws_elb_latency_average{%{environment_filter}}) * 1000' + label: Average + unit: ms + - title: "HTTP Error Rate" + y_label: "Error Rate (%)" required_metrics: - - aws_elb_request_count_sum - - aws_elb_httpcode_backend_5_xx_sum + - aws_elb_request_count_sum + - aws_elb_httpcode_backend_5_xx_sum weight: 1 queries: - query_range: 'sum(aws_elb_httpcode_backend_5_xx_sum{%{environment_filter}}) / sum(aws_elb_request_count_sum{%{environment_filter}})' + label: HTTP Errors + unit: "%" +- group: NGINX + priority: 10 + metrics: + - title: "Throughput" + y_label: "Requests / Sec" + required_metrics: + - nginx_requests_total + weight: 1 + queries: + - query_range: 'sum(rate(nginx_requests_total{server_zone!="*", server_zone!="_", %{environment_filter}}[2m]))' + label: Total + unit: req / sec + - title: "Latency" + y_label: "Latency (ms)" + required_metrics: + - nginx_upstream_response_msecs_avg + weight: 1 + queries: + - query_range: 'avg(nginx_upstream_response_msecs_avg{%{environment_filter}}) * 1000' + label: Upstream + unit: ms + - title: "HTTP Error Rate" + y_label: "Error Rate (%)" + required_metrics: + - nginx_responses_total + weight: 1 + queries: + - query_range: 'sum(nginx_responses_total{status_code="5xx", %{environment_filter}}) / sum(nginx_responses_total{server_zone!="*", server_zone!="_", %{environment_filter}})' + label: HTTP Errors + unit: "%" - group: Kubernetes priority: 5 metrics: - - title: "Memory usage" - y_label: "Values" + - title: "Memory Usage" + y_label: "Memory Usage (MB)" required_metrics: - container_memory_usage_bytes weight: 1 queries: - - query_range: 'avg(container_memory_usage_bytes{%{environment_filter}}) / 2^20' - label: Container memory - unit: MiB - - title: "Current memory usage" - required_metrics: - - container_memory_usage_bytes - weight: 1 - queries: - - query: 'avg(container_memory_usage_bytes{%{environment_filter}}) / 2^20' - display_empty: false - unit: MiB - - title: "CPU usage" + - query_range: '(sum(container_memory_usage_bytes{container_name!="POD",%{environment_filter}}) / count(container_memory_usage_bytes{container_name!="POD",%{environment_filter}})) /1024/1024' + label: Average + unit: MB + - title: "CPU Utilization" + y_label: "CPU Utilization (%)" required_metrics: - container_cpu_usage_seconds_total weight: 1 queries: - - query_range: 'avg(rate(container_cpu_usage_seconds_total{%{environment_filter}}[2m])) by (cpu) * 100' - series: - label: cpu - - value: cpu00 - color: red - - value: cpu01 - color: blue - - title: "Current CPU usage" - required_metrics: - - container_cpu_usage_seconds_total - weight: 1 - queries: - - query: 'avg(rate(container_cpu_usage_seconds_total{%{environment_filter}}[2m])) * 100' + - query_range: 'sum(rate(container_cpu_usage_seconds_total{container_name!="POD",%{environment_filter}}[2m])) / count(container_cpu_usage_seconds_total{container_name!="POD",%{environment_filter}}) * 100' + label: Average + unit: "%"