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
Alert | Description | Format |
---|---|---|
[Nginx] No Intances Up | No Nginx instances Up | Prometheus |
List of Dashboards
Nginx
The dashboard provides information on the status of the NGINX server and Golden Signals.
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
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.