Skip to content

Commit 1db0d9c

Browse files
committed
remove old log
1 parent f1b02a8 commit 1db0d9c

File tree

3 files changed

+42
-39
lines changed

3 files changed

+42
-39
lines changed

collector/nginx.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package collector
22

33
import (
4-
"log"
54
"sync"
65

6+
"github.com/go-kit/log"
7+
"github.com/go-kit/log/level"
78
"github.com/nginxinc/nginx-prometheus-exporter/client"
89
"github.com/prometheus/client_golang/prometheus"
910
)
@@ -14,12 +15,14 @@ type NginxCollector struct {
1415
metrics map[string]*prometheus.Desc
1516
upMetric prometheus.Gauge
1617
mutex sync.Mutex
18+
logger log.Logger
1719
}
1820

1921
// NewNginxCollector creates an NginxCollector.
20-
func NewNginxCollector(nginxClient *client.NginxClient, namespace string, constLabels map[string]string) *NginxCollector {
22+
func NewNginxCollector(nginxClient *client.NginxClient, namespace string, constLabels map[string]string, logger log.Logger) *NginxCollector {
2123
return &NginxCollector{
2224
nginxClient: nginxClient,
25+
logger: logger,
2326
metrics: map[string]*prometheus.Desc{
2427
"connections_active": newGlobalMetric(namespace, "connections_active", "Active client connections", constLabels),
2528
"connections_accepted": newGlobalMetric(namespace, "connections_accepted", "Accepted client connections", constLabels),
@@ -52,7 +55,7 @@ func (c *NginxCollector) Collect(ch chan<- prometheus.Metric) {
5255
if err != nil {
5356
c.upMetric.Set(nginxDown)
5457
ch <- c.upMetric
55-
log.Printf("Error getting stats: %v", err)
58+
level.Error(c.logger).Log("msg", "Error getting stats", "error", err.Error())
5659
return
5760
}
5861

collector/nginx_plus.go

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ package collector
22

33
import (
44
"fmt"
5-
"log"
65
"sync"
76

7+
"github.com/go-kit/log"
8+
"github.com/go-kit/log/level"
89
plusclient "github.com/nginxinc/nginx-plus-go-client/client"
910
"github.com/prometheus/client_golang/prometheus"
1011
)
@@ -51,6 +52,7 @@ type NginxPlusCollector struct {
5152
upstreamServerPeerLabels map[string][]string
5253
streamUpstreamServerPeerLabels map[string][]string
5354
variableLabelsMutex sync.RWMutex
55+
logger log.Logger
5456
}
5557

5658
// UpdateUpstreamServerPeerLabels updates the Upstream Server Peer Labels
@@ -222,7 +224,7 @@ func NewVariableLabelNames(upstreamServerVariableLabelNames []string, serverZone
222224
}
223225

224226
// NewNginxPlusCollector creates an NginxPlusCollector.
225-
func NewNginxPlusCollector(nginxClient *plusclient.NginxClient, namespace string, variableLabelNames VariableLabelNames, constLabels map[string]string) *NginxPlusCollector {
227+
func NewNginxPlusCollector(nginxClient *plusclient.NginxClient, namespace string, variableLabelNames VariableLabelNames, constLabels map[string]string, logger log.Logger) *NginxPlusCollector {
226228
upstreamServerVariableLabelNames := append(variableLabelNames.UpstreamServerVariableLabelNames, variableLabelNames.UpstreamServerPeerVariableLabelNames...)
227229
streamUpstreamServerVariableLabelNames := append(variableLabelNames.StreamUpstreamServerVariableLabelNames, variableLabelNames.StreamUpstreamServerPeerVariableLabelNames...)
228230
return &NginxPlusCollector{
@@ -234,6 +236,7 @@ func NewNginxPlusCollector(nginxClient *plusclient.NginxClient, namespace string
234236
streamUpstreamServerPeerLabels: make(map[string][]string),
235237
streamUpstreamServerLabels: make(map[string][]string),
236238
nginxClient: nginxClient,
239+
logger: logger,
237240
totalMetrics: map[string]*prometheus.Desc{
238241
"connections_accepted": newGlobalMetric(namespace, "connections_accepted", "Accepted client connections", constLabels),
239242
"connections_dropped": newGlobalMetric(namespace, "connections_dropped", "Dropped client connections", constLabels),
@@ -551,7 +554,7 @@ func (c *NginxPlusCollector) Collect(ch chan<- prometheus.Metric) {
551554
if err != nil {
552555
c.upMetric.Set(nginxDown)
553556
ch <- c.upMetric
554-
log.Printf("Error getting stats: %v", err)
557+
level.Warn(c.logger).Log("msg", "Error getting stats", "error", err.Error())
555558
return
556559
}
557560

@@ -582,8 +585,7 @@ func (c *NginxPlusCollector) Collect(ch chan<- prometheus.Metric) {
582585
varLabelValues := c.getServerZoneLabelValues(name)
583586

584587
if c.variableLabelNames.ServerZoneVariableLabelNames != nil && len(varLabelValues) != len(c.variableLabelNames.ServerZoneVariableLabelNames) {
585-
log.Printf("wrong number of labels for http zone %v. For labels %v, got values: %v. Empty labels will be used instead",
586-
name, c.variableLabelNames.ServerZoneVariableLabelNames, varLabelValues)
588+
level.Warn(c.logger).Log("msg", "wrong number of labels for http zone, empty labels will be used instead", "zone", name, "expected", len(c.variableLabelNames.ServerZoneVariableLabelNames), "got", len(varLabelValues))
587589
for range c.variableLabelNames.ServerZoneVariableLabelNames {
588590
labelValues = append(labelValues, "")
589591
}
@@ -704,8 +706,7 @@ func (c *NginxPlusCollector) Collect(ch chan<- prometheus.Metric) {
704706
varLabelValues := c.getStreamServerZoneLabelValues(name)
705707

706708
if c.variableLabelNames.StreamServerZoneVariableLabelNames != nil && len(varLabelValues) != len(c.variableLabelNames.StreamServerZoneVariableLabelNames) {
707-
log.Printf("wrong number of labels for stream server zone %v. For labels %v, got values: %v. Empty labels will be used instead",
708-
name, c.variableLabelNames.StreamServerZoneVariableLabelNames, varLabelValues)
709+
level.Warn(c.logger).Log("msg", "wrong number of labels for stream server zone, empty labels will be used instead", "zone", name, "expected", len(c.variableLabelNames.StreamServerZoneVariableLabelNames), "got", len(varLabelValues))
709710
for range c.variableLabelNames.StreamServerZoneVariableLabelNames {
710711
labelValues = append(labelValues, "")
711712
}
@@ -742,8 +743,7 @@ func (c *NginxPlusCollector) Collect(ch chan<- prometheus.Metric) {
742743
varLabelValues := c.getUpstreamServerLabelValues(name)
743744

744745
if c.variableLabelNames.UpstreamServerVariableLabelNames != nil && len(varLabelValues) != len(c.variableLabelNames.UpstreamServerVariableLabelNames) {
745-
log.Printf("wrong number of labels for upstream %v. For labels %v, got values: %v. Empty labels will be used instead",
746-
name, c.variableLabelNames.UpstreamServerVariableLabelNames, varLabelValues)
746+
level.Warn(c.logger).Log("msg", "wrong number of labels for upstream, empty labels will be used instead", "upstream", name, "expected", len(c.variableLabelNames.UpstreamServerVariableLabelNames), "got", len(varLabelValues))
747747
for range c.variableLabelNames.UpstreamServerVariableLabelNames {
748748
labelValues = append(labelValues, "")
749749
}
@@ -754,8 +754,7 @@ func (c *NginxPlusCollector) Collect(ch chan<- prometheus.Metric) {
754754
upstreamServer := fmt.Sprintf("%v/%v", name, peer.Server)
755755
varPeerLabelValues := c.getUpstreamServerPeerLabelValues(upstreamServer)
756756
if c.variableLabelNames.UpstreamServerPeerVariableLabelNames != nil && len(varPeerLabelValues) != len(c.variableLabelNames.UpstreamServerPeerVariableLabelNames) {
757-
log.Printf("wrong number of labels for upstream peer %v. For labels %v, got values: %v. Empty labels will be used instead",
758-
peer.Server, c.variableLabelNames.UpstreamServerPeerVariableLabelNames, varPeerLabelValues)
757+
level.Warn(c.logger).Log("msg", "wrong number of labels for upstream peer, empty labels will be used instead", "upstream", name, "peer", peer.Server, "expected", len(c.variableLabelNames.UpstreamServerPeerVariableLabelNames), "got", len(varPeerLabelValues))
759758
for range c.variableLabelNames.UpstreamServerPeerVariableLabelNames {
760759
labelValues = append(labelValues, "")
761760
}
@@ -901,8 +900,7 @@ func (c *NginxPlusCollector) Collect(ch chan<- prometheus.Metric) {
901900
varLabelValues := c.getStreamUpstreamServerLabelValues(name)
902901

903902
if c.variableLabelNames.StreamUpstreamServerVariableLabelNames != nil && len(varLabelValues) != len(c.variableLabelNames.StreamUpstreamServerVariableLabelNames) {
904-
log.Printf("wrong number of labels for stream server %v. For labels %v, got values: %v. Empty labels will be used instead",
905-
name, c.variableLabelNames.StreamUpstreamServerVariableLabelNames, varLabelValues)
903+
level.Warn(c.logger).Log("msg", "wrong number of labels for stream server, empty labels will be used instead", "server", name, "labels", c.variableLabelNames.StreamUpstreamServerVariableLabelNames, "values", varLabelValues)
906904
for range c.variableLabelNames.StreamUpstreamServerVariableLabelNames {
907905
labelValues = append(labelValues, "")
908906
}
@@ -913,8 +911,7 @@ func (c *NginxPlusCollector) Collect(ch chan<- prometheus.Metric) {
913911
upstreamServer := fmt.Sprintf("%v/%v", name, peer.Server)
914912
varPeerLabelValues := c.getStreamUpstreamServerPeerLabelValues(upstreamServer)
915913
if c.variableLabelNames.StreamUpstreamServerPeerVariableLabelNames != nil && len(varPeerLabelValues) != len(c.variableLabelNames.StreamUpstreamServerPeerVariableLabelNames) {
916-
log.Printf("wrong number of labels for stream upstream peer %v. For labels %v, got values: %v. Empty labels will be used instead",
917-
peer.Server, c.variableLabelNames.StreamUpstreamServerPeerVariableLabelNames, varPeerLabelValues)
914+
level.Warn(c.logger).Log("msg", "wrong number of labels for stream upstream peer, empty labels will be used instead", "server", upstreamServer, "labels", c.variableLabelNames.StreamUpstreamServerPeerVariableLabelNames, "values", varPeerLabelValues)
918915
for range c.variableLabelNames.StreamUpstreamServerPeerVariableLabelNames {
919916
labelValues = append(labelValues, "")
920917
}

exporter.go

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import (
55
"crypto/tls"
66
"crypto/x509"
77
"fmt"
8-
"log"
98
"net"
109
"net/http"
1110
"os"
@@ -19,6 +18,7 @@ import (
1918
"github.com/nginxinc/nginx-prometheus-exporter/collector"
2019

2120
"github.com/alecthomas/kingpin/v2"
21+
"github.com/go-kit/log"
2222
"github.com/go-kit/log/level"
2323
"github.com/prometheus/client_golang/prometheus"
2424
"github.com/prometheus/client_golang/prometheus/promhttp"
@@ -57,7 +57,7 @@ func createPositiveDurationFlag(s kingpin.Settings) (target *time.Duration) {
5757
return
5858
}
5959

60-
func createClientWithRetries(getClient func() (interface{}, error), retries uint, retryInterval time.Duration) (interface{}, error) {
60+
func createClientWithRetries(getClient func() (interface{}, error), retries uint, retryInterval time.Duration, logger log.Logger) (interface{}, error) {
6161
var err error
6262
var nginxClient interface{}
6363

@@ -67,7 +67,7 @@ func createClientWithRetries(getClient func() (interface{}, error), retries uint
6767
return nginxClient, nil
6868
}
6969
if i < int(retries) {
70-
log.Printf("Could not create Nginx Client. Retrying in %v...", retryInterval)
70+
level.Error(logger).Log("msg", fmt.Sprintf("Could not create Nginx Client. Retrying in %v...", retryInterval))
7171
time.Sleep(retryInterval)
7272
}
7373
}
@@ -107,7 +107,6 @@ func getListener(listenAddress string) (net.Listener, error) {
107107
if err != nil {
108108
return listener, err
109109
}
110-
log.Printf("Listening on %s", listenAddress)
111110
return listener, nil
112111
}
113112

@@ -155,7 +154,7 @@ func main() {
155154
if *sslCaCert != "" {
156155
caCert, err := os.ReadFile(*sslCaCert)
157156
if err != nil {
158-
level.Error(logger).Log("msg", "Loading CA cert failed", "err", err)
157+
level.Error(logger).Log("msg", "Loading CA cert failed", "err", err.Error())
159158
os.Exit(1)
160159
}
161160
sslCaCertPool := x509.NewCertPool()
@@ -170,7 +169,7 @@ func main() {
170169
if *sslClientCert != "" && *sslClientKey != "" {
171170
clientCert, err := tls.LoadX509KeyPair(*sslClientCert, *sslClientKey)
172171
if err != nil {
173-
level.Error(logger).Log("msg", "Loading client certificate failed: %v", err)
172+
level.Error(logger).Log("msg", "Loading client certificate failed", "error", err.Error())
174173
os.Exit(1)
175174
}
176175
sslConfig.Certificates = []tls.Certificate{clientCert}
@@ -182,7 +181,7 @@ func main() {
182181
if strings.HasPrefix(*scrapeURI, "unix:") {
183182
socketPath, requestPath, err := parseUnixSocketAddress(*scrapeURI)
184183
if err != nil {
185-
level.Error(logger).Log("msg", "Parsing unix domain socket scrape address %s failed: %v", *scrapeURI, err)
184+
level.Error(logger).Log("msg", "Parsing unix domain socket scrape address failed", "uri", *scrapeURI, "error", err.Error())
186185
os.Exit(1)
187186
}
188187

@@ -211,10 +210,10 @@ func main() {
211210
signalChan := make(chan os.Signal, 1)
212211
signal.Notify(signalChan, os.Interrupt, syscall.SIGTERM)
213212
go func() {
214-
log.Printf("Signal received: %v. Exiting...", <-signalChan)
213+
level.Info(logger).Log("msg", "Signal received, exiting...", "signal", <-signalChan)
215214
err := srv.Close()
216215
if err != nil {
217-
level.Error(logger).Log("msg", "Error occurred while closing the server", "err", err)
216+
level.Error(logger).Log("msg", "Error occurred while closing the server", "error", err.Error())
218217
os.Exit(1)
219218
}
220219
os.Exit(0)
@@ -223,22 +222,22 @@ func main() {
223222
if *nginxPlus {
224223
plusClient, err := createClientWithRetries(func() (interface{}, error) {
225224
return plusclient.NewNginxClient(httpClient, *scrapeURI)
226-
}, *nginxRetries, *nginxRetryInterval)
225+
}, *nginxRetries, *nginxRetryInterval, logger)
227226
if err != nil {
228-
level.Error(logger).Log("msg", "Could not create Nginx Plus Client: %v", err)
227+
level.Error(logger).Log("msg", "Could not create Nginx Plus Client", "error", err.Error())
229228
os.Exit(1)
230229
}
231230
variableLabelNames := collector.NewVariableLabelNames(nil, nil, nil, nil, nil, nil)
232-
prometheus.MustRegister(collector.NewNginxPlusCollector(plusClient.(*plusclient.NginxClient), "nginxplus", variableLabelNames, constLabels))
231+
prometheus.MustRegister(collector.NewNginxPlusCollector(plusClient.(*plusclient.NginxClient), "nginxplus", variableLabelNames, constLabels, logger))
233232
} else {
234233
ossClient, err := createClientWithRetries(func() (interface{}, error) {
235234
return client.NewNginxClient(httpClient, *scrapeURI)
236-
}, *nginxRetries, *nginxRetryInterval)
235+
}, *nginxRetries, *nginxRetryInterval, logger)
237236
if err != nil {
238-
level.Error(logger).Log("msg", "Could not create Nginx Client: %v", err)
237+
level.Error(logger).Log("msg", "Could not create Nginx Client", "error", err.Error())
239238
os.Exit(1)
240239
}
241-
prometheus.MustRegister(collector.NewNginxCollector(ossClient.(*client.NginxClient), "nginx", constLabels))
240+
prometheus.MustRegister(collector.NewNginxCollector(ossClient.(*client.NginxClient), "nginx", constLabels, logger))
242241
}
243242

244243
http.Handle(*metricsPath, promhttp.Handler())
@@ -250,35 +249,39 @@ func main() {
250249
<p><a href=%q>Metrics</a></p>`,
251250
*metricsPath)
252251
if err != nil {
253-
level.Error(logger).Log("msg", "Error while sending a response for the '/' path: %v", err)
252+
level.Error(logger).Log("msg", "Error while sending a response for the '/' path", "error", err.Error())
254253
os.Exit(1)
255254
}
256255
})
257256

258257
listener, err := getListener(*listenAddr)
259258
if err != nil {
260-
level.Error(logger).Log("msg", "Could not create listener: %v", err)
259+
level.Error(logger).Log("msg", "Could not create listener", "error", err.Error())
261260
os.Exit(1)
262261
}
262+
level.Info(logger).Log("msg", "Listening on address", "address", *listenAddr)
263263

264264
if *securedMetrics {
265265
_, err = os.Stat(*sslServerCert)
266266
if err != nil {
267-
level.Error(logger).Log("msg", "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)
267+
level.Error(logger).Log("msg", "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", "error", err.Error())
268268
os.Exit(1)
269269
}
270270
_, err = os.Stat(*sslServerKey)
271271
if err != nil {
272-
level.Error(logger).Log("msg", "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)
272+
level.Error(logger).Log("msg", "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", "error", err.Error())
273273
os.Exit(1)
274274
}
275275
level.Info(logger).Log("msg", "NGINX Prometheus Exporter has successfully started using https")
276-
log.Fatal(srv.ServeTLS(listener, *sslServerCert, *sslServerKey))
276+
if err := srv.ServeTLS(listener, *sslServerCert, *sslServerKey); err != nil {
277+
level.Error(logger).Log("msg", "Error while serving", "error", err.Error())
278+
os.Exit(1)
279+
}
277280
}
278281

279282
level.Info(logger).Log("msg", "NGINX Prometheus Exporter has successfully started")
280283
if err := srv.Serve(listener); err != nil {
281-
level.Error(logger).Log("msg", "Error while serving: %v", err)
284+
level.Error(logger).Log("msg", "Error while serving", "error", err.Error())
282285
os.Exit(1)
283286
}
284287
}

0 commit comments

Comments
 (0)