NGINX

Metrics, Dashboards, Alerts and more for NGINX Integration in Sysdig Monitor.
NGINX

This integration is enabled by default.

Versions supported: > v12

This integration uses a sidecar exporter that is available in UBI or scratch base image.

This integration has 12 metrics.

Timeseries generated: 8 series per nginx container

List of Alerts

AlertDescriptionFormat
[Nginx] No Intances UpNo Nginx instances UpPrometheus

List of Dashboards

Nginx

The dashboard provides information on the status of the NGINX server and Golden Signals. Nginx

List of Metrics

Metric name
net.bytes.in
net.bytes.out
net.http.error.count
net.http.request.count
net.http.request.time
nginx_connections_accepted
nginx_connections_active
nginx_connections_handled
nginx_connections_reading
nginx_connections_waiting
nginx_connections_writing
nginx_up

Prerequisites

Enable Nginx stub_status Module

The exporter can be installed as a sidecar of the pod with the Nginx server. To make Nginx expose an endpoint for scraping metrics, enable the stub_status module. If your Nginx configuration is defined inside a Kubernetes ConfigMap, add the following snippet to enable the stub_status module:

server { listen 80; server_name localhost; location /nginx_status { stub_status on; access_log on; allow all; # REPLACE with your access policy } }

This is how the ConfigMap would look after adding this snippet:

apiVersion: v1 kind: ConfigMap metadata: name: nginx-config data: nginx.conf: | server { listen 80; server_name localhost; location /nginx_status { stub_status on; access_log on; allow all; # REPLACE with your access policy } }

Installation

An automated wizard is present in the Monitoring Integrations in Sysdig Monitor. Expert users can also use the Helm chart for installation: https://github.com/sysdiglabs/integrations-charts/tree/main/charts/nginx-exporter

Agent Configuration

The default agent job for this integration is as follows:

- job_name: nginx-default tls_config: insecure_skip_verify: true kubernetes_sd_configs: - role: pod relabel_configs: - action: keep source_labels: [__meta_kubernetes_pod_host_ip] regex: __HOSTIPS__ - action: keep source_labels: - __meta_kubernetes_pod_annotation_promcat_sysdig_com_integration_type regex: "nginx" - source_labels: [__meta_kubernetes_pod_phase] action: keep regex: Running - action: replace source_labels: [__address__, __meta_kubernetes_pod_annotation_promcat_sysdig_com_port] regex: ([^:]+)(?::\d+)?;(\d+) replacement: $1:$2 target_label: __address__ - action: replace source_labels: [__meta_kubernetes_pod_uid] target_label: sysdig_k8s_pod_uid - action: replace source_labels: [__meta_kubernetes_pod_container_name] target_label: sysdig_k8s_pod_container_name