gitlab-org--gitlab-foss/doc/user/project/integrations/prometheus_library/nginx.md

29 lines
1.8 KiB
Markdown
Raw Normal View History

2017-07-16 22:10:22 -04:00
# Monitoring NGINX
2017-07-16 22:10:22 -04:00
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12621) in GitLab 9.4
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.
## Requirements
2018-04-11 08:25:29 -04:00
The [Prometheus service](../prometheus.md) must be enabled.
2017-07-16 22:10:22 -04:00
## Metrics supported
| Name | Query |
| ---- | ----- |
2018-05-07 00:46:10 -04:00
| 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])) |
2017-07-16 22:10:22 -04:00
## 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.
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.
## Specifying the Environment label
In order to isolate and only display relevant metrics for a given environment
however, GitLab needs a method to detect which labels are associated. To do this, GitLab will [look for an `environment` label](metrics.md#identifying-environments).