debian-mirror-gitlab/doc/user/project/integrations/prometheus_library/nginx.md

32 lines
2 KiB
Markdown
Raw Normal View History

2017-09-10 17:25:29 +05:30
# Monitoring NGINX
2018-03-17 18:26:18 +05:30
2020-03-13 15:44:24 +05:30
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12621) in GitLab 9.4
2017-09-10 17:25:29 +05:30
GitLab has support for automatically detecting and monitoring NGINX. This is provided by leveraging the [NGINX VTS exporter](https://github.com/hnlq715/nginx-vts-exporter), which translates [VTS statistics](https://github.com/vozlt/nginx-module-vts) into a Prometheus readable form.
2018-03-17 18:26:18 +05:30
## Requirements
2018-10-15 14:42:47 +05:30
The [Prometheus service](../prometheus.md) must be enabled.
2018-03-17 18:26:18 +05:30
2017-09-10 17:25:29 +05:30
## Metrics supported
2018-10-15 14:42:47 +05:30
NGINX server metrics are detected, which tracks the pages and content directly served by NGINX.
2017-09-10 17:25:29 +05:30
| Name | Query |
| ---- | ----- |
2019-09-30 21:07:59 +05:30
| Throughput (req/sec) | `sum(rate(nginx_server_requests{server_zone!="*", server_zone!="_", %{environment_filter}}[2m])) by (code)` |
| Latency (ms) | `avg(nginx_server_requestMsec{%{environment_filter}})` |
| HTTP Error Rate (HTTP Errors / sec) | `sum(rate(nginx_server_requests{code="5xx", %{environment_filter}}[2m]))` |
2020-04-22 19:07:51 +05:30
| HTTP Error (%)| `sum(rate(nginx_server_requests{code=~"5.*", host="*", %{environment_filter}}[2m])) / sum(rate(nginx_server_requests{code="total", host="*", %{environment_filter}}[2m])) * 100` |
2017-09-10 17:25:29 +05:30
## Configuring Prometheus to monitor for NGINX metrics
2020-03-13 15:44:24 +05:30
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.
2017-09-10 17:25:29 +05:30
2020-01-01 13:55:28 +05:30
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.
2017-09-10 17:25:29 +05:30
## Specifying the Environment label
In order to isolate and only display relevant metrics for a given environment
2019-02-15 15:39:39 +05:30
however, GitLab needs a method to detect which labels are associated. To do this, GitLab will [look for an `environment` label](index.md#identifying-environments).