master
go 44 lines 1.02 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package haproxy
4
5 import (
6 "errors"
7
8 "github.com/netdata/netdata/go/plugins/pkg/prometheus"
9 "github.com/netdata/netdata/go/plugins/pkg/prometheus/selector"
10 "github.com/netdata/netdata/go/plugins/pkg/web"
11 )
12
13 func (c *Collector) validateConfig() error {
14 if c.URL == "" {
15 return errors.New("'url' is not set")
16 }
17 if _, err := web.NewHTTPRequest(c.RequestConfig); err != nil {
18 return err
19 }
20 return nil
21 }
22
23 func (c *Collector) initPrometheusClient() (prometheus.Prometheus, error) {
24 httpClient, err := web.NewHTTPClient(c.ClientConfig)
25 if err != nil {
26 return nil, err
27 }
28
29 prom := prometheus.NewWithSelector(httpClient, c.RequestConfig, sr)
30 return prom, nil
31 }
32
33 var sr, _ = selector.Expr{
34 Allow: []string{
35 metricBackendHTTPResponsesTotal,
36 metricBackendCurrentQueue,
37 metricBackendQueueTimeAverageSeconds,
38 metricBackendBytesInTotal,
39 metricBackendResponseTimeAverageSeconds,
40 metricBackendSessionsTotal,
41 metricBackendCurrentSessions,
42 metricBackendBytesOutTotal,
43 },
44 }.Parse()