Commit aea8d02c authored by Mike Greiling's avatar Mike Greiling

Merge branch 'jl-fix-nginx-metrics' into 'master'

Fix nginx metric names

Closes #45163

See merge request gitlab-org/gitlab-ce!18770
parents 33e78f9e e03189f5
...@@ -103,10 +103,10 @@ ...@@ -103,10 +103,10 @@
- title: "Throughput" - title: "Throughput"
y_label: "Requests / Sec" y_label: "Requests / Sec"
required_metrics: required_metrics:
- nginx_responses_total - nginx_server_requests
weight: 1 weight: 1
queries: queries:
- query_range: 'sum(rate(nginx_responses_total{server_zone!="*", server_zone!="_", %{environment_filter}}[2m])) by (status_code)' - query_range: 'sum(rate(nginx_server_requests{server_zone!="*", server_zone!="_", %{environment_filter}}[2m])) by (code)'
unit: req / sec unit: req / sec
label: Status Code label: Status Code
series: series:
...@@ -121,19 +121,19 @@ ...@@ -121,19 +121,19 @@
- title: "Latency" - title: "Latency"
y_label: "Latency (ms)" y_label: "Latency (ms)"
required_metrics: required_metrics:
- nginx_upstream_response_msecs_avg - nginx_server_requestMsec
weight: 1 weight: 1
queries: queries:
- query_range: 'avg(nginx_upstream_response_msecs_avg{%{environment_filter}})' - query_range: 'avg(nginx_server_requestMsec{%{environment_filter}})'
label: Upstream label: Upstream
unit: ms unit: ms
- title: "HTTP Error Rate" - title: "HTTP Error Rate"
y_label: "HTTP 500 Errors / Sec" y_label: "HTTP 500 Errors / Sec"
required_metrics: required_metrics:
- nginx_responses_total - nginx_server_requests
weight: 1 weight: 1
queries: queries:
- query_range: 'sum(rate(nginx_responses_total{status_code="5xx", %{environment_filter}}[2m]))' - query_range: 'sum(rate(nginx_server_requests{code="5xx", %{environment_filter}}[2m]))'
label: HTTP Errors label: HTTP Errors
unit: "errors / sec" unit: "errors / sec"
- group: System metrics (Kubernetes) - group: System metrics (Kubernetes)
......
...@@ -10,17 +10,19 @@ The [Prometheus service](../prometheus.md) must be enabled. ...@@ -10,17 +10,19 @@ The [Prometheus service](../prometheus.md) must be enabled.
## Metrics supported ## Metrics supported
NGINX server metrics are detected, which tracks the pages and content directly served by NGINX.
| Name | Query | | Name | Query |
| ---- | ----- | | ---- | ----- |
| Throughput (req/sec) | sum(rate(nginx_responses_total{server_zone!="*", server_zone!="_", %{environment_filter}}[2m])) by (status_code) | | Throughput (req/sec) | sum(rate(nginx_server_requests{server_zone!="*", server_zone!="_", %{environment_filter}}[2m])) by (code) |
| Latency (ms) | avg(nginx_upstream_response_msecs_avg{%{environment_filter}}) | | Latency (ms) | avg(nginx_server_requestMsec{%{environment_filter}}) |
| HTTP Error Rate (HTTP Errors / sec) | rate(nginx_responses_total{status_code="5xx", %{environment_filter}}[2m])) | | HTTP Error Rate (HTTP Errors / sec) | sum(rate(nginx_server_requests{code="5xx", %{environment_filter}}[2m])) |
## Configuring Prometheus to monitor for NGINX metrics ## Configuring Prometheus to monitor for NGINX metrics
To get started with NGINX monitoring, you should first enable the [VTS statistics](https://github.com/vozlt/nginx-module-vts)) module for your NGINX server. This will capture and display statistics in an HTML readable form. Next, you should install and configure the [NGINX VTS exporter](https://github.com/hnlq715/nginx-vts-exporter) which parses these statistics and translates them into a Prometheus monitoring endpoint. To get started with NGINX monitoring, you should first enable the [VTS statistics](https://github.com/vozlt/nginx-module-vts)) module for your NGINX server. This will capture and display statistics in an HTML readable form. Next, you should install and configure the [NGINX VTS exporter](https://github.com/hnlq715/nginx-vts-exporter) which parses these statistics and translates them into a Prometheus monitoring endpoint.
If you are using NGINX as your Kubernetes ingress, there is [upcoming direct support](https://github.com/kubernetes/ingress/pull/423) for enabling Prometheus monitoring in the 0.9.0 release. If you are using NGINX as your Kubernetes ingress, GitLab will [automatically detect](nginx_ingress.md) the metrics once enabled in 0.9.0 and later releases.
## Specifying the Environment label ## Specifying the Environment label
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment