You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,7 +92,13 @@ Usage of ./nginx-prometheus-exporter:
92
92
-web.listen-address string
93
93
An address or unix domain socket path to listen on for web interface and telemetry. The default value can be overwritten by LISTEN_ADDRESS environment variable. (default ":9113")
94
94
-web.telemetry-path string
95
-
A path under which to expose metrics. The default value can be overwritten by TELEMETRY_PATH environment variable. (default "/metrics")
95
+
A path under which to expose metrics. The default value can be overwritten by TELEMETRY_PATH environment variable. (default "/metrics")
96
+
-web.secured-metrics
97
+
Expose metrics using https. The default value can be overwritten by SECURED_METRICS variable. (default false)
98
+
-web.ssl-server-cert string
99
+
Path to the PEM encoded certificate for the nginx-exporter metrics server(when web.secured-metrics=true). The default value can be overwritten by SSL_SERVER_CERT variable.
100
+
-web.ssl-server-key string
101
+
Path to the PEM encoded key for the nginx-exporter metrics server (when web.secured-metrics=true). The default value can be overwritten by SSL_SERVER_KEY variable.
96
102
-version
97
103
Display the NGINX exporter version. (default false)
"An address or unix domain socket path to listen on for web interface and telemetry. The default value can be overwritten by LISTEN_ADDRESS environment variable.")
245
+
securedMetrics=flag.Bool("web.secured-metrics",
246
+
defaultSecuredMetrics,
247
+
"Expose metrics using https. The default value can be overwritten by SECURED_METRICS variable.")
248
+
sslServerCert=flag.String("web.ssl-server-cert",
249
+
defaultSslServerCert,
250
+
"Path to the PEM encoded certificate for the nginx-exporter metrics server(when web.secured-metrics=true). The default value can be overwritten by SSL_SERVER_CERT variable.")
251
+
sslServerKey=flag.String("web.ssl-server-key",
252
+
defaultSslServerKey,
253
+
"Path to the PEM encoded key for the nginx-exporter metrics server (when web.secured-metrics=true). The default value can be overwritten by SSL_SERVER_KEY variable.")
242
254
metricsPath=flag.String("web.telemetry-path",
243
255
defaultMetricsPath,
244
256
"A path under which to expose metrics. The default value can be overwritten by TELEMETRY_PATH environment variable.")
@@ -409,8 +421,22 @@ func main() {
409
421
log.Fatalf("Could not create listener: %v", err)
410
422
}
411
423
412
-
log.Printf("NGINX Prometheus Exporter has successfully started")
413
-
log.Fatal(srv.Serve(listener))
424
+
if*securedMetrics {
425
+
_, err=os.Stat(*sslServerCert)
426
+
iferr!=nil {
427
+
log.Fatalf("Cert file is not set, not readable or non-existent. Make sure you set -web.ssl-server-cert when starting your exporter with -web.secured-metrics=true: %v", err)
428
+
}
429
+
_, err=os.Stat(*sslServerKey)
430
+
iferr!=nil {
431
+
log.Fatalf("Key file is not set, not readable or non-existent. Make sure you set -web.ssl-server-key when starting your exporter with -web.secured-metrics=true: %v", err)
432
+
}
433
+
log.Printf("NGINX Prometheus Exporter has successfully started using https")
0 commit comments