diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 11:19:16 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 12:07:37 +0000 |
commit | b485aab7e71c1625cfc27e0f92c9509f42378458 (patch) | |
tree | ae9abe108601079d1679194de237c9a435ae5b55 /src/go/collectors/go.d.plugin/modules/prometheus | |
parent | Adding upstream version 1.44.3. (diff) | |
download | netdata-b485aab7e71c1625cfc27e0f92c9509f42378458.tar.xz netdata-b485aab7e71c1625cfc27e0f92c9509f42378458.zip |
Adding upstream version 1.45.3+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/go/collectors/go.d.plugin/modules/prometheus')
291 files changed, 92353 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/README.md b/src/go/collectors/go.d.plugin/modules/prometheus/README.md new file mode 120000 index 000000000..13e59d14d --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/README.md @@ -0,0 +1 @@ +integrations/prometheus_endpoint.md
\ No newline at end of file diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/cache.go b/src/go/collectors/go.d.plugin/modules/prometheus/cache.go new file mode 100644 index 000000000..7fc34f8c6 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/cache.go @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +package prometheus + +import ( + "github.com/netdata/netdata/go/go.d.plugin/agent/module" +) + +func newCache() *cache { + return &cache{entries: make(map[string]*cacheEntry)} +} + +type ( + cache struct { + entries map[string]*cacheEntry + } + + cacheEntry struct { + seen bool + notSeenTimes int + charts []*module.Chart + } +) + +func (c *cache) hasP(key string) bool { + v, ok := c.entries[key] + if !ok { + v = &cacheEntry{} + c.entries[key] = v + } + v.seen = true + v.notSeenTimes = 0 + + return ok +} + +func (c *cache) addChart(key string, chart *module.Chart) { + if v, ok := c.entries[key]; ok { + v.charts = append(v.charts, chart) + } +} diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/charts.go b/src/go/collectors/go.d.plugin/modules/prometheus/charts.go new file mode 100644 index 000000000..61e8031d7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/charts.go @@ -0,0 +1,302 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +package prometheus + +import ( + "fmt" + "strings" + + "github.com/netdata/netdata/go/go.d.plugin/agent/module" + "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus" + + "github.com/prometheus/prometheus/model/labels" +) + +const ( + prioDefault = module.Priority + prioGORuntime = prioDefault + 10 +) + +func (p *Prometheus) addGaugeChart(id, name, help string, labels labels.Labels) { + units := getChartUnits(name) + + cType := module.Line + if strings.HasSuffix(units, "bytes") { + cType = module.Area + } + + chart := &module.Chart{ + ID: id, + Title: getChartTitle(name, help), + Units: units, + Fam: getChartFamily(name), + Ctx: getChartContext(p.application(), name), + Type: cType, + Priority: getChartPriority(name), + Dims: module.Dims{ + {ID: id, Name: name, Div: precision}, + }, + } + + for _, lbl := range labels { + chart.Labels = append(chart.Labels, + module.Label{Key: lbl.Name, Value: lbl.Value}, + ) + } + + if err := p.Charts().Add(chart); err != nil { + p.Warning(err) + return + } + + p.cache.addChart(id, chart) +} + +func (p *Prometheus) addCounterChart(id, name, help string, labels labels.Labels) { + units := getChartUnits(name) + + switch units { + case "seconds", "time": + default: + units += "/s" + } + + cType := module.Line + if strings.HasSuffix(units, "bytes/s") { + cType = module.Area + } + + chart := &module.Chart{ + ID: id, + Title: getChartTitle(name, help), + Units: units, + Fam: getChartFamily(name), + Ctx: getChartContext(p.application(), name), + Type: cType, + Priority: getChartPriority(name), + Dims: module.Dims{ + {ID: id, Name: name, Algo: module.Incremental, Div: precision}, + }, + } + for _, lbl := range labels { + chart.Labels = append(chart.Labels, + module.Label{Key: lbl.Name, Value: lbl.Value}, + ) + } + + if err := p.Charts().Add(chart); err != nil { + p.Warning(err) + return + } + + p.cache.addChart(id, chart) +} + +func (p *Prometheus) addSummaryCharts(id, name, help string, labels labels.Labels, quantiles []prometheus.Quantile) { + units := getChartUnits(name) + + switch units { + case "seconds", "time": + default: + units += "/s" + } + + charts := module.Charts{ + { + ID: id, + Title: getChartTitle(name, help), + Units: units, + Fam: getChartFamily(name), + Ctx: getChartContext(p.application(), name), + Priority: getChartPriority(name), + Dims: func() (dims module.Dims) { + for _, v := range quantiles { + s := formatFloat(v.Quantile()) + dims = append(dims, &module.Dim{ + ID: fmt.Sprintf("%s_quantile=%s", id, s), + Name: fmt.Sprintf("quantile_%s", s), + Div: precision * precision, + }) + } + return dims + }(), + }, + { + ID: id + "_sum", + Title: getChartTitle(name, help), + Units: units, + Fam: getChartFamily(name), + Ctx: getChartContext(p.application(), name) + "_sum", + Priority: getChartPriority(name), + Dims: module.Dims{ + {ID: id + "_sum", Name: name + "_sum", Algo: module.Incremental, Div: precision}, + }, + }, + { + ID: id + "_count", + Title: getChartTitle(name, help), + Units: "events/s", + Fam: getChartFamily(name), + Ctx: getChartContext(p.application(), name) + "_count", + Priority: getChartPriority(name), + Dims: module.Dims{ + {ID: id + "_count", Name: name + "_count", Algo: module.Incremental}, + }, + }, + } + + for _, chart := range charts { + for _, lbl := range labels { + chart.Labels = append(chart.Labels, module.Label{Key: lbl.Name, Value: lbl.Value}) + } + if err := p.Charts().Add(chart); err != nil { + p.Warning(err) + continue + } + p.cache.addChart(id, chart) + } +} + +func (p *Prometheus) addHistogramCharts(id, name, help string, labels labels.Labels, buckets []prometheus.Bucket) { + units := getChartUnits(name) + + switch units { + case "seconds", "time": + default: + units += "/s" + } + + charts := module.Charts{ + { + ID: id, + Title: getChartTitle(name, help), + Units: "observations/s", + Fam: getChartFamily(name), + Ctx: getChartContext(p.application(), name), + Priority: getChartPriority(name), + Dims: func() (dims module.Dims) { + for _, v := range buckets { + s := formatFloat(v.UpperBound()) + dims = append(dims, &module.Dim{ + ID: fmt.Sprintf("%s_bucket=%s", id, s), + Name: fmt.Sprintf("bucket_%s", s), + Algo: module.Incremental, + }) + } + return dims + }(), + }, + { + ID: id + "_sum", + Title: getChartTitle(name, help), + Units: units, + Fam: getChartFamily(name), + Ctx: getChartContext(p.application(), name) + "_sum", + Priority: getChartPriority(name), + Dims: module.Dims{ + {ID: id + "_sum", Name: name + "_sum", Algo: module.Incremental, Div: precision}, + }, + }, + { + ID: id + "_count", + Title: getChartTitle(name, help), + Units: "events/s", + Fam: getChartFamily(name), + Ctx: getChartContext(p.application(), name) + "_count", + Priority: getChartPriority(name), + Dims: module.Dims{ + {ID: id + "_count", Name: name + "_count", Algo: module.Incremental}, + }, + }, + } + + for _, chart := range charts { + for _, lbl := range labels { + chart.Labels = append(chart.Labels, module.Label{Key: lbl.Name, Value: lbl.Value}) + } + if err := p.Charts().Add(chart); err != nil { + p.Warning(err) + continue + } + p.cache.addChart(id, chart) + } +} + +func (p *Prometheus) application() string { + if p.Application != "" { + return p.Application + } + return p.Name +} + +func getChartTitle(name, help string) string { + if help == "" { + return fmt.Sprintf("Metric \"%s\"", name) + } + + help = strings.Replace(help, "'", "", -1) + help = strings.TrimSuffix(help, ".") + + return help +} + +func getChartContext(app, name string) string { + if app == "" { + return fmt.Sprintf("prometheus.%s", name) + } + return fmt.Sprintf("prometheus.%s.%s", app, name) +} + +func getChartFamily(metric string) (fam string) { + if strings.HasPrefix(metric, "go_") { + return "go" + } + if strings.HasPrefix(metric, "process_") { + return "process" + } + if parts := strings.SplitN(metric, "_", 3); len(parts) < 3 { + fam = metric + } else { + fam = parts[0] + "_" + parts[1] + } + + // remove number suffix if any + // load1, load5, load15 => load + i := len(fam) - 1 + for i >= 0 && fam[i] >= '0' && fam[i] <= '9' { + i-- + } + if i > 0 { + return fam[:i+1] + } + return fam +} + +func getChartUnits(metric string) string { + // https://prometheus.io/docs/practices/naming/#metric-names + // ...must have a single unit (i.e. do not mix seconds with milliseconds, or seconds with bytes). + // ...should have a suffix describing the unit, in plural form. + // Note that an accumulating count has total as a suffix, in addition to the unit if applicable + + idx := strings.LastIndexByte(metric, '_') + if idx == -1 { + return "events" + } + switch suffix := metric[idx:]; suffix { + case "_total", "_sum", "_count": + return getChartUnits(metric[:idx]) + } + switch units := metric[idx+1:]; units { + case "hertz": + return "Hz" + default: + return units + } +} + +func getChartPriority(name string) int { + if strings.HasPrefix(name, "go_") || strings.HasPrefix(name, "process_") { + return prioGORuntime + } + return prioDefault +} diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/collect.go b/src/go/collectors/go.d.plugin/modules/prometheus/collect.go new file mode 100644 index 000000000..7fa904404 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/collect.go @@ -0,0 +1,273 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +package prometheus + +import ( + "fmt" + "math" + "strconv" + "strings" + + "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus" + + "github.com/prometheus/common/model" + "github.com/prometheus/prometheus/model/labels" +) + +const ( + precision = 1000 +) + +func (p *Prometheus) collect() (map[string]int64, error) { + mfs, err := p.prom.Scrape() + if err != nil { + return nil, err + } + + if mfs.Len() == 0 { + p.Warningf("endpoint '%s' returned 0 metric families", p.URL) + return nil, nil + } + + // TODO: shouldn't modify the value from Config + if p.ExpectedPrefix != "" { + if !hasPrefix(mfs, p.ExpectedPrefix) { + return nil, fmt.Errorf("'%s' metrics have no expected prefix (%s)", p.URL, p.ExpectedPrefix) + } + p.ExpectedPrefix = "" + } + + // TODO: shouldn't modify the value from Config + if p.MaxTS > 0 { + if n := calcMetrics(mfs); n > p.MaxTS { + return nil, fmt.Errorf("'%s' num of time series (%d) > limit (%d)", p.URL, n, p.MaxTS) + } + p.MaxTS = 0 + } + + mx := make(map[string]int64) + + p.resetCache() + defer p.removeStaleCharts() + + for _, mf := range mfs { + if strings.HasSuffix(mf.Name(), "_info") { + continue + } + if p.MaxTSPerMetric > 0 && len(mf.Metrics()) > p.MaxTSPerMetric { + p.Debugf("metric '%s' num of time series (%d) > limit (%d), skipping it", + mf.Name(), len(mf.Metrics()), p.MaxTSPerMetric) + continue + } + + switch mf.Type() { + case model.MetricTypeGauge: + p.collectGauge(mx, mf) + case model.MetricTypeCounter: + p.collectCounter(mx, mf) + case model.MetricTypeSummary: + p.collectSummary(mx, mf) + case model.MetricTypeHistogram: + p.collectHistogram(mx, mf) + case model.MetricTypeUnknown: + p.collectUntyped(mx, mf) + } + } + + return mx, nil +} + +func (p *Prometheus) collectGauge(mx map[string]int64, mf *prometheus.MetricFamily) { + for _, m := range mf.Metrics() { + if m.Gauge() == nil || math.IsNaN(m.Gauge().Value()) { + continue + } + + id := mf.Name() + p.joinLabels(m.Labels()) + + if !p.cache.hasP(id) { + p.addGaugeChart(id, mf.Name(), mf.Help(), m.Labels()) + } + + mx[id] = int64(m.Gauge().Value() * precision) + } +} + +func (p *Prometheus) collectCounter(mx map[string]int64, mf *prometheus.MetricFamily) { + for _, m := range mf.Metrics() { + if m.Counter() == nil || math.IsNaN(m.Counter().Value()) { + continue + } + + id := mf.Name() + p.joinLabels(m.Labels()) + + if !p.cache.hasP(id) { + p.addCounterChart(id, mf.Name(), mf.Help(), m.Labels()) + } + + mx[id] = int64(m.Counter().Value() * precision) + } +} + +func (p *Prometheus) collectSummary(mx map[string]int64, mf *prometheus.MetricFamily) { + for _, m := range mf.Metrics() { + if m.Summary() == nil || len(m.Summary().Quantiles()) == 0 { + continue + } + + id := mf.Name() + p.joinLabels(m.Labels()) + + if !p.cache.hasP(id) { + p.addSummaryCharts(id, mf.Name(), mf.Help(), m.Labels(), m.Summary().Quantiles()) + } + + for _, v := range m.Summary().Quantiles() { + if !math.IsNaN(v.Value()) { + dimID := fmt.Sprintf("%s_quantile=%s", id, formatFloat(v.Quantile())) + mx[dimID] = int64(v.Value() * precision * precision) + } + } + + mx[id+"_sum"] = int64(m.Summary().Sum() * precision) + mx[id+"_count"] = int64(m.Summary().Count()) + } +} + +func (p *Prometheus) collectHistogram(mx map[string]int64, mf *prometheus.MetricFamily) { + for _, m := range mf.Metrics() { + if m.Histogram() == nil || len(m.Histogram().Buckets()) == 0 { + continue + } + + id := mf.Name() + p.joinLabels(m.Labels()) + + if !p.cache.hasP(id) { + p.addHistogramCharts(id, mf.Name(), mf.Help(), m.Labels(), m.Histogram().Buckets()) + } + + for _, v := range m.Histogram().Buckets() { + if !math.IsNaN(v.CumulativeCount()) { + dimID := fmt.Sprintf("%s_bucket=%s", id, formatFloat(v.UpperBound())) + mx[dimID] = int64(v.CumulativeCount()) + } + } + + mx[id+"_sum"] = int64(m.Histogram().Sum() * precision) + mx[id+"_count"] = int64(m.Histogram().Count()) + } +} + +func (p *Prometheus) collectUntyped(mx map[string]int64, mf *prometheus.MetricFamily) { + for _, m := range mf.Metrics() { + if m.Untyped() == nil || math.IsNaN(m.Untyped().Value()) { + continue + } + + if p.isFallbackTypeGauge(mf.Name()) { + id := mf.Name() + p.joinLabels(m.Labels()) + + if !p.cache.hasP(id) { + p.addGaugeChart(id, mf.Name(), mf.Help(), m.Labels()) + } + + mx[id] = int64(m.Untyped().Value() * precision) + } + + if p.isFallbackTypeCounter(mf.Name()) || strings.HasSuffix(mf.Name(), "_total") { + id := mf.Name() + p.joinLabels(m.Labels()) + + if !p.cache.hasP(id) { + p.addCounterChart(id, mf.Name(), mf.Help(), m.Labels()) + } + + mx[id] = int64(m.Untyped().Value() * precision) + } + } +} + +func (p *Prometheus) isFallbackTypeGauge(name string) bool { + return p.fallbackType.gauge != nil && p.fallbackType.gauge.MatchString(name) +} + +func (p *Prometheus) isFallbackTypeCounter(name string) bool { + return p.fallbackType.counter != nil && p.fallbackType.counter.MatchString(name) +} + +func (p *Prometheus) joinLabels(labels labels.Labels) string { + var sb strings.Builder + for _, lbl := range labels { + name, val := lbl.Name, lbl.Value + if name == "" || val == "" { + continue + } + + if strings.IndexByte(val, ' ') != -1 { + val = spaceReplacer.Replace(val) + } + if strings.IndexByte(val, '\\') != -1 { + if val = decodeLabelValue(val); strings.IndexByte(val, '\\') != -1 { + val = backslashReplacer.Replace(val) + } + } + + sb.WriteString("-" + name + "=" + val) + } + return sb.String() +} + +func (p *Prometheus) resetCache() { + for _, v := range p.cache.entries { + v.seen = false + } +} + +const maxNotSeenTimes = 10 + +func (p *Prometheus) removeStaleCharts() { + for k, v := range p.cache.entries { + if v.seen { + continue + } + if v.notSeenTimes++; v.notSeenTimes >= maxNotSeenTimes { + for _, chart := range v.charts { + chart.MarkRemove() + chart.MarkNotCreated() + } + delete(p.cache.entries, k) + } + } +} + +func decodeLabelValue(value string) string { + v, err := strconv.Unquote("\"" + value + "\"") + if err != nil { + return value + } + return v +} + +var ( + spaceReplacer = strings.NewReplacer(" ", "_") + backslashReplacer = strings.NewReplacer(`\`, "_") +) + +func hasPrefix(mf map[string]*prometheus.MetricFamily, prefix string) bool { + for name := range mf { + if strings.HasPrefix(name, prefix) { + return true + } + } + return false +} + +func calcMetrics(mfs prometheus.MetricFamilies) int { + var n int + for _, mf := range mfs { + n += len(mf.Metrics()) + } + return n +} + +func formatFloat(v float64) string { + return strconv.FormatFloat(v, 'f', -1, 64) +} diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/config_schema.json b/src/go/collectors/go.d.plugin/modules/prometheus/config_schema.json new file mode 100644 index 000000000..9f9cac307 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/config_schema.json @@ -0,0 +1,291 @@ +{ + "jsonSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Prometheus collector configuration.", + "type": "object", + "properties": { + "update_every": { + "title": "Update every", + "description": "Data collection interval, measured in seconds.", + "type": "integer", + "minimum": 1, + "default": 10 + }, + "url": { + "title": "URL", + "description": "The URL of the Prometheus metrics endpoint.", + "type": "string", + "format": "uri" + }, + "timeout": { + "title": "Timeout", + "description": "The timeout in seconds for the HTTP request.", + "type": "number", + "minimum": 0.5, + "default": 10 + }, + "not_follow_redirects": { + "title": "Not follow redirects", + "description": "If set, the client will not follow HTTP redirects automatically.", + "type": "boolean" + }, + "expected_prefix": { + "title": "Expected prefix", + "description": "If an endpoint does not return at least one metric with the specified prefix, the data is not processed.", + "type": "string" + }, + "app": { + "title": "Application", + "description": "If set, this value will be used in the chart context as 'prometheus.{app}.{metric_name}'.", + "type": "string" + }, + "selector": { + "title": "Selectors", + "description": "Configuration for selecting and filtering a set of time series using Prometheus selectors. If left empty, no filtering is applied.", + "type": [ + "object", + "null" + ], + "properties": { + "allow": { + "title": "Allow", + "description": "Allow time series that match any of the specified [selectors](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector#readme).", + "type": [ + "array", + "null" + ], + "items": { + "title": "Selector", + "type": "string" + }, + "uniqueItems": true + }, + "deny": { + "title": "Deny", + "description": "Deny time series that match any of the specified [selectors](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector#readme).", + "type": [ + "array", + "null" + ], + "items": { + "title": "Selector", + "type": "string" + }, + "uniqueItems": true + } + } + }, + "max_time_series": { + "title": "Time series limit", + "description": "If an endpoint returns more time series than this limit, the data is not processed. Set to 0 for no limit.", + "type": "integer", + "minimum": 0, + "default": 2000 + }, + "max_time_series_per_metric": { + "title": "Time series per metric limit", + "description": "Metrics with more time series than this limit are skipped. Set to 0 for no limit.", + "type": "integer", + "minimum": 0, + "default": 200 + }, + "fallback_type": { + "title": "Untyped metrics fallback", + "description": "Process Untyped metrics as Counter or Gauge instead of ignoring them.", + "type": [ + "object", + "null" + ], + "properties": { + "gauge": { + "title": "As Gauge", + "description": "Untyped metrics matching any [pattern](https://golang.org/pkg/path/filepath/#Match) will be processed as Gauge.", + "type": [ + "array", + "null" + ], + "items": { + "title": "Pattern", + "type": "string" + }, + "uniqueItems": true + }, + "Counter": { + "title": "As Counter", + "description": "Untyped metrics matching any [pattern](https://golang.org/pkg/path/filepath/#Match) will be processed as Counter.", + "type": [ + "array", + "null" + ], + "items": { + "title": "Pattern", + "type": "string" + }, + "uniqueItems": true + } + } + }, + "username": { + "title": "Username", + "description": "The username for basic authentication.", + "type": "string", + "sensitive": true + }, + "password": { + "title": "Password", + "description": "The password for basic authentication.", + "type": "string", + "sensitive": true + }, + "bearer_token_file": { + "title": "Bearer token file", + "description": "The path to the file with Bearer token.", + "type": "string" + }, + "proxy_url": { + "title": "Proxy URL", + "description": "The URL of the proxy server.", + "type": "string" + }, + "proxy_username": { + "title": "Proxy username", + "description": "The username for proxy authentication.", + "type": "string", + "sensitive": true + }, + "proxy_password": { + "title": "Proxy password", + "description": "The password for proxy authentication.", + "type": "string", + "sensitive": true + }, + "headers": { + "title": "Headers", + "description": "Additional HTTP headers to include in the request.", + "type": [ + "object", + "null" + ], + "additionalProperties": { + "type": "string" + } + }, + "tls_skip_verify": { + "title": "Skip TLS verification", + "description": "If set, TLS certificate verification will be skipped.", + "type": "boolean" + }, + "tls_ca": { + "title": "TLS CA", + "description": "The path to the CA certificate file for TLS verification.", + "type": "string", + "pattern": "^$|^/" + }, + "tls_cert": { + "title": "TLS certificate", + "description": "The path to the client certificate file for TLS authentication.", + "type": "string", + "pattern": "^$|^/" + }, + "tls_key": { + "title": "TLS key", + "description": "The path to the client key file for TLS authentication.", + "type": "string", + "pattern": "^$|^/" + } + }, + "required": [ + "url" + ], + "additionalProperties": false, + "patternProperties": { + "^name$": {} + } + }, + "uiSchema": { + "uiOptions": { + "fullPage": true + }, + "ui:flavour": "tabs", + "ui:options": { + "tabs": [ + { + "title": "Base", + "fields": [ + "update_every", + "url", + "timeout", + "not_follow_redirects", + "expected_prefix", + "app" + ] + }, + { + "title": "Selectors", + "fields": [ + "selector" + ] + }, + { + "title": "Limits", + "fields": [ + "max_time_series", + "max_time_series_per_metric" + ] + }, + { + "title": "Untyped fallback", + "fields": [ + "fallback_type" + ] + }, + { + "title": "Auth", + "fields": [ + "username", + "password", + "bearer_token_file" + ] + }, + { + "title": "TLS", + "fields": [ + "tls_skip_verify", + "tls_ca", + "tls_cert", + "tls_key" + ] + }, + { + "title": "Proxy", + "fields": [ + "proxy_url", + "proxy_username", + "proxy_password" + ] + }, + { + "title": "Headers", + "fields": [ + "headers" + ] + } + ] + }, + "url": { + "ui:placeholder": "http://203.0.113.0" + }, + "timeout": { + "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)." + }, + "selector": { + "ui:help": "The logic is as follows: `(allow1 OR allow2) AND !(deny1 OR deny2)`." + }, + "password": { + "ui:widget": "password" + }, + "proxy_password": { + "ui:widget": "password" + } + } +} diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/init.go b/src/go/collectors/go.d.plugin/modules/prometheus/init.go new file mode 100644 index 000000000..f5cc8bca9 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/init.go @@ -0,0 +1,64 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +package prometheus + +import ( + "errors" + "fmt" + "os" + + "github.com/netdata/netdata/go/go.d.plugin/pkg/matcher" + "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus" + "github.com/netdata/netdata/go/go.d.plugin/pkg/web" +) + +func (p *Prometheus) validateConfig() error { + if p.URL == "" { + return errors.New("'url' can not be empty") + } + return nil +} + +func (p *Prometheus) initPrometheusClient() (prometheus.Prometheus, error) { + httpClient, err := web.NewHTTPClient(p.Client) + if err != nil { + return nil, fmt.Errorf("init HTTP client: %v", err) + } + + req := p.Request.Copy() + if p.BearerTokenFile != "" { + token, err := os.ReadFile(p.BearerTokenFile) + if err != nil { + return nil, fmt.Errorf("bearer token file: %v", err) + } + req.Headers["Authorization"] = "Bearer " + string(token) + } + + sr, err := p.Selector.Parse() + if err != nil { + return nil, fmt.Errorf("parsing selector: %v", err) + } + + if sr != nil { + return prometheus.NewWithSelector(httpClient, req, sr), nil + } + return prometheus.New(httpClient, req), nil +} + +func (p *Prometheus) initFallbackTypeMatcher(expr []string) (matcher.Matcher, error) { + if len(expr) == 0 { + return nil, nil + } + + m := matcher.FALSE() + + for _, pattern := range expr { + v, err := matcher.NewGlobMatcher(pattern) + if err != nil { + return nil, fmt.Errorf("error on parsing pattern '%s': %v", pattern, err) + } + m = matcher.Or(m, v) + } + + return m, nil +} diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/4d_server.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/4d_server.md new file mode 100644 index 000000000..9dc53bcb7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/4d_server.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/4d_server.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "4D Server" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# 4D Server + + +<img src="https://netdata.cloud/img/4d_server.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor 4D Server performance metrics for efficient application management and optimization. + + +Metrics are gathered by periodically sending HTTP requests to [4D Server exporter](https://github.com/ThomasMaul/Prometheus_4D_Exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [4D Server exporter](https://github.com/ThomasMaul/Prometheus_4D_Exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/8430ft_modem.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/8430ft_modem.md new file mode 100644 index 000000000..b34f7a118 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/8430ft_modem.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/8430ft_modem.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "8430FT modem" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# 8430FT modem + + +<img src="https://netdata.cloud/img/mtc.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep track of vital metrics from the MTS 8430FT modem for streamlined network performance and diagnostics. + + +Metrics are gathered by periodically sending HTTP requests to [8430FT Exporter](https://github.com/dernasherbrezon/8430ft_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [8430FT Exporter](https://github.com/dernasherbrezon/8430ft_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/a10_acos_network_devices.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/a10_acos_network_devices.md new file mode 100644 index 000000000..b0c2b36ef --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/a10_acos_network_devices.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/a10_acos_network_devices.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "A10 ACOS network devices" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# A10 ACOS network devices + + +<img src="https://netdata.cloud/img/a10-networks.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor A10 Networks device metrics for comprehensive management and analysis. + + +Metrics are gathered by periodically sending HTTP requests to [A10-Networks Prometheus Exporter](https://github.com/a10networks/PrometheusExporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [A10-Networks Prometheus Exporter](https://github.com/a10networks/PrometheusExporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/airthings_waveplus_air_sensor.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/airthings_waveplus_air_sensor.md new file mode 100644 index 000000000..aed199d9c --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/airthings_waveplus_air_sensor.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/airthings_waveplus_air_sensor.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Airthings Waveplus air sensor" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Airthings Waveplus air sensor + + +<img src="https://netdata.cloud/img/airthings.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Waveplus radon sensor metrics for efficient indoor air quality monitoring and management. + + +Metrics are gathered by periodically sending HTTP requests to [Waveplus Radon Sensor Exporter](https://github.com/jeremybz/waveplus_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Waveplus Radon Sensor Exporter](https://github.com/jeremybz/waveplus_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akamai_edge_dns_traffic.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akamai_edge_dns_traffic.md new file mode 100644 index 000000000..cea125adb --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akamai_edge_dns_traffic.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akamai_edge_dns_traffic.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Akamai Edge DNS Traffic" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/DNS and DHCP Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Akamai Edge DNS Traffic + + +<img src="https://netdata.cloud/img/akamai.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track and analyze Akamai Edge DNS traffic for enhanced performance and security. + + +Metrics are gathered by periodically sending HTTP requests to [Akamai Edge DNS Traffic Exporter](https://github.com/akamai/akamai-edgedns-traffic-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Akamai Edge DNS Traffic Exporter](https://github.com/akamai/akamai-edgedns-traffic-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akamai_global_traffic_management.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akamai_global_traffic_management.md new file mode 100644 index 000000000..b7a7d3ef2 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akamai_global_traffic_management.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akamai_global_traffic_management.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Akamai Global Traffic Management" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Akamai Global Traffic Management + + +<img src="https://netdata.cloud/img/akamai.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor vital metrics of Akamai Global Traffic Management (GTM) for optimized load balancing and failover. + + +Metrics are gathered by periodically sending HTTP requests to [Akamai Global Traffic Management Metrics Exporter](https://github.com/akamai/akamai-gtm-metrics-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Akamai Global Traffic Management Metrics Exporter](https://github.com/akamai/akamai-gtm-metrics-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akami_cloudmonitor.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akami_cloudmonitor.md new file mode 100644 index 000000000..3fc190f83 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akami_cloudmonitor.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/akami_cloudmonitor.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Akami Cloudmonitor" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Akami Cloudmonitor + + +<img src="https://netdata.cloud/img/akamai.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Akamai cloudmonitor provider metrics for comprehensive cloud performance management. + + +Metrics are gathered by periodically sending HTTP requests to [Cloudmonitor exporter](https://github.com/ExpressenAB/cloudmonitor_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Cloudmonitor exporter](https://github.com/ExpressenAB/cloudmonitor_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/alamos_fe2_server.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/alamos_fe2_server.md new file mode 100644 index 000000000..2f05b12f1 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/alamos_fe2_server.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/alamos_fe2_server.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Alamos FE2 server" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Alamos FE2 server + + +<img src="https://netdata.cloud/img/alamos_fe2.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Alamos FE2 systems for improved performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [Alamos FE2 Exporter](https://github.com/codemonauts/prometheus-fe2-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Alamos FE2 Exporter](https://github.com/codemonauts/prometheus-fe2-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/alibaba_cloud.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/alibaba_cloud.md new file mode 100644 index 000000000..9ee8b3ba3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/alibaba_cloud.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/alibaba_cloud.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Alibaba Cloud" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Alibaba Cloud + + +<img src="https://netdata.cloud/img/alibaba-cloud.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Alibaba Cloud services and resources for efficient management and cost optimization. + + +Metrics are gathered by periodically sending HTTP requests to [Alibaba Cloud Exporter](https://github.com/aylei/aliyun-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Alibaba Cloud Exporter](https://github.com/aylei/aliyun-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/altaro_backup.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/altaro_backup.md new file mode 100644 index 000000000..1a7c7ff16 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/altaro_backup.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/altaro_backup.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Altaro Backup" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Altaro Backup + + +<img src="https://netdata.cloud/img/altaro.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Altaro Backup performance metrics to ensure smooth data protection and recovery operations. + + +Metrics are gathered by periodically sending HTTP requests to [Altaro Backup Exporter](https://github.com/raph2i/altaro_backup_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Altaro Backup Exporter](https://github.com/raph2i/altaro_backup_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/amd_cpu_&_gpu.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/amd_cpu_&_gpu.md new file mode 100644 index 000000000..7232a5fef --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/amd_cpu_&_gpu.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/amd_cpu_&_gpu.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "AMD CPU & GPU" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Hardware Devices and Sensors" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# AMD CPU & GPU + + +<img src="https://netdata.cloud/img/amd.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor AMD System Management Interface performance for optimized hardware management. + + +Metrics are gathered by periodically sending HTTP requests to [AMD SMI Exporter](https://github.com/amd/amd_smi_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [AMD SMI Exporter](https://github.com/amd/amd_smi_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/andrews_&_arnold_line_status.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/andrews_&_arnold_line_status.md new file mode 100644 index 000000000..22749e571 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/andrews_&_arnold_line_status.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/andrews_&_arnold_line_status.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Andrews & Arnold line status" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Andrews & Arnold line status + + +<img src="https://netdata.cloud/img/andrewsarnold.jpg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Andrews & Arnold Ltd (AAISP) metrics for improved network performance and diagnostics. + + +Metrics are gathered by periodically sending HTTP requests to [Andrews & Arnold line status exporter](https://github.com/daveio/aaisp-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Andrews & Arnold line status exporter](https://github.com/daveio/aaisp-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apache_airflow.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apache_airflow.md new file mode 100644 index 000000000..0c5b55f0c --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apache_airflow.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apache_airflow.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Apache Airflow" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Apache Airflow + + +<img src="https://netdata.cloud/img/airflow.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Apache Airflow metrics to optimize task scheduling and workflow management. + + +Metrics are gathered by periodically sending HTTP requests to [Airflow exporter](https://github.com/shalb/airflow-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Airflow exporter](https://github.com/shalb/airflow-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apache_flink.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apache_flink.md new file mode 100644 index 000000000..c48dbe645 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apache_flink.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apache_flink.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Apache Flink" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Apache Flink + + +<img src="https://netdata.cloud/img/apache_flink.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Apache Flink metrics for efficient stream processing and application management. + + +Metrics are gathered by periodically sending HTTP requests to [Apache Flink Metrics Reporter](https://github.com/matsumana/flink_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Apache Flink Metrics Reporter](https://github.com/matsumana/flink_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apicast.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apicast.md new file mode 100644 index 000000000..f4cb007e8 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apicast.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apicast.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "APIcast" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Web Servers and Web Proxies" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# APIcast + + +<img src="https://netdata.cloud/img/apicast.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor APIcast performance metrics to optimize API gateway operations and management. + + +Metrics are gathered by periodically sending HTTP requests to [APIcast](https://github.com/3scale/apicast). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [APIcast](https://github.com/3scale/apicast) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apple_time_machine.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apple_time_machine.md new file mode 100644 index 000000000..d27cdaa43 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apple_time_machine.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/apple_time_machine.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Apple Time Machine" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/macOS Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Apple Time Machine + + +<img src="https://netdata.cloud/img/apple.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Apple Time Machine backup metrics for efficient data protection and recovery. + + +Metrics are gathered by periodically sending HTTP requests to [Apple Time Machine Exporter](https://github.com/znerol/prometheus-timemachine-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Apple Time Machine Exporter](https://github.com/znerol/prometheus-timemachine-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/arm_hwcpipe.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/arm_hwcpipe.md new file mode 100644 index 000000000..78a59ebba --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/arm_hwcpipe.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/arm_hwcpipe.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "ARM HWCPipe" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Hardware Devices and Sensors" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# ARM HWCPipe + + +<img src="https://netdata.cloud/img/arm.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep track of ARM running Android devices and get metrics for efficient performance optimization. + + +Metrics are gathered by periodically sending HTTP requests to [ARM HWCPipe Exporter](https://github.com/ylz-at/arm-hwcpipe-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [ARM HWCPipe Exporter](https://github.com/ylz-at/arm-hwcpipe-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aruba_devices.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aruba_devices.md new file mode 100644 index 000000000..97f8db71d --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aruba_devices.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aruba_devices.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Aruba devices" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Aruba devices + + +<img src="https://netdata.cloud/img/aruba.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Aruba Networks devices performance metrics for comprehensive network management and analysis. + + +Metrics are gathered by periodically sending HTTP requests to [Aruba Exporter](https://github.com/slashdoom/aruba_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Aruba Exporter](https://github.com/slashdoom/aruba_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/arvancloud_cdn.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/arvancloud_cdn.md new file mode 100644 index 000000000..ae020eca3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/arvancloud_cdn.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/arvancloud_cdn.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "ArvanCloud CDN" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# ArvanCloud CDN + + +<img src="https://netdata.cloud/img/arvancloud.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track and analyze ArvanCloud CDN and cloud services performance metrics for optimized delivery and management. + + +Metrics are gathered by periodically sending HTTP requests to [ArvanCloud exporter](https://github.com/arvancloud/ar-prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [ArvanCloud exporter](https://github.com/arvancloud/ar-prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/audisto.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/audisto.md new file mode 100644 index 000000000..462c18dca --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/audisto.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/audisto.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Audisto" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Audisto + + +<img src="https://netdata.cloud/img/audisto.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Audisto SEO and website metrics for improved search performance and optimization. + + +Metrics are gathered by periodically sending HTTP requests to [Audisto exporter](https://github.com/ZeitOnline/audisto_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Audisto exporter](https://github.com/ZeitOnline/audisto_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/authlog.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/authlog.md new file mode 100644 index 000000000..ea9f5ecd4 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/authlog.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/authlog.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "AuthLog" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Logs Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# AuthLog + + +<img src="https://netdata.cloud/img/linux.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor authentication logs for security insights and efficient access management. + + +Metrics are gathered by periodically sending HTTP requests to [AuthLog Exporter](https://github.com/woblerr/authlog_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [AuthLog Exporter](https://github.com/woblerr/authlog_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ec2_compute_instances.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ec2_compute_instances.md new file mode 100644 index 000000000..cfc667ce1 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ec2_compute_instances.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ec2_compute_instances.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "AWS EC2 Compute instances" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# AWS EC2 Compute instances + + +<img src="https://netdata.cloud/img/aws-ec2.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track AWS EC2 instances key metrics for optimized performance and cost management. + + +Metrics are gathered by periodically sending HTTP requests to [AWS EC2 Exporter](https://github.com/O1ahmad/aws_ec2_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [AWS EC2 Exporter](https://github.com/O1ahmad/aws_ec2_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ec2_spot_instance.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ec2_spot_instance.md new file mode 100644 index 000000000..2b33cdce7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ec2_spot_instance.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ec2_spot_instance.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "AWS EC2 Spot Instance" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# AWS EC2 Spot Instance + + +<img src="https://netdata.cloud/img/aws-ec2.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor AWS EC2 Spot instances'' performance metrics for efficient resource allocation and cost optimization. + + +Metrics are gathered by periodically sending HTTP requests to [AWS EC2 Spot Exporter](https://github.com/patcadelina/ec2-spot-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [AWS EC2 Spot Exporter](https://github.com/patcadelina/ec2-spot-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ecs.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ecs.md new file mode 100644 index 000000000..3b222d481 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ecs.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_ecs.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "AWS ECS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# AWS ECS + + +<img src="https://netdata.cloud/img/amazon-ecs.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on AWS ECS services and resources for optimized container management and orchestration. + + +Metrics are gathered by periodically sending HTTP requests to [AWS ECS exporter](https://github.com/bevers222/ecs-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [AWS ECS exporter](https://github.com/bevers222/ecs-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_health_events.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_health_events.md new file mode 100644 index 000000000..21373a7c2 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_health_events.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_health_events.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "AWS Health events" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# AWS Health events + + +<img src="https://netdata.cloud/img/aws.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track AWS service health metrics for proactive incident management and resolution. + + +Metrics are gathered by periodically sending HTTP requests to [AWS Health Exporter](https://github.com/vladvasiliu/aws-health-exporter-rs). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [AWS Health Exporter](https://github.com/vladvasiliu/aws-health-exporter-rs) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_instance_health.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_instance_health.md new file mode 100644 index 000000000..aa2590d93 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_instance_health.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_instance_health.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "AWS instance health" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# AWS instance health + + +<img src="https://netdata.cloud/img/aws.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor the health of AWS instances for improved performance and availability. + + +Metrics are gathered by periodically sending HTTP requests to [AWS instance health exporter](https://github.com/bobtfish/aws-instance-health-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [AWS instance health exporter](https://github.com/bobtfish/aws-instance-health-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_quota.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_quota.md new file mode 100644 index 000000000..b8667be07 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_quota.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_quota.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "AWS Quota" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# AWS Quota + + +<img src="https://netdata.cloud/img/aws.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor AWS service quotas for effective resource usage and cost management. + + +Metrics are gathered by periodically sending HTTP requests to [aws_quota_exporter](https://github.com/emylincon/aws_quota_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [aws_quota_exporter](https://github.com/emylincon/aws_quota_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_rds.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_rds.md new file mode 100644 index 000000000..456dedff3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_rds.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_rds.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "AWS RDS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# AWS RDS + + +<img src="https://netdata.cloud/img/aws-rds.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Amazon RDS (Relational Database Service) metrics for efficient cloud database management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [rds_exporter](https://github.com/percona/rds_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [rds_exporter](https://github.com/percona/rds_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_s3_buckets.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_s3_buckets.md new file mode 100644 index 000000000..185f0cef7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_s3_buckets.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_s3_buckets.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "AWS S3 buckets" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# AWS S3 buckets + + +<img src="https://netdata.cloud/img/aws-s3.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor AWS S3 storage metrics for optimized performance, data management, and cost efficiency. + + +Metrics are gathered by periodically sending HTTP requests to [AWS S3 Exporter](https://github.com/ribbybibby/s3_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [AWS S3 Exporter](https://github.com/ribbybibby/s3_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_sqs.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_sqs.md new file mode 100644 index 000000000..da425f40e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_sqs.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/aws_sqs.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "AWS SQS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# AWS SQS + + +<img src="https://netdata.cloud/img/aws-sqs.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track AWS SQS messaging metrics for efficient message processing and queue management. + + +Metrics are gathered by periodically sending HTTP requests to [AWS SQS Exporter](https://github.com/jmal98/sqs-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [AWS SQS Exporter](https://github.com/jmal98/sqs-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_ad_app_passwords.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_ad_app_passwords.md new file mode 100644 index 000000000..adc7fd596 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_ad_app_passwords.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_ad_app_passwords.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Azure AD App passwords" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Azure AD App passwords + + +<img src="https://netdata.cloud/img/azure.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Safeguard and track Azure App secrets for enhanced security and access management. + + +Metrics are gathered by periodically sending HTTP requests to [Azure App Secrets monitor](https://github.com/vladvasiliu/azure-app-secrets-monitor). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Azure App Secrets monitor](https://github.com/vladvasiliu/azure-app-secrets-monitor) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_application.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_application.md new file mode 100644 index 000000000..bd0d250bd --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_application.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_application.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Azure application" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Azure application + + +<img src="https://netdata.cloud/img/azure.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Azure Monitor metrics for comprehensive resource management and performance optimization. + + +Metrics are gathered by periodically sending HTTP requests to [Azure Monitor exporter](https://github.com/RobustPerception/azure_metrics_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Azure Monitor exporter](https://github.com/RobustPerception/azure_metrics_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_elastic_pool_sql.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_elastic_pool_sql.md new file mode 100644 index 000000000..5e93f9a00 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_elastic_pool_sql.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_elastic_pool_sql.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Azure Elastic Pool SQL" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Azure Elastic Pool SQL + + +<img src="https://netdata.cloud/img/azure-elastic-sql.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Azure Elastic SQL performance metrics for efficient database management and query optimization. + + +Metrics are gathered by periodically sending HTTP requests to [Azure Elastic SQL Exporter](https://github.com/benclapp/azure_elastic_sql_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Azure Elastic SQL Exporter](https://github.com/benclapp/azure_elastic_sql_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_resources.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_resources.md new file mode 100644 index 000000000..5f5b33e71 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_resources.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_resources.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Azure Resources" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Azure Resources + + +<img src="https://netdata.cloud/img/azure.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Azure resources vital metrics for efficient cloud management and cost optimization. + + +Metrics are gathered by periodically sending HTTP requests to [Azure Resources Exporter](https://github.com/FXinnovation/azure-resources-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Azure Resources Exporter](https://github.com/FXinnovation/azure-resources-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_service_bus.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_service_bus.md new file mode 100644 index 000000000..e58e3fe64 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_service_bus.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_service_bus.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Azure Service Bus" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Azure Service Bus + + +<img src="https://netdata.cloud/img/azure-service-bus.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Azure Service Bus messaging metrics for optimized communication and integration. + + +Metrics are gathered by periodically sending HTTP requests to [Azure Service Bus Exporter](https://github.com/marcinbudny/servicebus_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Azure Service Bus Exporter](https://github.com/marcinbudny/servicebus_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_sql.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_sql.md new file mode 100644 index 000000000..d5cad0c33 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_sql.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/azure_sql.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Azure SQL" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Azure SQL + + +<img src="https://netdata.cloud/img/azure-sql.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Azure SQL performance metrics for efficient database management and query performance. + + +Metrics are gathered by periodically sending HTTP requests to [Azure SQL exporter](https://github.com/iamseth/azure_sql_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Azure SQL exporter](https://github.com/iamseth/azure_sql_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bigquery.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bigquery.md new file mode 100644 index 000000000..a58ae23ca --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bigquery.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bigquery.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "BigQuery" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# BigQuery + + +<img src="https://netdata.cloud/img/bigquery.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Google BigQuery metrics for optimized data processing and analysis. + + +Metrics are gathered by periodically sending HTTP requests to [BigQuery Exporter](https://github.com/m-lab/prometheus-bigquery-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [BigQuery Exporter](https://github.com/m-lab/prometheus-bigquery-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bird_routing_daemon.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bird_routing_daemon.md new file mode 100644 index 000000000..5b4736150 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bird_routing_daemon.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bird_routing_daemon.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Bird Routing Daemon" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Bird Routing Daemon + + +<img src="https://netdata.cloud/img/bird.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Bird Routing Daemon metrics for optimized network routing and management. + + +Metrics are gathered by periodically sending HTTP requests to [Bird Routing Daemon Exporter](https://github.com/czerwonk/bird_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Bird Routing Daemon Exporter](https://github.com/czerwonk/bird_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/blackbox.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/blackbox.md new file mode 100644 index 000000000..fc072d475 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/blackbox.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/blackbox.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Blackbox" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Synthetic Checks" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Blackbox + + +<img src="https://netdata.cloud/img/prometheus.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track external service availability and response times with Blackbox monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [Blackbox exporter](https://github.com/prometheus/blackbox_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Blackbox exporter](https://github.com/prometheus/blackbox_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bobcat_miner_300.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bobcat_miner_300.md new file mode 100644 index 000000000..5b422cfca --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bobcat_miner_300.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bobcat_miner_300.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Bobcat Miner 300" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Bobcat Miner 300 + + +<img src="https://netdata.cloud/img/bobcat.jpg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Bobcat equipment metrics for optimized performance and maintenance management. + + +Metrics are gathered by periodically sending HTTP requests to [Bobcat Exporter](https://github.com/pperzyna/bobcat_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Bobcat Exporter](https://github.com/pperzyna/bobcat_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/borg_backup.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/borg_backup.md new file mode 100644 index 000000000..7634043dc --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/borg_backup.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/borg_backup.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Borg backup" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Borg backup + + +<img src="https://netdata.cloud/img/borg.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Borg backup performance metrics for efficient data protection and recovery. + + +Metrics are gathered by periodically sending HTTP requests to [Borg backup exporter](https://github.com/k0ral/borg-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Borg backup exporter](https://github.com/k0ral/borg-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bosh.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bosh.md new file mode 100644 index 000000000..f84733332 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bosh.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bosh.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "BOSH" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Provisioning Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# BOSH + + +<img src="https://netdata.cloud/img/bosh.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on BOSH deployment metrics for improved cloud orchestration and resource management. + + +Metrics are gathered by periodically sending HTTP requests to [BOSH exporter](https://github.com/bosh-prometheus/bosh_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [BOSH exporter](https://github.com/bosh-prometheus/bosh_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bpftrace_variables.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bpftrace_variables.md new file mode 100644 index 000000000..ce12929b7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bpftrace_variables.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bpftrace_variables.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "bpftrace variables" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# bpftrace variables + + +<img src="https://netdata.cloud/img/bpftrace.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track bpftrace metrics for advanced performance analysis and troubleshooting. + + +Metrics are gathered by periodically sending HTTP requests to [bpftrace exporter](https://github.com/andreasgerstmayr/bpftrace_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [bpftrace exporter](https://github.com/andreasgerstmayr/bpftrace_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bungeecord.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bungeecord.md new file mode 100644 index 000000000..540a22b2b --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bungeecord.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/bungeecord.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "BungeeCord" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Gaming" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# BungeeCord + + +<img src="https://netdata.cloud/img/bungee.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track BungeeCord proxy server metrics for efficient load balancing and performance management. + + +Metrics are gathered by periodically sending HTTP requests to [BungeeCord Prometheus Exporter](https://github.com/weihao/bungeecord-prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [BungeeCord Prometheus Exporter](https://github.com/weihao/bungeecord-prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cadvisor.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cadvisor.md new file mode 100644 index 000000000..c833149b4 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cadvisor.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cadvisor.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "cAdvisor" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Containers and VMs" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# cAdvisor + + +<img src="https://netdata.cloud/img/cadvisor.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor container resource usage and performance metrics with cAdvisor for efficient container management. + + +Metrics are gathered by periodically sending HTTP requests to [cAdvisor](https://github.com/google/cadvisor). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [cAdvisor](https://github.com/google/cadvisor) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/celery.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/celery.md new file mode 100644 index 000000000..9cd5a116b --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/celery.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/celery.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Celery" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Task Queues" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Celery + + +<img src="https://netdata.cloud/img/celery.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Celery task queue metrics for optimized task processing and resource management. + + +Metrics are gathered by periodically sending HTTP requests to [Celery Exporter](https://github.com/ZeitOnline/celery_redis_prometheus). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Celery Exporter](https://github.com/ZeitOnline/celery_redis_prometheus) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/certificate_transparency.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/certificate_transparency.md new file mode 100644 index 000000000..1deacc0d3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/certificate_transparency.md @@ -0,0 +1,292 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/certificate_transparency.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Certificate Transparency" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Security Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Certificate Transparency + + +<img src="https://netdata.cloud/img/ct.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track certificate transparency log metrics for enhanced +SSL/TLS certificate management and security. + + +Metrics are gathered by periodically sending HTTP requests to [ct-exporter](https://github.com/Hsn723/ct-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [ct-exporter](https://github.com/Hsn723/ct-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/checkpoint_device.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/checkpoint_device.md new file mode 100644 index 000000000..d2c917c71 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/checkpoint_device.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/checkpoint_device.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Checkpoint device" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Checkpoint device + + +<img src="https://netdata.cloud/img/checkpoint.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Check Point firewall and security metrics for enhanced network protection and management. + + +Metrics are gathered by periodically sending HTTP requests to [Checkpoint exporter](https://github.com/RespiroConsulting/CheckPointExporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Checkpoint exporter](https://github.com/RespiroConsulting/CheckPointExporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/chia.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/chia.md new file mode 100644 index 000000000..4ec46c304 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/chia.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/chia.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Chia" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Blockchain Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Chia + + +<img src="https://netdata.cloud/img/chia.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Chia blockchain metrics for optimized farming and resource allocation. + + +Metrics are gathered by periodically sending HTTP requests to [Chia Exporter](https://github.com/chia-network/chia-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Chia Exporter](https://github.com/chia-network/chia-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/christ_elektronik_clm5ip_power_panel.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/christ_elektronik_clm5ip_power_panel.md new file mode 100644 index 000000000..8d204909e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/christ_elektronik_clm5ip_power_panel.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/christ_elektronik_clm5ip_power_panel.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Christ Elektronik CLM5IP power panel" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Christ Elektronik CLM5IP power panel + + +<img src="https://netdata.cloud/img/christelec.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Christ Elektronik CLM5IP device metrics for efficient performance and diagnostics. + + +Metrics are gathered by periodically sending HTTP requests to [Christ Elektronik CLM5IP Exporter](https://github.com/christmann/clm5ip_exporter/). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Christ Elektronik CLM5IP Exporter](https://github.com/christmann/clm5ip_exporter/) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_agent.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_agent.md new file mode 100644 index 000000000..a2f6919f8 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_agent.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_agent.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Cilium Agent" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Kubernetes" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Cilium Agent + + +<img src="https://netdata.cloud/img/cilium.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Cilium Agent metrics for optimized network security and connectivity. + + +Metrics are gathered by periodically sending HTTP requests to [Cilium Agent](https://github.com/cilium/cilium). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Cilium Agent](https://github.com/cilium/cilium) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_operator.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_operator.md new file mode 100644 index 000000000..bdfc6870a --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_operator.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_operator.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Cilium Operator" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Kubernetes" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Cilium Operator + + +<img src="https://netdata.cloud/img/cilium.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Cilium Operator metrics for efficient Kubernetes network security management. + + +Metrics are gathered by periodically sending HTTP requests to [Cilium Operator](https://github.com/cilium/cilium). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Cilium Operator](https://github.com/cilium/cilium) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_proxy.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_proxy.md new file mode 100644 index 000000000..6aeca3f6d --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_proxy.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cilium_proxy.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Cilium Proxy" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Kubernetes" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Cilium Proxy + + +<img src="https://netdata.cloud/img/cilium.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Cilium Proxy metrics for enhanced network security and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Cilium Proxy](https://github.com/cilium/proxy). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Cilium Proxy](https://github.com/cilium/proxy) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cisco_aci.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cisco_aci.md new file mode 100644 index 000000000..b277922a9 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cisco_aci.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cisco_aci.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Cisco ACI" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Cisco ACI + + +<img src="https://netdata.cloud/img/cisco.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Cisco ACI infrastructure metrics for optimized network performance and resource management. + + +Metrics are gathered by periodically sending HTTP requests to [Cisco ACI Exporter](https://github.com/RavuAlHemio/prometheus_aci_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Cisco ACI Exporter](https://github.com/RavuAlHemio/prometheus_aci_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/citrix_netscaler.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/citrix_netscaler.md new file mode 100644 index 000000000..4e192aa85 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/citrix_netscaler.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/citrix_netscaler.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Citrix NetScaler" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Citrix NetScaler + + +<img src="https://netdata.cloud/img/citrix.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on NetScaler performance metrics for efficient application delivery and load balancing. + + +Metrics are gathered by periodically sending HTTP requests to [Citrix NetScaler Exporter](https://github.com/rokett/Citrix-NetScaler-Exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Citrix NetScaler Exporter](https://github.com/rokett/Citrix-NetScaler-Exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clamav_daemon.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clamav_daemon.md new file mode 100644 index 000000000..5abe7c6f5 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clamav_daemon.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clamav_daemon.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "ClamAV daemon" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Security Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# ClamAV daemon + + +<img src="https://netdata.cloud/img/clamav.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track ClamAV antivirus metrics for enhanced threat detection and management. + + +Metrics are gathered by periodically sending HTTP requests to [ClamAV daemon stats exporter](https://github.com/sergeymakinen/clamav_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [ClamAV daemon stats exporter](https://github.com/sergeymakinen/clamav_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clamscan_results.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clamscan_results.md new file mode 100644 index 000000000..0fe64dfdd --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clamscan_results.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clamscan_results.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Clamscan results" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Security Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Clamscan results + + +<img src="https://netdata.cloud/img/clamav.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor ClamAV scanning performance metrics for efficient malware detection and analysis. + + +Metrics are gathered by periodically sending HTTP requests to [clamscan-exporter](https://github.com/FortnoxAB/clamscan-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [clamscan-exporter](https://github.com/FortnoxAB/clamscan-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clash.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clash.md new file mode 100644 index 000000000..c907e0ed0 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clash.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clash.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Clash" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Web Servers and Web Proxies" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Clash + + +<img src="https://netdata.cloud/img/clash.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Clash proxy server metrics for optimized network performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [Clash exporter](https://github.com/elonzh/clash_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Clash exporter](https://github.com/elonzh/clash_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clickhouse.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clickhouse.md new file mode 100644 index 000000000..f8dd6049b --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clickhouse.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clickhouse.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "ClickHouse" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# ClickHouse + + +<img src="https://netdata.cloud/img/clickhouse.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor ClickHouse database metrics for efficient data storage and query performance. + + +Metrics are gathered by periodically sending HTTP requests to the ClickHouse built-in Prometheus exporter. + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Configure built-in Prometheus exporter + +To configure the built-in Prometheus exporter, follow the [official documentation](https://clickhouse.com/docs/en/operations/server-configuration-parameters/settings#server_configuration_parameters-prometheus). + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloud_foundry.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloud_foundry.md new file mode 100644 index 000000000..f05f0bf6c --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloud_foundry.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloud_foundry.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Cloud Foundry" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Provisioning Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Cloud Foundry + + +<img src="https://netdata.cloud/img/cloud-foundry.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Cloud Foundry platform metrics for optimized application deployment and management. + + +Metrics are gathered by periodically sending HTTP requests to [Cloud Foundry exporter](https://github.com/bosh-prometheus/cf_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Cloud Foundry exporter](https://github.com/bosh-prometheus/cf_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloud_foundry_firehose.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloud_foundry_firehose.md new file mode 100644 index 000000000..ee33ed9bc --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloud_foundry_firehose.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloud_foundry_firehose.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Cloud Foundry Firehose" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Provisioning Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Cloud Foundry Firehose + + +<img src="https://netdata.cloud/img/cloud-foundry.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Cloud Foundry Firehose metrics for comprehensive platform diagnostics and management. + + +Metrics are gathered by periodically sending HTTP requests to [Cloud Foundry Firehose exporter](https://github.com/bosh-prometheus/firehose_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Cloud Foundry Firehose exporter](https://github.com/bosh-prometheus/firehose_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloudflare_pcap.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloudflare_pcap.md new file mode 100644 index 000000000..9fd7bf56e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloudflare_pcap.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloudflare_pcap.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Cloudflare PCAP" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Web Servers and Web Proxies" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Cloudflare PCAP + + +<img src="https://netdata.cloud/img/cloudflare.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Cloudflare CDN and security metrics for optimized content delivery and protection. + + +Metrics are gathered by periodically sending HTTP requests to [Cloudflare exporter](https://github.com/wehkamp/docker-prometheus-cloudflare-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Cloudflare exporter](https://github.com/wehkamp/docker-prometheus-cloudflare-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloudwatch.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloudwatch.md new file mode 100644 index 000000000..4382aae70 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloudwatch.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cloudwatch.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "CloudWatch" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# CloudWatch + + +<img src="https://netdata.cloud/img/aws-cloudwatch.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor AWS CloudWatch metrics for comprehensive AWS resource management and performance optimization. + + +Metrics are gathered by periodically sending HTTP requests to [CloudWatch exporter](https://github.com/prometheus/cloudwatch_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [CloudWatch exporter](https://github.com/prometheus/cloudwatch_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clustercontrol_cmon.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clustercontrol_cmon.md new file mode 100644 index 000000000..2f0e62cee --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clustercontrol_cmon.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/clustercontrol_cmon.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "ClusterControl CMON" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# ClusterControl CMON + + +<img src="https://netdata.cloud/img/cluster-control.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track CMON metrics for Severalnines Cluster Control for efficient monitoring and management of database operations. + + +Metrics are gathered by periodically sending HTTP requests to [CMON Exporter](https://github.com/severalnines/cmon_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [CMON Exporter](https://github.com/severalnines/cmon_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/collectd.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/collectd.md new file mode 100644 index 000000000..8483b50d7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/collectd.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/collectd.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Collectd" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Observability" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Collectd + + +<img src="https://netdata.cloud/img/collectd.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor system and application metrics with Collectd for comprehensive performance analysis. + + +Metrics are gathered by periodically sending HTTP requests to [Collectd exporter](https://github.com/prometheus/collectd_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Collectd exporter](https://github.com/prometheus/collectd_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/concourse.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/concourse.md new file mode 100644 index 000000000..1963175f4 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/concourse.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/concourse.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Concourse" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/CICD Platforms" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Concourse + + +<img src="https://netdata.cloud/img/concourse.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Concourse CI/CD pipeline metrics for optimized workflow management and deployment. + + +Metrics are gathered by periodically sending HTTP requests to the Concourse built-in Prometheus exporter. + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Configure built-in Prometheus exporter + +To configure the built-in Prometheus exporter, follow the [official documentation](https://concourse-ci.org/metrics.html#configuring-metrics). + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/craftbeerpi.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/craftbeerpi.md new file mode 100644 index 000000000..4622f5c9c --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/craftbeerpi.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/craftbeerpi.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "CraftBeerPi" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# CraftBeerPi + + +<img src="https://netdata.cloud/img/craftbeer.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on CraftBeerPi homebrewing metrics for optimized brewing process management. + + +Metrics are gathered by periodically sending HTTP requests to [CraftBeerPi exporter](https://github.com/jo-hannes/craftbeerpi_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [CraftBeerPi exporter](https://github.com/jo-hannes/craftbeerpi_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/crowdsec.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/crowdsec.md new file mode 100644 index 000000000..434cfbaaf --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/crowdsec.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/crowdsec.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Crowdsec" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Security Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Crowdsec + + +<img src="https://netdata.cloud/img/crowdsec.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Crowdsec security metrics for efficient threat detection and response. + + +Metrics are gathered by periodically sending HTTP requests to the Crowdsec build-in Prometheus exporter. + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Configure built-in Prometheus exporter + +To configure the built-in Prometheus exporter, follow the [official documentation](https://docs.crowdsec.net/docs/observability/prometheus/). + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/crypto_exchanges.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/crypto_exchanges.md new file mode 100644 index 000000000..9c7abf988 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/crypto_exchanges.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/crypto_exchanges.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Crypto exchanges" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Blockchain Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Crypto exchanges + + +<img src="https://netdata.cloud/img/crypto.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track cryptocurrency market metrics for informed investment and trading decisions. + + +Metrics are gathered by periodically sending HTTP requests to [Crypto exporter](https://github.com/ix-ai/crypto-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Crypto exporter](https://github.com/ix-ai/crypto-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cryptowatch.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cryptowatch.md new file mode 100644 index 000000000..d05add486 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cryptowatch.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cryptowatch.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Cryptowatch" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Blockchain Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Cryptowatch + + +<img src="https://netdata.cloud/img/cryptowatch.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Cryptowatch market data metrics for comprehensive cryptocurrency market analysis. + + +Metrics are gathered by periodically sending HTTP requests to [Cryptowat Exporter](https://github.com/nbarrientos/cryptowat_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Cryptowat Exporter](https://github.com/nbarrientos/cryptowat_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/csgo.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/csgo.md new file mode 100644 index 000000000..0bd36d75b --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/csgo.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/csgo.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "CS:GO" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Gaming" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# CS:GO + + +<img src="https://netdata.cloud/img/csgo.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Counter-Strike: Global Offensive server metrics for improved game performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [CS:GO Exporter](https://github.com/kinduff/csgo_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [CS:GO Exporter](https://github.com/kinduff/csgo_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/custom_exporter.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/custom_exporter.md new file mode 100644 index 000000000..0429b21ad --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/custom_exporter.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/custom_exporter.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Custom Exporter" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Generic Collecting Metrics" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Custom Exporter + + +<img src="https://netdata.cloud/img/customdata.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Create and monitor custom metrics tailored to your specific use case and requirements. + + +Metrics are gathered by periodically sending HTTP requests to [Custom Exporter](https://github.com/orange-cloudfoundry/custom_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Custom Exporter](https://github.com/orange-cloudfoundry/custom_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cvmfs_clients.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cvmfs_clients.md new file mode 100644 index 000000000..fd5d58fe3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cvmfs_clients.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/cvmfs_clients.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "CVMFS clients" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# CVMFS clients + + +<img src="https://netdata.cloud/img/cvmfs.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track CernVM File System metrics for optimized distributed file system performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [CVMFS exporter](https://github.com/guilbaults/cvmfs-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [CVMFS exporter](https://github.com/guilbaults/cvmfs-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ddwrt_routers.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ddwrt_routers.md new file mode 100644 index 000000000..5f834ab13 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ddwrt_routers.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ddwrt_routers.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "DDWRT Routers" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# DDWRT Routers + + +<img src="https://netdata.cloud/img/ddwrt.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on DD-WRT router metrics for efficient network management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [ddwrt-collector](https://github.com/camelusferus/ddwrt_collector). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [ddwrt-collector](https://github.com/camelusferus/ddwrt_collector) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_ecs_cluster.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_ecs_cluster.md new file mode 100644 index 000000000..4f2445b16 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_ecs_cluster.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_ecs_cluster.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Dell EMC ECS cluster" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Dell EMC ECS cluster + + +<img src="https://netdata.cloud/img/dell.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Dell EMC ECS object storage metrics for optimized storage management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Dell EMC ECS Exporter](https://github.com/paychex/prometheus-emcecs-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Dell EMC ECS Exporter](https://github.com/paychex/prometheus-emcecs-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_isilon_cluster.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_isilon_cluster.md new file mode 100644 index 000000000..ca8d1f3eb --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_isilon_cluster.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_isilon_cluster.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Dell EMC Isilon cluster" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Dell EMC Isilon cluster + + +<img src="https://netdata.cloud/img/dell.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Dell EMC Isilon scale-out NAS metrics for efficient storage management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Dell EMC Isilon Exporter](https://github.com/paychex/prometheus-isilon-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Dell EMC Isilon Exporter](https://github.com/paychex/prometheus-isilon-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_xtremio_cluster.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_xtremio_cluster.md new file mode 100644 index 000000000..eaa51d125 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_xtremio_cluster.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_emc_xtremio_cluster.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Dell EMC XtremIO cluster" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Dell EMC XtremIO cluster + + +<img src="https://netdata.cloud/img/dell.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Dell/EMC XtremIO storage metrics for optimized data management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Dell/EMC XtremIO Exporter](https://github.com/cthiel42/prometheus-xtremio-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Dell/EMC XtremIO Exporter](https://github.com/cthiel42/prometheus-xtremio-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_powermax.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_powermax.md new file mode 100644 index 000000000..0547cf731 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_powermax.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dell_powermax.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Dell PowerMax" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Dell PowerMax + + +<img src="https://netdata.cloud/img/powermax.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Dell EMC PowerMax storage array metrics for efficient storage management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [PowerMax Exporter](https://github.com/kckecheng/powermax_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [PowerMax Exporter](https://github.com/kckecheng/powermax_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dependency-track.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dependency-track.md new file mode 100644 index 000000000..50ae9ddca --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dependency-track.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dependency-track.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Dependency-Track" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Dependency-Track + + +<img src="https://netdata.cloud/img/dependency-track.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Dependency-Track metrics for efficient vulnerability management and software supply chain analysis. + + +Metrics are gathered by periodically sending HTTP requests to [Dependency-Track Exporter](https://github.com/jetstack/dependency-track-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Dependency-Track Exporter](https://github.com/jetstack/dependency-track-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/digitalocean.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/digitalocean.md new file mode 100644 index 000000000..1a888e1a2 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/digitalocean.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/digitalocean.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "DigitalOcean" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# DigitalOcean + + +<img src="https://netdata.cloud/img/digitalocean.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track DigitalOcean cloud provider metrics for optimized resource management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [DigitalOcean Exporter](https://github.com/metalmatze/digitalocean_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [DigitalOcean Exporter](https://github.com/metalmatze/digitalocean_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/discourse.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/discourse.md new file mode 100644 index 000000000..00f41d0e0 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/discourse.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/discourse.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Discourse" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Media Services" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Discourse + + +<img src="https://netdata.cloud/img/discourse.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Discourse forum metrics for efficient community management and engagement. + + +Metrics are gathered by periodically sending HTTP requests to [Discourse Exporter](https://github.com/discourse/discourse-prometheus). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Discourse Exporter](https://github.com/discourse/discourse-prometheus) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dmarc.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dmarc.md new file mode 100644 index 000000000..f11b10aa2 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dmarc.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dmarc.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "DMARC" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Mail Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# DMARC + + +<img src="https://netdata.cloud/img/dmarc.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track DMARC email authentication metrics for improved email security and deliverability. + + +Metrics are gathered by periodically sending HTTP requests to [dmarc-metrics-exporter](https://github.com/jgosmann/dmarc-metrics-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [dmarc-metrics-exporter](https://github.com/jgosmann/dmarc-metrics-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dnsbl.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dnsbl.md new file mode 100644 index 000000000..7b8dcdf7c --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dnsbl.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dnsbl.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "DNSBL" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/DNS and DHCP Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# DNSBL + + +<img src="https://netdata.cloud/img/dnsbl.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor DNSBL metrics for efficient domain reputation and security management. + + +Metrics are gathered by periodically sending HTTP requests to [dnsbl-exporter](https://github.com/Luzilla/dnsbl_exporter/). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [dnsbl-exporter](https://github.com/Luzilla/dnsbl_exporter/) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dutch_electricity_smart_meter.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dutch_electricity_smart_meter.md new file mode 100644 index 000000000..a5c128548 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dutch_electricity_smart_meter.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dutch_electricity_smart_meter.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Dutch Electricity Smart Meter" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Dutch Electricity Smart Meter + + +<img src="https://netdata.cloud/img/dutch-electricity.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Dutch smart meter P1 port metrics for efficient energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [P1Exporter - Dutch Electricity Smart Meter Exporter](https://github.com/TobiasDeBruijn/prometheus-p1-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [P1Exporter - Dutch Electricity Smart Meter Exporter](https://github.com/TobiasDeBruijn/prometheus-p1-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dynatrace.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dynatrace.md new file mode 100644 index 000000000..6c286e259 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dynatrace.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/dynatrace.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Dynatrace" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Observability" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Dynatrace + + +<img src="https://netdata.cloud/img/dynatrace.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Dynatrace APM metrics for comprehensive application performance management. + + +Metrics are gathered by periodically sending HTTP requests to [Dynatrace Exporter](https://github.com/Apside-TOP/dynatrace_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Dynatrace Exporter](https://github.com/Apside-TOP/dynatrace_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/eaton_ups.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/eaton_ups.md new file mode 100644 index 000000000..24d415ca8 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/eaton_ups.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/eaton_ups.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Eaton UPS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/UPS" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Eaton UPS + + +<img src="https://netdata.cloud/img/eaton.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Eaton uninterruptible power supply (UPS) metrics for efficient power management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [Prometheus Eaton UPS Exporter](https://github.com/psyinfra/prometheus-eaton-ups-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Prometheus Eaton UPS Exporter](https://github.com/psyinfra/prometheus-eaton-ups-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/elgato_key_light_devices..md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/elgato_key_light_devices..md new file mode 100644 index 000000000..a445fc7c6 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/elgato_key_light_devices..md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/elgato_key_light_devices..md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Elgato Key Light devices." +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Elgato Key Light devices. + + +<img src="https://netdata.cloud/img/elgato.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Elgato Key Light metrics for optimized lighting control and management. + + +Metrics are gathered by periodically sending HTTP requests to [Elgato Key Light exporter](https://github.com/mdlayher/keylight_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Elgato Key Light exporter](https://github.com/mdlayher/keylight_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/energomera_smart_power_meters.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/energomera_smart_power_meters.md new file mode 100644 index 000000000..0bac1c2bb --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/energomera_smart_power_meters.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/energomera_smart_power_meters.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Energomera smart power meters" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Energomera smart power meters + + +<img src="https://netdata.cloud/img/energomera.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Energomera electricity meter metrics for efficient energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [Energomera electricity meter exporter](https://github.com/peak-load/energomera_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [energomera-exporter Energomera electricity meter exporter](https://github.com/peak-load/energomera_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/eos.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/eos.md new file mode 100644 index 000000000..1adc0eb3a --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/eos.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/eos.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "EOS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# EOS + + +<img src="https://netdata.cloud/img/eos.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor CERN EOS metrics for efficient storage management. + + +Metrics are gathered by periodically sending HTTP requests to [EOS exporter](https://github.com/cern-eos/eos_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [EOS exporter](https://github.com/cern-eos/eos_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/etcd.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/etcd.md new file mode 100644 index 000000000..d413d5635 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/etcd.md @@ -0,0 +1,287 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/etcd.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "etcd" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Service Discovery / Registry" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# etcd + + +<img src="https://netdata.cloud/img/etcd.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track etcd database metrics for optimized distributed key-value store management and performance. + + +Metrics are gathered by periodically sending HTTP requests to etcd built-in Prometheus exporter. + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +No action required. + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/excel_spreadsheet.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/excel_spreadsheet.md new file mode 100644 index 000000000..e3dc98956 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/excel_spreadsheet.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/excel_spreadsheet.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Excel spreadsheet" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Generic Collecting Metrics" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Excel spreadsheet + + +<img src="https://netdata.cloud/img/excel.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Export Prometheus metrics to Excel for versatile data analysis and reporting. + + +Metrics are gathered by periodically sending HTTP requests to [Excel Exporter](https://github.com/MarcusCalidus/excel-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Excel Exporter](https://github.com/MarcusCalidus/excel-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fastd.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fastd.md new file mode 100644 index 000000000..7ab7952e2 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fastd.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fastd.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Fastd" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/VPNs" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Fastd + + +<img src="https://netdata.cloud/img/fastd.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Fastd VPN metrics for efficient virtual private network management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Fastd Exporter](https://github.com/freifunk-darmstadt/fastd-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Fastd Exporter](https://github.com/freifunk-darmstadt/fastd-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fortigate_firewall.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fortigate_firewall.md new file mode 100644 index 000000000..72f6455c5 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fortigate_firewall.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fortigate_firewall.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Fortigate firewall" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Fortigate firewall + + +<img src="https://netdata.cloud/img/fortinet.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Fortigate firewall metrics for enhanced network protection and management. + + +Metrics are gathered by periodically sending HTTP requests to [fortigate_exporter](https://github.com/bluecmd/fortigate_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [fortigate_exporter](https://github.com/bluecmd/fortigate_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freebsd_nfs.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freebsd_nfs.md new file mode 100644 index 000000000..f91793850 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freebsd_nfs.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freebsd_nfs.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "FreeBSD NFS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/FreeBSD" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# FreeBSD NFS + + +<img src="https://netdata.cloud/img/freebsd.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor FreeBSD Network File System metrics for efficient file sharing management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [FreeBSD NFS Exporter](https://github.com/Axcient/freebsd-nfs-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [FreeBSD NFS Exporter](https://github.com/Axcient/freebsd-nfs-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freebsd_rctl-racct.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freebsd_rctl-racct.md new file mode 100644 index 000000000..65fd3fa6f --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freebsd_rctl-racct.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freebsd_rctl-racct.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "FreeBSD RCTL-RACCT" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/FreeBSD" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# FreeBSD RCTL-RACCT + + +<img src="https://netdata.cloud/img/freebsd.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on FreeBSD Resource Container metrics for optimized resource management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [FreeBSD RCTL Exporter](https://github.com/yo000/rctl_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [FreeBSD RCTL Exporter](https://github.com/yo000/rctl_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freifunk_network.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freifunk_network.md new file mode 100644 index 000000000..dce20bfea --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freifunk_network.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/freifunk_network.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Freifunk network" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Freifunk network + + +<img src="https://netdata.cloud/img/freifunk.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Freifunk community network metrics for optimized network performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [Freifunk Exporter](https://github.com/xperimental/freifunk-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Freifunk Exporter](https://github.com/xperimental/freifunk-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fritzbox_network_devices.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fritzbox_network_devices.md new file mode 100644 index 000000000..fabab9ffa --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fritzbox_network_devices.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/fritzbox_network_devices.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Fritzbox network devices" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Fritzbox network devices + + +<img src="https://netdata.cloud/img/avm.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track AVM Fritzbox router metrics for efficient home network management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Fritzbox exporter](https://github.com/pdreker/fritz_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Fritzbox exporter](https://github.com/pdreker/fritz_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/frrouting.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/frrouting.md new file mode 100644 index 000000000..636517817 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/frrouting.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/frrouting.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "FRRouting" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# FRRouting + + +<img src="https://netdata.cloud/img/frrouting.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Free Range Routing (FRR) metrics for optimized network routing and management. + + +Metrics are gathered by periodically sending HTTP requests to [FRRouting Exporter](https://github.com/tynany/frr_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [FRRouting Exporter](https://github.com/tynany/frr_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gcp_gce.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gcp_gce.md new file mode 100644 index 000000000..7be423ece --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gcp_gce.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gcp_gce.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "GCP GCE" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# GCP GCE + + +<img src="https://netdata.cloud/img/gcp-gce.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Google Cloud Platform Compute Engine metrics for efficient cloud resource management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [GCP GCE Exporter](https://github.com/O1ahmad/gcp-gce-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [GCP GCE Exporter](https://github.com/O1ahmad/gcp-gce-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gcp_quota.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gcp_quota.md new file mode 100644 index 000000000..9ec3d26f8 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gcp_quota.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gcp_quota.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "GCP Quota" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# GCP Quota + + +<img src="https://netdata.cloud/img/gcp.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Google Cloud Platform quota metrics for optimized resource usage and cost management. + + +Metrics are gathered by periodically sending HTTP requests to [GCP Quota Exporter](https://github.com/mintel/gcp-quota-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [GCP Quota Exporter](https://github.com/mintel/gcp-quota-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/generic_command_line_output.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/generic_command_line_output.md new file mode 100644 index 000000000..bc18eddaa --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/generic_command_line_output.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/generic_command_line_output.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Generic Command Line Output" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Generic Collecting Metrics" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Generic Command Line Output + + +<img src="https://netdata.cloud/img/cli.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track custom command line output metrics for tailored monitoring and management. + + +Metrics are gathered by periodically sending HTTP requests to [Generic Command Line Output Exporter](https://github.com/MarioMartReq/generic-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Generic Command Line Output Exporter](https://github.com/MarioMartReq/generic-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/generic_storage_enclosure_tool.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/generic_storage_enclosure_tool.md new file mode 100644 index 000000000..310b8f97d --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/generic_storage_enclosure_tool.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/generic_storage_enclosure_tool.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Generic storage enclosure tool" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Generic storage enclosure tool + + +<img src="https://netdata.cloud/img/storage-enclosure.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor storage enclosure metrics for efficient storage device management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [jbod - Generic storage enclosure tool](https://github.com/Gandi/jbod-rs). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [jbod - Generic storage enclosure tool](https://github.com/Gandi/jbod-rs) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/github_api_rate_limit.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/github_api_rate_limit.md new file mode 100644 index 000000000..c8f209996 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/github_api_rate_limit.md @@ -0,0 +1,292 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/github_api_rate_limit.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "GitHub API rate limit" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Other" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# GitHub API rate limit + + +<img src="https://netdata.cloud/img/github.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor GitHub API rate limit metrics for efficient +API usage and management. + + +Metrics are gathered by periodically sending HTTP requests to [GitHub API rate limit Exporter](https://github.com/lunarway/github-ratelimit-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [GitHub API rate limit Exporter](https://github.com/lunarway/github-ratelimit-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/github_repository.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/github_repository.md new file mode 100644 index 000000000..1e3eb8007 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/github_repository.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/github_repository.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "GitHub repository" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Other" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# GitHub repository + + +<img src="https://netdata.cloud/img/github.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track GitHub repository metrics for optimized project and user analytics monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [GitHub Exporter](https://github.com/githubexporter/github-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [GitHub Exporter](https://github.com/githubexporter/github-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gitlab_runner.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gitlab_runner.md new file mode 100644 index 000000000..b18050155 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gitlab_runner.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gitlab_runner.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "GitLab Runner" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/CICD Platforms" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# GitLab Runner + + +<img src="https://netdata.cloud/img/gitlab.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on GitLab CI/CD job metrics for efficient development and deployment management. + + +Metrics are gathered by periodically sending HTTP requests to GitLab built-in Prometheus exporter. + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Configure built-in Prometheus exporter + +To configure the built-in Prometheus exporter, follow the [official documentation](https://docs.gitlab.com/runner/monitoring/#configuration-of-the-metrics-http-server). + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gobetween.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gobetween.md new file mode 100644 index 000000000..25eb5f049 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gobetween.md @@ -0,0 +1,287 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gobetween.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Gobetween" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Web Servers and Web Proxies" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Gobetween + + +<img src="https://netdata.cloud/img/gobetween.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Gobetween load balancer metrics for optimized network traffic management and performance. + + +Metrics are gathered by periodically sending HTTP requests to Gobetween built-in Prometheus exporter. + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +No action required. + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_cloud_platform.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_cloud_platform.md new file mode 100644 index 000000000..4ed0043be --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_cloud_platform.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_cloud_platform.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Google Cloud Platform" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Google Cloud Platform + + +<img src="https://netdata.cloud/img/gcp.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Google Cloud Platform metrics for comprehensive cloud resource management and performance optimization. + + +Metrics are gathered by periodically sending HTTP requests to [Google Cloud Platform Exporter](https://github.com/DazWilkin/gcp-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Google Cloud Platform Exporter](https://github.com/DazWilkin/gcp-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_pagespeed.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_pagespeed.md new file mode 100644 index 000000000..a2cbe1d2d --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_pagespeed.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_pagespeed.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Google Pagespeed" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Google Pagespeed + + +<img src="https://netdata.cloud/img/google.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Google PageSpeed Insights performance metrics for efficient web page optimization and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Pagespeed exporter](https://github.com/foomo/pagespeed_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Pagespeed exporter](https://github.com/foomo/pagespeed_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_stackdriver.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_stackdriver.md new file mode 100644 index 000000000..d4a9e1132 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_stackdriver.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/google_stackdriver.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Google Stackdriver" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Google Stackdriver + + +<img src="https://netdata.cloud/img/gcp-stackdriver.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Google Stackdriver monitoring metrics for optimized cloud performance and diagnostics. + + +Metrics are gathered by periodically sending HTTP requests to [Google Stackdriver exporter](https://github.com/prometheus-community/stackdriver_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Google Stackdriver exporter](https://github.com/prometheus-community/stackdriver_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gpsd.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gpsd.md new file mode 100644 index 000000000..95b780a05 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gpsd.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gpsd.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "gpsd" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# gpsd + + +<img src="https://netdata.cloud/img/gpsd.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor GPSD (GPS daemon) metrics for efficient GPS data management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [gpsd exporter](https://github.com/natesales/gpsd-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [gpsd exporter](https://github.com/natesales/gpsd-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/grafana.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/grafana.md new file mode 100644 index 000000000..7d57a9b6a --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/grafana.md @@ -0,0 +1,287 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/grafana.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Grafana" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Observability" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Grafana + + +<img src="https://netdata.cloud/img/grafana.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Grafana dashboard and visualization metrics for optimized monitoring and data analysis. + + +Metrics are gathered by periodically sending HTTP requests to Grafana built-in Prometheus exporter. + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +No action required. + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/graylog_server.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/graylog_server.md new file mode 100644 index 000000000..a9b89d796 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/graylog_server.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/graylog_server.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Graylog Server" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Logs Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Graylog Server + + +<img src="https://netdata.cloud/img/graylog.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Graylog server metrics for efficient log management and analysis. + + +Metrics are gathered by periodically sending HTTP requests to Graylog built-in Prometheus exporter. + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Configure built-in Prometheus exporter + +To configure the built-in Prometheus exporter, follow the [official documentation](https://go2docs.graylog.org/5-0/interacting_with_your_log_data/metrics.html#PrometheusMetricExporting). + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gtp.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gtp.md new file mode 100644 index 000000000..266a582a8 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gtp.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/gtp.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "GTP" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Telephony Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# GTP + + +<img src="https://netdata.cloud/img/gtpu.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on GTP (GPRS Tunneling Protocol) metrics for optimized mobile data communication and performance. + + +Metrics are gathered by periodically sending HTTP requests to [GTP Exporter](https://github.com/wmnsk/gtp_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [GTP Exporter](https://github.com/wmnsk/gtp_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/halon.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/halon.md new file mode 100644 index 000000000..c58e7d959 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/halon.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/halon.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Halon" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Mail Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Halon + + +<img src="https://netdata.cloud/img/halon.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Halon email security and delivery metrics for optimized email management and protection. + + +Metrics are gathered by periodically sending HTTP requests to [Halon exporter](https://github.com/tobiasbp/halon_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Halon exporter](https://github.com/tobiasbp/halon_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hana.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hana.md new file mode 100644 index 000000000..809cfec16 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hana.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hana.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "HANA" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# HANA + + +<img src="https://netdata.cloud/img/sap.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track SAP HANA database metrics for efficient data storage and query performance. + + +Metrics are gathered by periodically sending HTTP requests to [HANA Exporter](https://github.com/jenningsloy318/hana_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [HANA Exporter](https://github.com/jenningsloy318/hana_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hashicorp_vault_secrets.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hashicorp_vault_secrets.md new file mode 100644 index 000000000..92e225c91 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hashicorp_vault_secrets.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hashicorp_vault_secrets.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "HashiCorp Vault secrets" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Authentication and Authorization" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# HashiCorp Vault secrets + + +<img src="https://netdata.cloud/img/vault.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track HashiCorp Vault security assessment metrics for efficient secrets management and security. + + +Metrics are gathered by periodically sending HTTP requests to [Vault Assessment Prometheus Exporter](https://github.com/tomtom-international/vault-assessment-prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Vault Assessment Prometheus Exporter](https://github.com/tomtom-international/vault-assessment-prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hasura_graphql_server.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hasura_graphql_server.md new file mode 100644 index 000000000..3b31439c3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hasura_graphql_server.md @@ -0,0 +1,292 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hasura_graphql_server.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Hasura GraphQL Server" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Hasura GraphQL Server + + +<img src="https://netdata.cloud/img/hasura.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Hasura GraphQL engine metrics for optimized +API performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [Hasura Exporter](https://github.com/zolamk/hasura-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Hasura Exporter](https://github.com/zolamk/hasura-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hdsentinel.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hdsentinel.md new file mode 100644 index 000000000..4eb7981a4 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hdsentinel.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hdsentinel.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "HDSentinel" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# HDSentinel + + +<img src="https://netdata.cloud/img/harddisk.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Hard Disk Sentinel metrics for efficient storage device health management and diagnostics. + + +Metrics are gathered by periodically sending HTTP requests to [HDSentinel Exporter](https://github.com/qusielle/hdsentinel-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [HDSentinel Exporter](https://github.com/qusielle/hdsentinel-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/helium_hotspot.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/helium_hotspot.md new file mode 100644 index 000000000..7d435cf3b --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/helium_hotspot.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/helium_hotspot.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Helium hotspot" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Helium hotspot + + +<img src="https://netdata.cloud/img/helium.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Helium hotspot metrics for optimized LoRaWAN network management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Helium hotspot exporter](https://github.com/tedder/helium_hotspot_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Helium hotspot exporter](https://github.com/tedder/helium_hotspot_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/helium_miner_validator.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/helium_miner_validator.md new file mode 100644 index 000000000..ed48ff50e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/helium_miner_validator.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/helium_miner_validator.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Helium miner (validator)" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Blockchain Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Helium miner (validator) + + +<img src="https://netdata.cloud/img/helium.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Helium miner and validator metrics for efficient blockchain performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [Helium miner (validator) exporter](https://github.com/tedder/miner_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Helium miner (validator) exporter](https://github.com/tedder/miner_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hhvm.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hhvm.md new file mode 100644 index 000000000..dedf5fd57 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hhvm.md @@ -0,0 +1,292 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hhvm.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "HHVM" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Web Servers and Web Proxies" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# HHVM + + +<img src="https://netdata.cloud/img/hhvm.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor HipHop Virtual Machine metrics for efficient +PHP execution and performance. + + +Metrics are gathered by periodically sending HTTP requests to [HHVM Exporter](https://github.com/wikimedia/operations-software-hhvm_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [HHVM Exporter](https://github.com/wikimedia/operations-software-hhvm_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hitron_cgn_series_cpe.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hitron_cgn_series_cpe.md new file mode 100644 index 000000000..109cd633a --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hitron_cgn_series_cpe.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hitron_cgn_series_cpe.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Hitron CGN series CPE" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Hitron CGN series CPE + + +<img src="https://netdata.cloud/img/hitron.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Hitron CGNV4 gateway metrics for efficient network management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Hitron CGNV4 exporter](https://github.com/yrro/hitron-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Hitron CGNV4 exporter](https://github.com/yrro/hitron-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hitron_coda_cable_modem.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hitron_coda_cable_modem.md new file mode 100644 index 000000000..8aaf8aa10 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hitron_coda_cable_modem.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hitron_coda_cable_modem.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Hitron CODA Cable Modem" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Hitron CODA Cable Modem + + +<img src="https://netdata.cloud/img/hitron.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Hitron CODA cable modem metrics for optimized internet connectivity and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Hitron CODA Cable Modem Exporter](https://github.com/hairyhenderson/hitron_coda_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Hitron CODA Cable Modem Exporter](https://github.com/hairyhenderson/hitron_coda_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/homebridge.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/homebridge.md new file mode 100644 index 000000000..02e3e79a3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/homebridge.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/homebridge.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Homebridge" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Homebridge + + +<img src="https://netdata.cloud/img/homebridge.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Homebridge smart home metrics for efficient home automation management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Homebridge Prometheus Exporter](https://github.com/lstrojny/homebridge-prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Homebridge Prometheus Exporter](https://github.com/lstrojny/homebridge-prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/homey.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/homey.md new file mode 100644 index 000000000..bf7ac1894 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/homey.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/homey.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Homey" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Homey + + +<img src="https://netdata.cloud/img/homey.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Homey smart home controller metrics for efficient home automation and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Homey Exporter](https://github.com/rickardp/homey-prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Homey Exporter](https://github.com/rickardp/homey-prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/honeypot.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/honeypot.md new file mode 100644 index 000000000..4823cf9b2 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/honeypot.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/honeypot.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Honeypot" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Security Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Honeypot + + +<img src="https://netdata.cloud/img/intrinsec.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor honeypot metrics for efficient threat detection and management. + + +Metrics are gathered by periodically sending HTTP requests to [Intrinsec honeypot_exporter](https://github.com/Intrinsec/honeypot_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Intrinsec honeypot_exporter](https://github.com/Intrinsec/honeypot_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hp_ilo.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hp_ilo.md new file mode 100644 index 000000000..e1c3e9ed4 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hp_ilo.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hp_ilo.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "HP iLO" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Hardware Devices and Sensors" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# HP iLO + + +<img src="https://netdata.cloud/img/hp.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor HP Integrated Lights Out (iLO) metrics for efficient server management and diagnostics. + + +Metrics are gathered by periodically sending HTTP requests to [HP iLO Metrics Exporter](https://github.com/infinityworks/hpilo-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [HP iLO Metrics Exporter](https://github.com/infinityworks/hpilo-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/huawei_devices.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/huawei_devices.md new file mode 100644 index 000000000..71b25e901 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/huawei_devices.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/huawei_devices.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Huawei devices" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Huawei devices + + +<img src="https://netdata.cloud/img/huawei.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Huawei HiLink device metrics for optimized connectivity and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Huawei Hilink exporter](https://github.com/eliecharra/hilink-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Huawei Hilink exporter](https://github.com/eliecharra/hilink-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hubble.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hubble.md new file mode 100644 index 000000000..ffdfb85d8 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hubble.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/hubble.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Hubble" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Observability" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Hubble + + +<img src="https://netdata.cloud/img/hubble.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Hubble network observability metrics for efficient network visibility and management. + + +Metrics are gathered by periodically sending HTTP requests to Hubble built-in Prometheus exporter. + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Configure built-in Prometheus exporter + +To configure the built-in Prometheus exporter, follow the [official documentation](https://docs.cilium.io/en/stable/observability/metrics/#hubble-metrics). + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_aix_systems_njmon.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_aix_systems_njmon.md new file mode 100644 index 000000000..ccf767a5d --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_aix_systems_njmon.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_aix_systems_njmon.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "IBM AIX systems Njmon" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# IBM AIX systems Njmon + + +<img src="https://netdata.cloud/img/ibm.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on NJmon system performance monitoring metrics for efficient IT infrastructure management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [NJmon](https://github.com/crooks/njmon_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [NJmon](https://github.com/crooks/njmon_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_cryptoexpress_cex_cards.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_cryptoexpress_cex_cards.md new file mode 100644 index 000000000..0fa9e6c86 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_cryptoexpress_cex_cards.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_cryptoexpress_cex_cards.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "IBM CryptoExpress (CEX) cards" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Hardware Devices and Sensors" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# IBM CryptoExpress (CEX) cards + + +<img src="https://netdata.cloud/img/ibm.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track IBM Z Crypto Express device metrics for optimized cryptographic performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [IBM Z CEX Device Plugin Prometheus Exporter](https://github.com/ibm-s390-cloud/k8s-cex-dev-plugin). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [IBM Z CEX Device Plugin Prometheus Exporter](https://github.com/ibm-s390-cloud/k8s-cex-dev-plugin) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_mq.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_mq.md new file mode 100644 index 000000000..adcb151f4 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_mq.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_mq.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "IBM MQ" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Message Brokers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# IBM MQ + + +<img src="https://netdata.cloud/img/ibm.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on IBM MQ message queue metrics for efficient message transport and performance. + + +Metrics are gathered by periodically sending HTTP requests to [MQ Exporter](https://github.com/agebhar1/mq_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [MQ Exporter](https://github.com/agebhar1/mq_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_spectrum.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_spectrum.md new file mode 100644 index 000000000..8a58e2347 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_spectrum.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_spectrum.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "IBM Spectrum" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# IBM Spectrum + + +<img src="https://netdata.cloud/img/ibm.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor IBM Spectrum storage metrics for efficient data management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [IBM Spectrum Exporter](https://github.com/topine/ibm-spectrum-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [IBM Spectrum Exporter](https://github.com/topine/ibm-spectrum-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_spectrum_virtualize.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_spectrum_virtualize.md new file mode 100644 index 000000000..4fc41f09b --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_spectrum_virtualize.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_spectrum_virtualize.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "IBM Spectrum Virtualize" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# IBM Spectrum Virtualize + + +<img src="https://netdata.cloud/img/ibm.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor IBM Spectrum Virtualize metrics for efficient storage virtualization and performance. + + +Metrics are gathered by periodically sending HTTP requests to [spectrum_virtualize_exporter](https://github.com/bluecmd/spectrum_virtualize_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [spectrum_virtualize_exporter](https://github.com/bluecmd/spectrum_virtualize_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_z_hardware_management_console.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_z_hardware_management_console.md new file mode 100644 index 000000000..1ff503848 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_z_hardware_management_console.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ibm_z_hardware_management_console.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "IBM Z Hardware Management Console" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Hardware Devices and Sensors" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# IBM Z Hardware Management Console + + +<img src="https://netdata.cloud/img/ibm.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor IBM Z Hardware Management Console metrics for efficient mainframe management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [IBM Z HMC Exporter](https://github.com/zhmcclient/zhmc-prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [IBM Z HMC Exporter](https://github.com/zhmcclient/zhmc-prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/influxdb.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/influxdb.md new file mode 100644 index 000000000..0a707ca59 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/influxdb.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/influxdb.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "InfluxDB" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# InfluxDB + + +<img src="https://netdata.cloud/img/influxdb.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor InfluxDB time-series database metrics for efficient data storage and query performance. + + +Metrics are gathered by periodically sending HTTP requests to [InfluxDB exporter](https://github.com/prometheus/influxdb_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [InfluxDB exporter](https://github.com/prometheus/influxdb_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/iota_full_node.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/iota_full_node.md new file mode 100644 index 000000000..86b39a480 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/iota_full_node.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/iota_full_node.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "IOTA full node" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Blockchain Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# IOTA full node + + +<img src="https://netdata.cloud/img/iota.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on IOTA cryptocurrency network metrics for efficient blockchain performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [IOTA Exporter](https://github.com/crholliday/iota-prom-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [IOTA Exporter](https://github.com/crholliday/iota-prom-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ipmi_by_soundcloud.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ipmi_by_soundcloud.md new file mode 100644 index 000000000..a1657038e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ipmi_by_soundcloud.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ipmi_by_soundcloud.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "IPMI (By SoundCloud)" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Hardware Devices and Sensors" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# IPMI (By SoundCloud) + + +<img src="https://netdata.cloud/img/soundcloud.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor IPMI metrics externally for efficient server hardware management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [SoundCloud IPMI Exporter (querying IPMI externally, blackbox-exporter style)](https://github.com/prometheus-community/ipmi_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [SoundCloud IPMI Exporter (querying IPMI externally, blackbox-exporter style)](https://github.com/prometheus-community/ipmi_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/iqair_airvisual_air_quality_monitors.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/iqair_airvisual_air_quality_monitors.md new file mode 100644 index 000000000..c4d7057ff --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/iqair_airvisual_air_quality_monitors.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/iqair_airvisual_air_quality_monitors.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "iqAir AirVisual air quality monitors" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# iqAir AirVisual air quality monitors + + +<img src="https://netdata.cloud/img/iqair.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor air quality data from IQAir devices for efficient environmental monitoring and analysis. + + +Metrics are gathered by periodically sending HTTP requests to [IQair Exporter](https://github.com/Packetslave/iqair_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [IQair Exporter](https://github.com/Packetslave/iqair_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jarvis_standing_desk.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jarvis_standing_desk.md new file mode 100644 index 000000000..80886b6e1 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jarvis_standing_desk.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jarvis_standing_desk.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Jarvis Standing Desk" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Jarvis Standing Desk + + +<img src="https://netdata.cloud/img/jarvis.jpg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Jarvis standing desk usage metrics for efficient workspace ergonomics and management. + + +Metrics are gathered by periodically sending HTTP requests to [Jarvis Standing Desk Exporter](https://github.com/hairyhenderson/jarvis_exporter/). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Jarvis Standing Desk Exporter](https://github.com/hairyhenderson/jarvis_exporter/) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jenkins.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jenkins.md new file mode 100644 index 000000000..0a5a44988 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jenkins.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jenkins.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Jenkins" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/CICD Platforms" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Jenkins + + +<img src="https://netdata.cloud/img/jenkins.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Jenkins continuous integration server metrics for efficient development and build management. + + +Metrics are gathered by periodically sending HTTP requests to [Jenkins exporter](https://github.com/simplesurance/jenkins-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Jenkins exporter](https://github.com/simplesurance/jenkins-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jetbrains_floating_license_server.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jetbrains_floating_license_server.md new file mode 100644 index 000000000..75d17f7f9 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jetbrains_floating_license_server.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jetbrains_floating_license_server.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "JetBrains Floating License Server" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Generic Collecting Metrics" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# JetBrains Floating License Server + + +<img src="https://netdata.cloud/img/jetbrains.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor JetBrains floating license server metrics for efficient software licensing management. + + +Metrics are gathered by periodically sending HTTP requests to [JetBrains Floating License Server Export](https://github.com/mkreu/jetbrains-fls-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [JetBrains Floating License Server Export](https://github.com/mkreu/jetbrains-fls-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jmx.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jmx.md new file mode 100644 index 000000000..641a111d9 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jmx.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jmx.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "JMX" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# JMX + + +<img src="https://netdata.cloud/img/java.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Java Management Extensions (JMX) metrics for efficient Java application management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [JMX Exporter](https://github.com/prometheus/jmx_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [JMX Exporter](https://github.com/prometheus/jmx_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jolokia.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jolokia.md new file mode 100644 index 000000000..1976fd57e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jolokia.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/jolokia.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "jolokia" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# jolokia + + +<img src="https://netdata.cloud/img/jolokia.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Jolokia JVM metrics for optimized Java application performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [jolokia_exporter](https://github.com/aklinkert/jolokia_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [jolokia_exporter](https://github.com/aklinkert/jolokia_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/journald.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/journald.md new file mode 100644 index 000000000..4f763ba30 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/journald.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/journald.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "journald" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Logs Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# journald + + +<img src="https://netdata.cloud/img/linux.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on systemd-journald metrics for efficient log management and analysis. + + +Metrics are gathered by periodically sending HTTP requests to [journald-exporter](https://github.com/dead-claudia/journald-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [journald-exporter](https://github.com/dead-claudia/journald-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka.md new file mode 100644 index 000000000..aaff5b67a --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Kafka" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Message Brokers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Kafka + + +<img src="https://netdata.cloud/img/kafka.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Kafka message queue metrics for optimized data streaming and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Kafka Exporter](https://github.com/danielqsj/kafka_exporter/). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Kafka Exporter](https://github.com/danielqsj/kafka_exporter/) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_connect.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_connect.md new file mode 100644 index 000000000..6f44ec2dd --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_connect.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_connect.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Kafka Connect" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Message Brokers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Kafka Connect + + +<img src="https://netdata.cloud/img/kafka.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Kafka Connect metrics for efficient data streaming and integration. + + +Metrics are gathered by periodically sending HTTP requests to [Kafka Connect exporter](https://github.com/findelabs/kafka-connect-exporter-rs). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Kafka Connect exporter](https://github.com/findelabs/kafka-connect-exporter-rs) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_consumer_lag.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_consumer_lag.md new file mode 100644 index 000000000..3474254c9 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_consumer_lag.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_consumer_lag.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Kafka Consumer Lag" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Service Discovery / Registry" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Kafka Consumer Lag + + +<img src="https://netdata.cloud/img/kafka.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Kafka consumer lag metrics for efficient message queue management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Kafka Consumer Lag Monitoring](https://github.com/omarsmak/kafka-consumer-lag-monitoring). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Kafka Consumer Lag Monitoring](https://github.com/omarsmak/kafka-consumer-lag-monitoring) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_zookeeper.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_zookeeper.md new file mode 100644 index 000000000..31a3505a6 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_zookeeper.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kafka_zookeeper.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Kafka ZooKeeper" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Message Brokers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Kafka ZooKeeper + + +<img src="https://netdata.cloud/img/kafka.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Kafka ZooKeeper metrics for optimized distributed coordination and management. + + +Metrics are gathered by periodically sending HTTP requests to [Kafka ZooKeeper Exporter](https://github.com/cloudflare/kafka_zookeeper_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Kafka ZooKeeper Exporter](https://github.com/cloudflare/kafka_zookeeper_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kannel.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kannel.md new file mode 100644 index 000000000..a2c7a3e1c --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kannel.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kannel.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Kannel" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Telephony Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Kannel + + +<img src="https://netdata.cloud/img/kannel.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Kannel SMS gateway and WAP gateway metrics for efficient mobile communication and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Kannel Exporter](https://github.com/apostvav/kannel_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Kannel Exporter](https://github.com/apostvav/kannel_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/keepalived.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/keepalived.md new file mode 100644 index 000000000..c93db0266 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/keepalived.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/keepalived.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Keepalived" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Keepalived + + +<img src="https://netdata.cloud/img/keepalived.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Keepalived metrics for efficient high-availability and load balancing management. + + +Metrics are gathered by periodically sending HTTP requests to [Keepalived Exporter](https://github.com/gen2brain/keepalived_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Keepalived Exporter](https://github.com/gen2brain/keepalived_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kubernetes_cluster_cloud_cost.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kubernetes_cluster_cloud_cost.md new file mode 100644 index 000000000..22d6cb3cc --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kubernetes_cluster_cloud_cost.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/kubernetes_cluster_cloud_cost.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Kubernetes Cluster Cloud Cost" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Kubernetes" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Kubernetes Cluster Cloud Cost + + +<img src="https://netdata.cloud/img/kubernetes.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Kubernetes cloud cost metrics for efficient cloud resource management and budgeting. + + +Metrics are gathered by periodically sending HTTP requests to [Kubernetes Cloud Cost Exporter](https://github.com/agilestacks/korral). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Kubernetes Cloud Cost Exporter](https://github.com/agilestacks/korral) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lagerist_disk_latency.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lagerist_disk_latency.md new file mode 100644 index 000000000..e584b92dc --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lagerist_disk_latency.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lagerist_disk_latency.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Lagerist Disk latency" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Lagerist Disk latency + + +<img src="https://netdata.cloud/img/linux.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track disk latency metrics for efficient storage performance and diagnostics. + + +Metrics are gathered by periodically sending HTTP requests to [Lagerist Disk latency exporter](https://github.com/Svedrin/lagerist). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Lagerist Disk latency exporter](https://github.com/Svedrin/lagerist) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ldap.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ldap.md new file mode 100644 index 000000000..e9ebb1dd5 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ldap.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ldap.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "LDAP" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Authentication and Authorization" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# LDAP + + +<img src="https://netdata.cloud/img/ldap.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Lightweight Directory Access Protocol (LDAP) metrics for efficient directory service management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [LDAP Exporter](https://github.com/titisan/ldap_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [LDAP Exporter](https://github.com/titisan/ldap_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/linode.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/linode.md new file mode 100644 index 000000000..cf69d5331 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/linode.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/linode.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Linode" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Linode + + +<img src="https://netdata.cloud/img/linode.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Linode cloud hosting metrics for efficient virtual server management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Linode Exporter](https://github.com/DazWilkin/linode-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Linode Exporter](https://github.com/DazWilkin/linode-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/loki.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/loki.md new file mode 100644 index 000000000..70426ce2b --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/loki.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/loki.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "loki" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Logs Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# loki + + +<img src="https://netdata.cloud/img/loki.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Loki metrics. + + +Metrics are gathered by periodically sending HTTP requests to [loki](https://github.com/grafana/loki). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Loki + +Install [loki](https://github.com/grafana/loki) according to its documentation. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lustre_metadata.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lustre_metadata.md new file mode 100644 index 000000000..234218d51 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lustre_metadata.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lustre_metadata.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Lustre metadata" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Lustre metadata + + +<img src="https://netdata.cloud/img/lustre.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Lustre clustered file system for efficient management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Cluster Exporter](https://github.com/GSI-HPC/prometheus-cluster-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Cluster Exporter](https://github.com/GSI-HPC/prometheus-cluster-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lynis_audit_reports.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lynis_audit_reports.md new file mode 100644 index 000000000..1a98b2752 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lynis_audit_reports.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/lynis_audit_reports.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Lynis audit reports" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Security Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Lynis audit reports + + +<img src="https://netdata.cloud/img/lynis.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Lynis security auditing tool metrics for efficient system security and compliance management. + + +Metrics are gathered by periodically sending HTTP requests to [lynis_exporter](https://github.com/MauveSoftware/lynis_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [lynis_exporter](https://github.com/MauveSoftware/lynis_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/machbase.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/machbase.md new file mode 100644 index 000000000..09fb596e7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/machbase.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/machbase.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Machbase" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Machbase + + +<img src="https://netdata.cloud/img/machbase.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Machbase time-series database metrics for efficient data storage and query performance. + + +Metrics are gathered by periodically sending HTTP requests to [Machbase Exporter](https://github.com/MACHBASE/prometheus-machbase-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Machbase Exporter](https://github.com/MACHBASE/prometheus-machbase-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/maildir.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/maildir.md new file mode 100644 index 000000000..35bcb6247 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/maildir.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/maildir.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Maildir" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Mail Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Maildir + + +<img src="https://netdata.cloud/img/mailserver.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track mail server metrics for optimized email management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [mailexporter](https://github.com/cherti/mailexporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [mailexporter](https://github.com/cherti/mailexporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/meilisearch.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/meilisearch.md new file mode 100644 index 000000000..462ee5af3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/meilisearch.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/meilisearch.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Meilisearch" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Search Engines" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Meilisearch + + +<img src="https://netdata.cloud/img/meilisearch.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Meilisearch search engine metrics for efficient search performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [Meilisearch Exporter](https://github.com/scottaglia/meilisearch_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Meilisearch Exporter](https://github.com/scottaglia/meilisearch_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/memcached_community.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/memcached_community.md new file mode 100644 index 000000000..a98b63acf --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/memcached_community.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/memcached_community.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Memcached (community)" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Memcached (community) + + +<img src="https://netdata.cloud/img/memcached.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Memcached in-memory key-value store metrics for efficient caching performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [Memcached exporter](https://github.com/prometheus/memcached_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Memcached exporter](https://github.com/prometheus/memcached_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/meraki_dashboard.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/meraki_dashboard.md new file mode 100644 index 000000000..223e0ad70 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/meraki_dashboard.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/meraki_dashboard.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Meraki dashboard" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Meraki dashboard + + +<img src="https://netdata.cloud/img/meraki.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Cisco Meraki cloud-managed networking device metrics for efficient network management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Meraki dashboard data exporter using API](https://github.com/TheHolm/meraki-dashboard-promethus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Meraki dashboard data exporter using API](https://github.com/TheHolm/meraki-dashboard-promethus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mesos.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mesos.md new file mode 100644 index 000000000..6f22a6d64 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mesos.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mesos.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Mesos" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Task Queues" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Mesos + + +<img src="https://netdata.cloud/img/mesos.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Apache Mesos cluster manager metrics for efficient resource management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Mesos exporter](http://github.com/mesosphere/mesos_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Mesos exporter](http://github.com/mesosphere/mesos_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mikrotik_devices.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mikrotik_devices.md new file mode 100644 index 000000000..a6b4126c3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mikrotik_devices.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mikrotik_devices.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "MikroTik devices" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# MikroTik devices + + +<img src="https://netdata.cloud/img/mikrotik.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on MikroTik RouterOS metrics for efficient network device management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [mikrotik-exporter](https://github.com/swoga/mikrotik-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [nshttpd/mikrotik-exporter, swoga/m](https://github.com/swoga/mikrotik-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mikrotik_routeros_devices.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mikrotik_routeros_devices.md new file mode 100644 index 000000000..9972d24c7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mikrotik_routeros_devices.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mikrotik_routeros_devices.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Mikrotik RouterOS devices" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Mikrotik RouterOS devices + + +<img src="https://netdata.cloud/img/routeros.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track MikroTik RouterOS metrics for efficient network device management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [RouterOS exporter](https://github.com/welbymcroberts/routeros_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [RouterOS exporter](https://github.com/welbymcroberts/routeros_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/minecraft.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/minecraft.md new file mode 100644 index 000000000..70c8ffd1b --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/minecraft.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/minecraft.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Minecraft" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Gaming" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Minecraft + + +<img src="https://netdata.cloud/img/minecraft.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Minecraft server metrics for efficient game server management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Minecraft Exporter](https://github.com/sladkoff/minecraft-prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Minecraft Exporter](https://github.com/sladkoff/minecraft-prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/modbus_protocol.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/modbus_protocol.md new file mode 100644 index 000000000..8856e6d44 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/modbus_protocol.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/modbus_protocol.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Modbus protocol" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Modbus protocol + + +<img src="https://netdata.cloud/img/modbus.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Modbus RTU protocol metrics for efficient industrial automation and control performance. + + +Metrics are gathered by periodically sending HTTP requests to [modbusrtu_exporter](https://github.com/dernasherbrezon/modbusrtu_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [modbusrtu_exporter](https://github.com/dernasherbrezon/modbusrtu_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mogilefs.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mogilefs.md new file mode 100644 index 000000000..84d435c70 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mogilefs.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mogilefs.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "MogileFS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# MogileFS + + +<img src="https://netdata.cloud/img/filesystem.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor MogileFS distributed file system metrics for efficient storage management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [MogileFS Exporter](https://github.com/KKBOX/mogilefs-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [MogileFS Exporter](https://github.com/KKBOX/mogilefs-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/monnit_sensors_mqtt.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/monnit_sensors_mqtt.md new file mode 100644 index 000000000..f5104fdf6 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/monnit_sensors_mqtt.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/monnit_sensors_mqtt.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Monnit Sensors MQTT" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Monnit Sensors MQTT + + +<img src="https://netdata.cloud/img/monnit.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Monnit sensor data via MQTT for efficient IoT device monitoring and management. + + +Metrics are gathered by periodically sending HTTP requests to [Monnit Sensors MQTT Exporter WIP](https://github.com/braxton9460/monnit-mqtt-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Monnit Sensors MQTT Exporter WIP](https://github.com/braxton9460/monnit-mqtt-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mosquitto.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mosquitto.md new file mode 100644 index 000000000..10111d4ab --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mosquitto.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mosquitto.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "mosquitto" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Message Brokers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# mosquitto + + +<img src="https://netdata.cloud/img/mosquitto.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Mosquitto MQTT broker metrics for efficient IoT message transport and performance. + + +Metrics are gathered by periodically sending HTTP requests to [mosquitto exporter](https://github.com/sapcc/mosquitto-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [mosquitto exporter](https://github.com/sapcc/mosquitto-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mp707_usb_thermometer.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mp707_usb_thermometer.md new file mode 100644 index 000000000..ecc0cd9a7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mp707_usb_thermometer.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mp707_usb_thermometer.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "MP707 USB thermometer" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# MP707 USB thermometer + + +<img src="https://netdata.cloud/img/thermometer.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track MP707 power strip metrics for efficient energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [MP707 exporter](https://github.com/nradchenko/mp707_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [MP707 exporter](https://github.com/nradchenko/mp707_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mqtt_blackbox.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mqtt_blackbox.md new file mode 100644 index 000000000..913b416ce --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mqtt_blackbox.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mqtt_blackbox.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "MQTT Blackbox" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Message Brokers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# MQTT Blackbox + + +<img src="https://netdata.cloud/img/mqtt.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track MQTT message transport performance using blackbox testing methods. + + +Metrics are gathered by periodically sending HTTP requests to [MQTT Blackbox Exporter](https://github.com/inovex/mqtt_blackbox_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [MQTT Blackbox Exporter](https://github.com/inovex/mqtt_blackbox_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mtail.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mtail.md new file mode 100644 index 000000000..32b6278d7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mtail.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/mtail.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "mtail" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Logs Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# mtail + + +<img src="https://netdata.cloud/img/mtail.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor log data metrics using mtail log data extractor and parser. + + +Metrics are gathered by periodically sending HTTP requests to [mtail](https://github.com/google/mtail). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [mtail](https://github.com/google/mtail) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/naemon.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/naemon.md new file mode 100644 index 000000000..dbd3e65fc --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/naemon.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/naemon.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Naemon" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Observability" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Naemon + + +<img src="https://netdata.cloud/img/naemon.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Naemon or Nagios network monitoring metrics for efficient IT infrastructure management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Naemon / Nagios Exporter](https://github.com/Griesbacher/Iapetos). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Naemon / Nagios Exporter](https://github.com/Griesbacher/Iapetos) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nagios.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nagios.md new file mode 100644 index 000000000..9cf3e9b04 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nagios.md @@ -0,0 +1,292 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nagios.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Nagios" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Observability" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Nagios + + +<img src="https://netdata.cloud/img/nagios.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Nagios network monitoring metrics for efficient +IT infrastructure management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Nagios exporter](https://github.com/wbollock/nagios_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Nagios exporter](https://github.com/wbollock/nagios_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nature_remo_e_lite_devices.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nature_remo_e_lite_devices.md new file mode 100644 index 000000000..61d89b503 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nature_remo_e_lite_devices.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nature_remo_e_lite_devices.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Nature Remo E lite devices" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Nature Remo E lite devices + + +<img src="https://netdata.cloud/img/nature-remo.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Nature Remo E series smart home device metrics for efficient home automation and energy management. + + +Metrics are gathered by periodically sending HTTP requests to [Nature Remo E series Exporter](https://github.com/kenfdev/remo-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Nature Remo E series Exporter](https://github.com/kenfdev/remo-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netapp_ontap_api.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netapp_ontap_api.md new file mode 100644 index 000000000..dc712e3d9 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netapp_ontap_api.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netapp_ontap_api.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Netapp ONTAP API" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Netapp ONTAP API + + +<img src="https://netdata.cloud/img/netapp.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on NetApp ONTAP storage system metrics for efficient data storage management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Netapp ONTAP API Exporter](https://github.com/sapcc/netapp-api-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Netapp ONTAP API Exporter](https://github.com/sapcc/netapp-api-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netapp_solidfire.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netapp_solidfire.md new file mode 100644 index 000000000..d80c68a74 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netapp_solidfire.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netapp_solidfire.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "NetApp Solidfire" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# NetApp Solidfire + + +<img src="https://netdata.cloud/img/netapp.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track NetApp Solidfire storage system metrics for efficient data storage management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [NetApp Solidfire Exporter](https://github.com/mjavier2k/solidfire-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [NetApp Solidfire Exporter](https://github.com/mjavier2k/solidfire-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netatmo_sensors.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netatmo_sensors.md new file mode 100644 index 000000000..37388fbfb --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netatmo_sensors.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netatmo_sensors.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Netatmo sensors" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Netatmo sensors + + +<img src="https://netdata.cloud/img/netatmo.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Netatmo smart home device metrics for efficient home automation and energy management. + + +Metrics are gathered by periodically sending HTTP requests to [Netatmo exporter](https://github.com/xperimental/netatmo-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Netatmo exporter](https://github.com/xperimental/netatmo-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netflow.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netflow.md new file mode 100644 index 000000000..2645ba40a --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netflow.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netflow.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "NetFlow" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# NetFlow + + +<img src="https://netdata.cloud/img/netflow.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track NetFlow network traffic metrics for efficient network monitoring and performance. + + +Metrics are gathered by periodically sending HTTP requests to [netflow exporter](https://github.com/paihu/netflow_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [netflow exporter](https://github.com/paihu/netflow_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netmeter.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netmeter.md new file mode 100644 index 000000000..3e2807b64 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netmeter.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/netmeter.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "NetMeter" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# NetMeter + + +<img src="https://netdata.cloud/img/netmeter.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor NetMeter network traffic metrics for efficient network management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [NetMeter Exporter](https://github.com/ssbostan/netmeter-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [NetMeter Exporter](https://github.com/ssbostan/netmeter-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/new_relic.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/new_relic.md new file mode 100644 index 000000000..a72f277ac --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/new_relic.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/new_relic.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "New Relic" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Observability" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# New Relic + + +<img src="https://netdata.cloud/img/newrelic.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor New Relic application performance management metrics for efficient application monitoring and performance. + + +Metrics are gathered by periodically sending HTTP requests to [New Relic exporter](https://github.com/jfindley/newrelic_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [New Relic exporter](https://github.com/jfindley/newrelic_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nextcloud_servers.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nextcloud_servers.md new file mode 100644 index 000000000..8edb2e11f --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nextcloud_servers.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nextcloud_servers.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Nextcloud servers" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Nextcloud servers + + +<img src="https://netdata.cloud/img/nextcloud.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Nextcloud cloud storage metrics for efficient file hosting and management. + + +Metrics are gathered by periodically sending HTTP requests to [Nextcloud exporter](https://github.com/xperimental/nextcloud-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Nextcloud exporter](https://github.com/xperimental/nextcloud-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nextdns.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nextdns.md new file mode 100644 index 000000000..226618562 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nextdns.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nextdns.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "NextDNS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/DNS and DHCP Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# NextDNS + + +<img src="https://netdata.cloud/img/nextdns.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track NextDNS DNS resolver and security platform metrics for efficient DNS management and security. + + +Metrics are gathered by periodically sending HTTP requests to [nextdns-exporter](https://github.com/raylas/nextdns-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [nextdns-exporter](https://github.com/raylas/nextdns-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nftables.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nftables.md new file mode 100644 index 000000000..f71039f42 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nftables.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nftables.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "nftables" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Linux Systems/Firewall" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# nftables + + +<img src="https://netdata.cloud/img/nftables.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor nftables firewall metrics for efficient network security and management. + + +Metrics are gathered by periodically sending HTTP requests to [nftables_exporter](https://github.com/Sheridan/nftables_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [nftables_exporter](https://github.com/Sheridan/nftables_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nrpe_daemon.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nrpe_daemon.md new file mode 100644 index 000000000..58861af14 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nrpe_daemon.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nrpe_daemon.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "NRPE daemon" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# NRPE daemon + + +<img src="https://netdata.cloud/img/nrpelinux.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Nagios Remote Plugin Executor (NRPE) metrics for efficient system and network monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [NRPE exporter](https://github.com/canonical/nrpe_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [NRPE exporter](https://github.com/canonical/nrpe_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nsx-t.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nsx-t.md new file mode 100644 index 000000000..b6946af5e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nsx-t.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nsx-t.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "NSX-T" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Containers and VMs" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# NSX-T + + +<img src="https://netdata.cloud/img/vmware-nsx.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track VMware NSX-T software-defined networking metrics for efficient network virtualization and security management. + + +Metrics are gathered by periodically sending HTTP requests to [NSX-T Exporter](https://github.com/jk8s/nsxt_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [NSX-T Exporter](https://github.com/jk8s/nsxt_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nvml.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nvml.md new file mode 100644 index 000000000..cd3ed7b82 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nvml.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/nvml.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "NVML" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Hardware Devices and Sensors" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# NVML + + +<img src="https://netdata.cloud/img/nvidia.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on NVIDIA Management Library (NVML) GPU metrics for efficient GPU performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [NVML exporter](https://github.com/oko/nvml-exporter-rs). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [NVML exporter](https://github.com/oko/nvml-exporter-rs) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/obs_studio.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/obs_studio.md new file mode 100644 index 000000000..867bf5e24 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/obs_studio.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/obs_studio.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "OBS Studio" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Media Services" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# OBS Studio + + +<img src="https://netdata.cloud/img/obs-studio.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track OBS Studio live streaming and recording software metrics for efficient video production and performance. + + +Metrics are gathered by periodically sending HTTP requests to [OBS Studio Exporter](https://github.com/lukegb/obs_studio_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [OBS Studio Exporter](https://github.com/lukegb/obs_studio_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/odbc.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/odbc.md new file mode 100644 index 000000000..ce6c8b23e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/odbc.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/odbc.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "ODBC" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# ODBC + + +<img src="https://netdata.cloud/img/odbc.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Open Database Connectivity (ODBC) metrics for efficient database connection and performance. + + +Metrics are gathered by periodically sending HTTP requests to [ODBC Exporter](https://github.com/MACHBASE/prometheus-odbc-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [ODBC Exporter](https://github.com/MACHBASE/prometheus-odbc-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/open_vswitch.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/open_vswitch.md new file mode 100644 index 000000000..097329fff --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/open_vswitch.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/open_vswitch.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Open vSwitch" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Open vSwitch + + +<img src="https://netdata.cloud/img/ovs.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Open vSwitch software-defined networking metrics for efficient network virtualization and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Open vSwitch Exporter](https://github.com/digitalocean/openvswitch_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Open vSwitch Exporter](https://github.com/digitalocean/openvswitch_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openhab.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openhab.md new file mode 100644 index 000000000..08b66167a --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openhab.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openhab.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "OpenHAB" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# OpenHAB + + +<img src="https://netdata.cloud/img/openhab.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track openHAB smart home automation system metrics for efficient home automation and energy management. + + +Metrics are gathered by periodically sending HTTP requests to [OpenHAB exporter](https://github.com/pdreker/openhab_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [OpenHAB exporter](https://github.com/pdreker/openhab_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openldap_community.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openldap_community.md new file mode 100644 index 000000000..110379d82 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openldap_community.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openldap_community.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "OpenLDAP (community)" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Authentication and Authorization" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# OpenLDAP (community) + + +<img src="https://netdata.cloud/img/openldap.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor OpenLDAP directory service metrics for efficient directory management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [OpenLDAP Metrics Exporter](https://github.com/tomcz/openldap_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [OpenLDAP Metrics Exporter](https://github.com/tomcz/openldap_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openrc.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openrc.md new file mode 100644 index 000000000..b905bae21 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openrc.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openrc.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "OpenRC" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Linux Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# OpenRC + + +<img src="https://netdata.cloud/img/linux.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on OpenRC init system metrics for efficient system startup and service management. + + +Metrics are gathered by periodically sending HTTP requests to [openrc-exporter](https://git.sr.ht/~tomleb/openrc-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [openrc-exporter](https://git.sr.ht/~tomleb/openrc-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openrct2.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openrct2.md new file mode 100644 index 000000000..592b1cd65 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openrct2.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openrct2.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "OpenRCT2" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Gaming" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# OpenRCT2 + + +<img src="https://netdata.cloud/img/openRCT2.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track OpenRCT2 game metrics for efficient game server management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [OpenRCT2 Prometheus Exporter](https://github.com/terinjokes/openrct2-prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [OpenRCT2 Prometheus Exporter](https://github.com/terinjokes/openrct2-prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openroadm_devices.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openroadm_devices.md new file mode 100644 index 000000000..ff5f341f9 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openroadm_devices.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openroadm_devices.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "OpenROADM devices" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# OpenROADM devices + + +<img src="https://netdata.cloud/img/openroadm.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor OpenROADM optical transport network metrics using the NETCONF protocol for efficient network management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [OpenROADM NETCONF Exporter WIP](https://github.com/utdal/openroadm_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [OpenROADM NETCONF Exporter WIP](https://github.com/utdal/openroadm_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openstack.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openstack.md new file mode 100644 index 000000000..7c85fa21f --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openstack.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openstack.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "OpenStack" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# OpenStack + + +<img src="https://netdata.cloud/img/openstack.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track OpenStack cloud computing platform metrics for efficient infrastructure management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Openstack exporter](https://github.com/CanonicalLtd/prometheus-openstack-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Openstack exporter](https://github.com/CanonicalLtd/prometheus-openstack-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openvas.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openvas.md new file mode 100644 index 000000000..3741e4e05 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openvas.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openvas.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "OpenVAS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Security Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# OpenVAS + + +<img src="https://netdata.cloud/img/openVAS.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor OpenVAS vulnerability scanner metrics for efficient security assessment and management. + + +Metrics are gathered by periodically sending HTTP requests to [OpenVAS exporter](https://github.com/ModeClearCode/openvas_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [OpenVAS exporter](https://github.com/ModeClearCode/openvas_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openweathermap.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openweathermap.md new file mode 100644 index 000000000..e231692a8 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openweathermap.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/openweathermap.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "OpenWeatherMap" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Generic Collecting Metrics" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# OpenWeatherMap + + +<img src="https://netdata.cloud/img/openweather.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track OpenWeatherMap weather data and air pollution metrics for efficient environmental monitoring and analysis. + + +Metrics are gathered by periodically sending HTTP requests to [OpenWeatherMap Exporter](https://github.com/Tenzer/openweathermap-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [OpenWeatherMap Exporter](https://github.com/Tenzer/openweathermap-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/oracle_db_community.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/oracle_db_community.md new file mode 100644 index 000000000..2ab5a061d --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/oracle_db_community.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/oracle_db_community.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Oracle DB (community)" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Oracle DB (community) + + +<img src="https://netdata.cloud/img/oracle.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Oracle Database metrics for efficient database management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Oracle DB Exporter](https://github.com/iamseth/oracledb_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Oracle DB Exporter](https://github.com/iamseth/oracledb_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/otrs.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/otrs.md new file mode 100644 index 000000000..a59580ba7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/otrs.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/otrs.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "OTRS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Incident Management" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# OTRS + + +<img src="https://netdata.cloud/img/otrs.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor OTRS (Open-Source Ticket Request System) metrics for efficient helpdesk management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [OTRS Exporter](https://github.com/JulianDroste/otrs_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [OTRS Exporter](https://github.com/JulianDroste/otrs_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/patroni.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/patroni.md new file mode 100644 index 000000000..6f3760f3e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/patroni.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/patroni.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Patroni" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Patroni + + +<img src="https://netdata.cloud/img/patroni.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Patroni PostgreSQL high-availability metrics for efficient database management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Patroni Exporter](https://github.com/gopaytech/patroni_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Patroni Exporter](https://github.com/gopaytech/patroni_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/personal_weather_station.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/personal_weather_station.md new file mode 100644 index 000000000..31e74f7da --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/personal_weather_station.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/personal_weather_station.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Personal Weather Station" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Personal Weather Station + + +<img src="https://netdata.cloud/img/wunderground.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track personal weather station metrics for efficient weather monitoring and management. + + +Metrics are gathered by periodically sending HTTP requests to [Personal Weather Station Exporter](https://github.com/JohnOrthoefer/pws-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Personal Weather Station Exporter](https://github.com/JohnOrthoefer/pws-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pgbackrest.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pgbackrest.md new file mode 100644 index 000000000..5384e5f48 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pgbackrest.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pgbackrest.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "pgBackRest" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# pgBackRest + + +<img src="https://netdata.cloud/img/pgbackrest.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor pgBackRest PostgreSQL backup metrics for efficient database backup and management. + + +Metrics are gathered by periodically sending HTTP requests to [pgBackRest Exporter](https://github.com/woblerr/pgbackrest_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [pgBackRest Exporter](https://github.com/woblerr/pgbackrest_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pgpool-ii.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pgpool-ii.md new file mode 100644 index 000000000..3143ac30e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pgpool-ii.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pgpool-ii.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Pgpool-II" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Pgpool-II + + +<img src="https://netdata.cloud/img/pgpool2.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Pgpool-II PostgreSQL middleware metrics for efficient database connection management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Pgpool-II Exporter](https://github.com/pgpool/pgpool2_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Pgpool-II Exporter](https://github.com/pgpool/pgpool2_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/philips_hue.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/philips_hue.md new file mode 100644 index 000000000..d94a74bb8 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/philips_hue.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/philips_hue.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Philips Hue" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Philips Hue + + +<img src="https://netdata.cloud/img/hue.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Philips Hue smart lighting metrics for efficient home automation and energy management. + + +Metrics are gathered by periodically sending HTTP requests to [Philips Hue Exporter](https://github.com/aexel90/hue_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Philips Hue Exporter](https://github.com/aexel90/hue_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pimoroni_enviro+.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pimoroni_enviro+.md new file mode 100644 index 000000000..e696ab68e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pimoroni_enviro+.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pimoroni_enviro+.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Pimoroni Enviro+" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Pimoroni Enviro+ + + +<img src="https://netdata.cloud/img/pimorino.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Pimoroni Enviro+ air quality and environmental metrics for efficient environmental monitoring and analysis. + + +Metrics are gathered by periodically sending HTTP requests to [Pimoroni Enviro+ Exporter](https://github.com/terradolor/prometheus-enviro-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Pimoroni Enviro+ Exporter](https://github.com/terradolor/prometheus-enviro-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pingdom.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pingdom.md new file mode 100644 index 000000000..4977165b7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pingdom.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/pingdom.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Pingdom" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Synthetic Checks" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Pingdom + + +<img src="https://netdata.cloud/img/solarwinds.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Pingdom website monitoring service metrics for efficient website performance management and diagnostics. + + +Metrics are gathered by periodically sending HTTP requests to [Pingdom Exporter](https://github.com/veepee-oss/pingdom_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Pingdom Exporter](https://github.com/veepee-oss/pingdom_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/podman.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/podman.md new file mode 100644 index 000000000..6d599fc46 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/podman.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/podman.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Podman" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Containers and VMs" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Podman + + +<img src="https://netdata.cloud/img/podman.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Podman container runtime metrics for efficient container management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [PODMAN exporter](https://github.com/containers/prometheus-podman-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [PODMAN exporter](https://github.com/containers/prometheus-podman-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/powerpal_devices.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/powerpal_devices.md new file mode 100644 index 000000000..685ad6f94 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/powerpal_devices.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/powerpal_devices.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Powerpal devices" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Powerpal devices + + +<img src="https://netdata.cloud/img/powerpal.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Powerpal smart meter metrics for efficient energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [Powerpal Exporter](https://github.com/aashley/powerpal_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Powerpal Exporter](https://github.com/aashley/powerpal_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/proftpd.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/proftpd.md new file mode 100644 index 000000000..857b036d3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/proftpd.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/proftpd.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "ProFTPD" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/FTP Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# ProFTPD + + +<img src="https://netdata.cloud/img/proftpd.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor ProFTPD FTP server metrics for efficient file transfer and server performance. + + +Metrics are gathered by periodically sending HTTP requests to [ProFTPD Exporter](https://github.com/transnano/proftpd_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [ProFTPD Exporter](https://github.com/transnano/proftpd_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/prometheus_endpoint.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/prometheus_endpoint.md new file mode 100644 index 000000000..a88a62861 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/prometheus_endpoint.md @@ -0,0 +1,287 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/prometheus_endpoint.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Prometheus endpoint" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Generic Collecting Metrics" +most_popular: True +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Prometheus endpoint + + +<img src="https://netdata.cloud/img/prometheus.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" /> + +## Overview + +This generic Prometheus collector gathers metrics from any [`Prometheus`](https://prometheus.io/) endpoints. + + +It collects metrics by periodically sending HTTP requests to the target instance. + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +No action required. + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/proxmox_ve.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/proxmox_ve.md new file mode 100644 index 000000000..505273a47 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/proxmox_ve.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/proxmox_ve.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Proxmox VE" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Containers and VMs" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Proxmox VE + + +<img src="https://netdata.cloud/img/proxmox.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Proxmox Virtual Environment metrics for efficient virtualization and container management. + + +Metrics are gathered by periodically sending HTTP requests to [Proxmox VE Exporter](https://github.com/prometheus-pve/prometheus-pve-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Proxmox VE Exporter](https://github.com/prometheus-pve/prometheus-pve-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/radio_thermostat.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/radio_thermostat.md new file mode 100644 index 000000000..ae8c22fee --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/radio_thermostat.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/radio_thermostat.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Radio Thermostat" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Radio Thermostat + + +<img src="https://netdata.cloud/img/radiots.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Radio Thermostat smart thermostat metrics for efficient home automation and energy management. + + +Metrics are gathered by periodically sending HTTP requests to [Radio Thermostat Exporter](https://github.com/andrewlow/radio-thermostat-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Radio Thermostat Exporter](https://github.com/andrewlow/radio-thermostat-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/radius.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/radius.md new file mode 100644 index 000000000..320171d98 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/radius.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/radius.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "RADIUS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Authentication and Authorization" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# RADIUS + + +<img src="https://netdata.cloud/img/radius.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on RADIUS (Remote Authentication Dial-In User Service) protocol metrics for efficient authentication and access management. + + +Metrics are gathered by periodically sending HTTP requests to [RADIUS exporter](https://github.com/devon-mar/radius-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [RADIUS exporter](https://github.com/devon-mar/radius-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/rancher.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/rancher.md new file mode 100644 index 000000000..974426d7b --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/rancher.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/rancher.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Rancher" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Kubernetes" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Rancher + + +<img src="https://netdata.cloud/img/rancher.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Rancher container orchestration platform metrics for efficient container management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Rancher Exporter](https://github.com/infinityworksltd/prometheus-rancher-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Rancher Exporter](https://github.com/infinityworksltd/prometheus-rancher-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/raritan_pdu.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/raritan_pdu.md new file mode 100644 index 000000000..cd23cf122 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/raritan_pdu.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/raritan_pdu.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Raritan PDU" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Hardware Devices and Sensors" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Raritan PDU + + +<img src="https://netdata.cloud/img/raritan.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Raritan Power Distribution Unit (PDU) metrics for efficient power management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [Raritan PDU Exporter](https://github.com/psyinfra/prometheus-raritan-pdu-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Raritan PDU Exporter](https://github.com/psyinfra/prometheus-raritan-pdu-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/redis_queue.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/redis_queue.md new file mode 100644 index 000000000..df8ec7f56 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/redis_queue.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/redis_queue.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Redis Queue" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Message Brokers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Redis Queue + + +<img src="https://netdata.cloud/img/rq.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Python RQ (Redis Queue) job queue metrics for efficient task management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Python RQ Exporter](https://github.com/mdawar/rq-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Python RQ Exporter](https://github.com/mdawar/rq-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ripe_atlas.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ripe_atlas.md new file mode 100644 index 000000000..9f97f29eb --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ripe_atlas.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ripe_atlas.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "RIPE Atlas" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# RIPE Atlas + + +<img src="https://netdata.cloud/img/ripe.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on RIPE Atlas Internet measurement platform metrics for efficient network monitoring and performance. + + +Metrics are gathered by periodically sending HTTP requests to [RIPE Atlas Exporter](https://github.com/czerwonk/atlas_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [RIPE Atlas Exporter](https://github.com/czerwonk/atlas_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sabnzbd.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sabnzbd.md new file mode 100644 index 000000000..df3c52d6b --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sabnzbd.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sabnzbd.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "SABnzbd" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Media Services" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# SABnzbd + + +<img src="https://netdata.cloud/img/sabnzbd.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor SABnzbd Usenet client metrics for efficient file downloads and resource management. + + +Metrics are gathered by periodically sending HTTP requests to [SABnzbd Exporter](https://github.com/msroest/sabnzbd_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [SABnzbd Exporter](https://github.com/msroest/sabnzbd_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/salicru_eqx_inverter.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/salicru_eqx_inverter.md new file mode 100644 index 000000000..c77e8f4b8 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/salicru_eqx_inverter.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/salicru_eqx_inverter.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Salicru EQX inverter" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Salicru EQX inverter + + +<img src="https://netdata.cloud/img/salicru.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Salicru EQX solar inverter metrics for efficient solar energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [Salicru EQX inverter](https://github.com/alejandroscf/prometheus_salicru_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Salicru EQX inverter](https://github.com/alejandroscf/prometheus_salicru_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sense_energy.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sense_energy.md new file mode 100644 index 000000000..34e40b4a0 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sense_energy.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sense_energy.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Sense Energy" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Sense Energy + + +<img src="https://netdata.cloud/img/sense.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Sense Energy smart meter metrics for efficient energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [Sense Energy exporter](https://github.com/ejsuncy/sense_energy_prometheus_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Sense Energy exporter](https://github.com/ejsuncy/sense_energy_prometheus_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sentry.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sentry.md new file mode 100644 index 000000000..2f65cad8e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sentry.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sentry.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Sentry" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Sentry + + +<img src="https://netdata.cloud/img/sentry.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Sentry error tracking and monitoring platform metrics for efficient application performance and error management. + + +Metrics are gathered by periodically sending HTTP requests to [Sentry Exporter](https://github.com/snakecharmer/sentry_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Sentry Exporter](https://github.com/snakecharmer/sentry_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/servertech.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/servertech.md new file mode 100644 index 000000000..4026f2037 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/servertech.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/servertech.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "ServerTech" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Hardware Devices and Sensors" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# ServerTech + + +<img src="https://netdata.cloud/img/servertech.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Server Technology power distribution unit (PDU) metrics for efficient power management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [ServerTech Exporter](https://github.com/tynany/servertech_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [ServerTech Exporter](https://github.com/tynany/servertech_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/shell_command.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/shell_command.md new file mode 100644 index 000000000..b4cd7eb8d --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/shell_command.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/shell_command.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Shell command" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Generic Collecting Metrics" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Shell command + + +<img src="https://netdata.cloud/img/crunner.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track custom command output metrics for tailored monitoring and management. + + +Metrics are gathered by periodically sending HTTP requests to [Command runner exporter](https://github.com/tomwilkie/prom-run). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Command runner exporter](https://github.com/tomwilkie/prom-run) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/shelly_humidity_sensor.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/shelly_humidity_sensor.md new file mode 100644 index 000000000..cba4c98c4 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/shelly_humidity_sensor.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/shelly_humidity_sensor.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Shelly humidity sensor" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Shelly humidity sensor + + +<img src="https://netdata.cloud/img/shelly.jpg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Shelly smart home device metrics for efficient home automation and energy management. + + +Metrics are gathered by periodically sending HTTP requests to [Shelly Exporter](https://github.com/aexel90/shelly_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Shelly Exporter](https://github.com/aexel90/shelly_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sia.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sia.md new file mode 100644 index 000000000..bbf35d0c4 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sia.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sia.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Sia" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Blockchain Servers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Sia + + +<img src="https://netdata.cloud/img/sia.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Sia decentralized storage platform metrics for efficient storage management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Sia Exporter](https://github.com/tbenz9/sia_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Sia Exporter](https://github.com/tbenz9/sia_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/siemens_s7_plc.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/siemens_s7_plc.md new file mode 100644 index 000000000..d8afb7173 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/siemens_s7_plc.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/siemens_s7_plc.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Siemens S7 PLC" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Hardware Devices and Sensors" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Siemens S7 PLC + + +<img src="https://netdata.cloud/img/siemens.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Siemens S7 Programmable Logic Controller (PLC) metrics for efficient industrial automation and control. + + +Metrics are gathered by periodically sending HTTP requests to [Siemens S7 PLC exporter](https://github.com/MarcusCalidus/s7-plc-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Siemens S7 PLC exporter](https://github.com/MarcusCalidus/s7-plc-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/site_24x7.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/site_24x7.md new file mode 100644 index 000000000..2685d6f3d --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/site_24x7.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/site_24x7.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Site 24x7" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Synthetic Checks" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Site 24x7 + + +<img src="https://netdata.cloud/img/site24x7.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Site24x7 website and infrastructure monitoring metrics for efficient performance tracking and management. + + +Metrics are gathered by periodically sending HTTP requests to [site24x7 Exporter](https://github.com/svenstaro/site24x7_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [site24x7 Exporter](https://github.com/svenstaro/site24x7_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/slurm.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/slurm.md new file mode 100644 index 000000000..02cc66113 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/slurm.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/slurm.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Slurm" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Task Queues" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Slurm + + +<img src="https://netdata.cloud/img/slurm.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Slurm workload manager metrics for efficient high-performance computing (HPC) and cluster management. + + +Metrics are gathered by periodically sending HTTP requests to [slurm exporter](https://github.com/vpenso/prometheus-slurm-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [slurm exporter](https://github.com/vpenso/prometheus-slurm-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sma_inverters.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sma_inverters.md new file mode 100644 index 000000000..4eddc35b9 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sma_inverters.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sma_inverters.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "SMA Inverters" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# SMA Inverters + + +<img src="https://netdata.cloud/img/sma.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor SMA solar inverter metrics for efficient solar energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [sma-exporter](https://github.com/dr0ps/sma_inverter_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [sma-exporter](https://github.com/dr0ps/sma_inverter_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/smart_meters_sml.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/smart_meters_sml.md new file mode 100644 index 000000000..ed7920de4 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/smart_meters_sml.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/smart_meters_sml.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Smart meters SML" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Smart meters SML + + +<img src="https://netdata.cloud/img/sml.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Smart Message Language (SML) metrics for efficient smart metering and energy management. + + +Metrics are gathered by periodically sending HTTP requests to [SML Exporter](https://github.com/mweinelt/sml-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [SML Exporter](https://github.com/mweinelt/sml-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/smartrg_808ac_cable_modem.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/smartrg_808ac_cable_modem.md new file mode 100644 index 000000000..aca91346d --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/smartrg_808ac_cable_modem.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/smartrg_808ac_cable_modem.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "SmartRG 808AC Cable Modem" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# SmartRG 808AC Cable Modem + + +<img src="https://netdata.cloud/img/smartr.jpeg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor SmartRG SR808ac router metrics for efficient network device management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [smartrg808ac_exporter](https://github.com/AdamIsrael/smartrg808ac_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [smartrg808ac_exporter](https://github.com/AdamIsrael/smartrg808ac_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/softether_vpn_server.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/softether_vpn_server.md new file mode 100644 index 000000000..694cd1d04 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/softether_vpn_server.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/softether_vpn_server.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "SoftEther VPN Server" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/VPNs" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# SoftEther VPN Server + + +<img src="https://netdata.cloud/img/softether.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor SoftEther VPN Server metrics for efficient virtual private network (VPN) management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [SoftEther Exporter](https://github.com/dalance/softether_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [SoftEther Exporter](https://github.com/dalance/softether_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solar_logging_stick.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solar_logging_stick.md new file mode 100644 index 000000000..812ec91fc --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solar_logging_stick.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solar_logging_stick.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Solar logging stick" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Solar logging stick + + +<img src="https://netdata.cloud/img/solar.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor solar energy metrics using a solar logging stick for efficient solar energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [Solar logging stick exporter](https://gitlab.com/bhavin192/lsx-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Solar logging stick exporter](https://gitlab.com/bhavin192/lsx-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solaredge_inverters.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solaredge_inverters.md new file mode 100644 index 000000000..ad8850ae1 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solaredge_inverters.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solaredge_inverters.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "SolarEdge inverters" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# SolarEdge inverters + + +<img src="https://netdata.cloud/img/solaredge.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track SolarEdge solar inverter metrics for efficient solar energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [SolarEdge Exporter](https://github.com/dave92082/SolarEdge-Exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [SolarEdge Exporter](https://github.com/dave92082/SolarEdge-Exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solis_ginlong_5g_inverters.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solis_ginlong_5g_inverters.md new file mode 100644 index 000000000..8ec17035e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solis_ginlong_5g_inverters.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/solis_ginlong_5g_inverters.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Solis Ginlong 5G inverters" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Solis Ginlong 5G inverters + + +<img src="https://netdata.cloud/img/solis.jpg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Solis solar inverter metrics for efficient solar energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [Solis Exporter](https://github.com/candlerb/solis_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Solis Exporter](https://github.com/candlerb/solis_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sonic_nos.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sonic_nos.md new file mode 100644 index 000000000..3497fd30f --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sonic_nos.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sonic_nos.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "SONiC NOS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# SONiC NOS + + +<img src="https://netdata.cloud/img/sonic.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on Software for Open Networking in the Cloud (SONiC) metrics for efficient network switch management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [SONiC Exporter](https://github.com/kamelnetworks/sonic_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [SONiC Exporter](https://github.com/kamelnetworks/sonic_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/spacelift.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/spacelift.md new file mode 100644 index 000000000..169e5ca21 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/spacelift.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/spacelift.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Spacelift" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Provisioning Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Spacelift + + +<img src="https://netdata.cloud/img/spacelift.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Spacelift infrastructure-as-code (IaC) platform metrics for efficient infrastructure automation and management. + + +Metrics are gathered by periodically sending HTTP requests to [Spacelift Exporter](https://github.com/spacelift-io/prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Spacelift Exporter](https://github.com/spacelift-io/prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/speedify_cli.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/speedify_cli.md new file mode 100644 index 000000000..575d5b8a1 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/speedify_cli.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/speedify_cli.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Speedify CLI" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/VPNs" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Speedify CLI + + +<img src="https://netdata.cloud/img/speedify.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Speedify VPN metrics for efficient virtual private network (VPN) management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Speedify Exporter](https://github.com/willshen/speedify_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Speedify Exporter](https://github.com/willshen/speedify_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sphinx.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sphinx.md new file mode 100644 index 000000000..12fe34901 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sphinx.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sphinx.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Sphinx" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Search Engines" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Sphinx + + +<img src="https://netdata.cloud/img/sphinx.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Sphinx search engine metrics for efficient search and indexing performance. + + +Metrics are gathered by periodically sending HTTP requests to [Sphinx Exporter](https://github.com/foxdalas/sphinx_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Sphinx Exporter](https://github.com/foxdalas/sphinx_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sql_database_agnostic.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sql_database_agnostic.md new file mode 100644 index 000000000..455ad0031 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sql_database_agnostic.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sql_database_agnostic.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "SQL Database agnostic" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# SQL Database agnostic + + +<img src="https://netdata.cloud/img/sql.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Query SQL databases for efficient database performance monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [SQL Exporter](https://github.com/free/sql_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [SQL Exporter](https://github.com/free/sql_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ssh.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ssh.md new file mode 100644 index 000000000..cf359abca --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ssh.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ssh.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "SSH" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Authentication and Authorization" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# SSH + + +<img src="https://netdata.cloud/img/ssh.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor SSH server metrics for efficient secure shell server management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [SSH Exporter](https://github.com/Nordstrom/ssh_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [SSH Exporter](https://github.com/Nordstrom/ssh_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ssl_certificate.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ssl_certificate.md new file mode 100644 index 000000000..41c4ec558 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ssl_certificate.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ssl_certificate.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "SSL Certificate" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Security Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# SSL Certificate + + +<img src="https://netdata.cloud/img/ssl.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track SSL/TLS certificate metrics for efficient web security and certificate management. + + +Metrics are gathered by periodically sending HTTP requests to [SSL Certificate exporter](https://github.com/ribbybibby/ssl_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [SSL Certificate exporter](https://github.com/ribbybibby/ssl_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/starlink_spacex.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/starlink_spacex.md new file mode 100644 index 000000000..9d8aaa05a --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/starlink_spacex.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/starlink_spacex.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Starlink (SpaceX)" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Starlink (SpaceX) + + +<img src="https://netdata.cloud/img/starlink.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor SpaceX Starlink satellite internet metrics for efficient internet service management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Starlink Exporter (SpaceX)](https://github.com/danopstech/starlink_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Starlink Exporter (SpaceX)](https://github.com/danopstech/starlink_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/starwind_vsan_vsphere_edition.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/starwind_vsan_vsphere_edition.md new file mode 100644 index 000000000..012be0739 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/starwind_vsan_vsphere_edition.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/starwind_vsan_vsphere_edition.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Starwind VSAN VSphere Edition" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Starwind VSAN VSphere Edition + + +<img src="https://netdata.cloud/img/starwind.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on StarWind Virtual SAN metrics for efficient storage virtualization and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Starwind vSAN Exporter](https://github.com/evoicefire/starwind-vsan-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Starwind vSAN Exporter](https://github.com/evoicefire/starwind-vsan-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/statuspage.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/statuspage.md new file mode 100644 index 000000000..37fb8af51 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/statuspage.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/statuspage.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "StatusPage" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Incident Management" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# StatusPage + + +<img src="https://netdata.cloud/img/statuspage.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor StatusPage.io incident and status metrics for efficient incident management and communication. + + +Metrics are gathered by periodically sending HTTP requests to [StatusPage Exporter](https://github.com/vladvasiliu/statuspage-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [StatusPage Exporter](https://github.com/vladvasiliu/statuspage-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/steam.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/steam.md new file mode 100644 index 000000000..91ca19c6c --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/steam.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/steam.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Steam" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Gaming" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Steam + + +<img src="https://netdata.cloud/img/a2s.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Gain insights into Steam A2S-supported game servers for performance and availability through real-time metric monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [A2S Exporter](https://github.com/armsnyder/a2s-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [A2S Exporter](https://github.com/armsnyder/a2s-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/storidge.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/storidge.md new file mode 100644 index 000000000..57170ebec --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/storidge.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/storidge.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Storidge" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Storidge + + +<img src="https://netdata.cloud/img/storidge.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Storidge storage metrics for efficient storage management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Storidge exporter](https://github.com/Storidge/cio-user-docs/blob/master/integrations/prometheus.md). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Storidge exporter](https://github.com/Storidge/cio-user-docs/blob/master/integrations/prometheus.md) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/stream.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/stream.md new file mode 100644 index 000000000..ee1101ce8 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/stream.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/stream.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Stream" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Media Services" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Stream + + +<img src="https://netdata.cloud/img/stream.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor streaming metrics for efficient media streaming and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Stream exporter](https://github.com/carlpett/stream_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Stream exporter](https://github.com/carlpett/stream_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/strongswan.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/strongswan.md new file mode 100644 index 000000000..5e32d4ee4 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/strongswan.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/strongswan.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "strongSwan" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/VPNs" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# strongSwan + + +<img src="https://netdata.cloud/img/strongswan.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track strongSwan VPN and IPSec metrics using the vici interface for efficient virtual private network (VPN) management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [strongSwan/IPSec/vici Exporter](https://github.com/jlti-dev/ipsec_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [strongSwan/IPSec/vici Exporter](https://github.com/jlti-dev/ipsec_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sunspec_solar_energy.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sunspec_solar_energy.md new file mode 100644 index 000000000..fff159a9e --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sunspec_solar_energy.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sunspec_solar_energy.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Sunspec Solar Energy" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Sunspec Solar Energy + + +<img src="https://netdata.cloud/img/sunspec.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor SunSpec Alliance solar energy metrics for efficient solar energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [Sunspec Solar Energy Exporter](https://github.com/inosion/prometheus-sunspec-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Sunspec Solar Energy Exporter](https://github.com/inosion/prometheus-sunspec-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/suricata.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/suricata.md new file mode 100644 index 000000000..12dba4721 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/suricata.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/suricata.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Suricata" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Security Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Suricata + + +<img src="https://netdata.cloud/img/suricata.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep an eye on Suricata network intrusion detection and prevention system (IDS/IPS) metrics for efficient network security and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Suricata Exporter](https://github.com/corelight/suricata_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Suricata Exporter](https://github.com/corelight/suricata_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/synology_activebackup.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/synology_activebackup.md new file mode 100644 index 000000000..b2891f6cc --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/synology_activebackup.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/synology_activebackup.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Synology ActiveBackup" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Synology ActiveBackup + + +<img src="https://netdata.cloud/img/synology.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Synology Active Backup metrics for efficient backup and data protection management. + + +Metrics are gathered by periodically sending HTTP requests to [Synology ActiveBackup Exporter](https://github.com/codemonauts/activebackup-prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Synology ActiveBackup Exporter](https://github.com/codemonauts/activebackup-prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sysload.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sysload.md new file mode 100644 index 000000000..74dbd5757 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sysload.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/sysload.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Sysload" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Sysload + + +<img src="https://netdata.cloud/img/sysload.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor system load metrics for efficient system performance and resource management. + + +Metrics are gathered by periodically sending HTTP requests to [Sysload Exporter](https://github.com/egmc/sysload_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Sysload Exporter](https://github.com/egmc/sysload_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/t-rex_nvidia_gpu_miner.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/t-rex_nvidia_gpu_miner.md new file mode 100644 index 000000000..a25f5cc92 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/t-rex_nvidia_gpu_miner.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/t-rex_nvidia_gpu_miner.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "T-Rex NVIDIA GPU Miner" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Hardware Devices and Sensors" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# T-Rex NVIDIA GPU Miner + + +<img src="https://netdata.cloud/img/trex.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor T-Rex NVIDIA GPU miner metrics for efficient cryptocurrency mining and GPU performance. + + +Metrics are gathered by periodically sending HTTP requests to [T-Rex NVIDIA GPU Miner Exporter](https://github.com/dennisstritzke/trex_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [T-Rex NVIDIA GPU Miner Exporter](https://github.com/dennisstritzke/trex_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tacacs.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tacacs.md new file mode 100644 index 000000000..c3c086637 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tacacs.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tacacs.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "TACACS" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Authentication and Authorization" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# TACACS + + +<img src="https://netdata.cloud/img/tacacs.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Terminal Access Controller Access-Control System (TACACS) protocol metrics for efficient network authentication and authorization management. + + +Metrics are gathered by periodically sending HTTP requests to [TACACS Exporter](https://github.com/devon-mar/tacacs-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [TACACS Exporter](https://github.com/devon-mar/tacacs-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tado_smart_heating_solution.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tado_smart_heating_solution.md new file mode 100644 index 000000000..28a332ab0 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tado_smart_heating_solution.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tado_smart_heating_solution.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Tado smart heating solution" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Tado smart heating solution + + +<img src="https://netdata.cloud/img/tado.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Tado smart thermostat metrics for efficient home heating and cooling management. + + +Metrics are gathered by periodically sending HTTP requests to [Tado\xB0 Exporter](https://github.com/eko/tado-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Tado Exporter](https://github.com/eko/tado-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tankerkoenig_api.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tankerkoenig_api.md new file mode 100644 index 000000000..0e8b06091 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tankerkoenig_api.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tankerkoenig_api.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Tankerkoenig API" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Generic Collecting Metrics" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Tankerkoenig API + + +<img src="https://netdata.cloud/img/tanker.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Tankerknig API fuel price metrics for efficient fuel price monitoring and management. + + +Metrics are gathered by periodically sending HTTP requests to [Tankerknig API Exporter](https://github.com/lukasmalkmus/tankerkoenig_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Tankerknig API Exporter](https://github.com/lukasmalkmus/tankerkoenig_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_powerwall.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_powerwall.md new file mode 100644 index 000000000..95faa3d77 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_powerwall.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_powerwall.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Tesla Powerwall" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Tesla Powerwall + + +<img src="https://netdata.cloud/img/tesla.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Tesla Powerwall metrics for efficient home energy storage and management. + + +Metrics are gathered by periodically sending HTTP requests to [Tesla Powerwall Exporter](https://github.com/foogod/powerwall_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Tesla Powerwall Exporter](https://github.com/foogod/powerwall_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_vehicle.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_vehicle.md new file mode 100644 index 000000000..537c5cbc4 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_vehicle.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_vehicle.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Tesla vehicle" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Tesla vehicle + + +<img src="https://netdata.cloud/img/tesla.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Tesla vehicle metrics for efficient electric vehicle management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [Tesla exporter](https://github.com/wywywywy/tesla-prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Tesla exporter](https://github.com/wywywywy/tesla-prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_wall_connector.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_wall_connector.md new file mode 100644 index 000000000..750d30a87 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_wall_connector.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tesla_wall_connector.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Tesla Wall Connector" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Tesla Wall Connector + + +<img src="https://netdata.cloud/img/tesla.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Tesla Wall Connector charging station metrics for efficient electric vehicle charging management. + + +Metrics are gathered by periodically sending HTTP requests to [Tesla Wall Connector Exporter](https://github.com/benclapp/tesla_wall_connector_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Tesla Wall Connector Exporter](https://github.com/benclapp/tesla_wall_connector_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tp-link_p110.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tp-link_p110.md new file mode 100644 index 000000000..11faf8859 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tp-link_p110.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/tp-link_p110.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "TP-Link P110" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# TP-Link P110 + + +<img src="https://netdata.cloud/img/tplink.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track TP-Link P110 smart plug metrics for efficient energy management and monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [TP-Link P110 Exporter](https://github.com/ijohanne/prometheus-tplink-p110-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [TP-Link P110 Exporter](https://github.com/ijohanne/prometheus-tplink-p110-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/traceroute.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/traceroute.md new file mode 100644 index 000000000..f9125b592 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/traceroute.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/traceroute.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Traceroute" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Traceroute + + +<img src="https://netdata.cloud/img/traceroute.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Export traceroute metrics for efficient network path analysis and performance monitoring. + + +Metrics are gathered by periodically sending HTTP requests to [traceroute exporter](https://github.com/jeanfabrice/prometheus-tcptraceroute-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [traceroute exporter](https://github.com/jeanfabrice/prometheus-tcptraceroute-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/twincat_ads_web_service.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/twincat_ads_web_service.md new file mode 100644 index 000000000..4487018b7 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/twincat_ads_web_service.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/twincat_ads_web_service.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "TwinCAT ADS Web Service" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Generic Collecting Metrics" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# TwinCAT ADS Web Service + + +<img src="https://netdata.cloud/img/twincat.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor TwinCAT ADS (Automation Device Specification) Web Service metrics for efficient industrial automation and control. + + +Metrics are gathered by periodically sending HTTP requests to [TwinCAT ADS Web Service exporter](https://github.com/MarcusCalidus/twincat-ads-webservice-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [TwinCAT ADS Web Service exporter](https://github.com/MarcusCalidus/twincat-ads-webservice-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/twitch.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/twitch.md new file mode 100644 index 000000000..de88be5c9 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/twitch.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/twitch.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Twitch" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Media Services" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Twitch + + +<img src="https://netdata.cloud/img/twitch.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Twitch streaming platform metrics for efficient live streaming management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Twitch exporter](https://github.com/damoun/twitch_exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Twitch exporter](https://github.com/damoun/twitch_exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ubiquiti_ufiber_olt.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ubiquiti_ufiber_olt.md new file mode 100644 index 000000000..1bd5a8c84 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ubiquiti_ufiber_olt.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/ubiquiti_ufiber_olt.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Ubiquiti UFiber OLT" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Ubiquiti UFiber OLT + + +<img src="https://netdata.cloud/img/ubiquiti.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Ubiquiti UFiber GPON (Gigabit Passive Optical Network) device metrics for efficient fiber-optic network management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [ufiber-exporter](https://github.com/swoga/ufiber-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [ufiber-exporter](https://github.com/swoga/ufiber-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/uptimerobot.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/uptimerobot.md new file mode 100644 index 000000000..0c174f3c6 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/uptimerobot.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/uptimerobot.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Uptimerobot" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Synthetic Checks" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Uptimerobot + + +<img src="https://netdata.cloud/img/uptimerobot.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor UptimeRobot website uptime monitoring metrics for efficient website availability tracking and management. + + +Metrics are gathered by periodically sending HTTP requests to [Uptimerobot Exporter](https://github.com/wosc/prometheus-uptimerobot). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Uptimerobot Exporter](https://github.com/wosc/prometheus-uptimerobot) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vault_pki.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vault_pki.md new file mode 100644 index 000000000..b117d1490 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vault_pki.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vault_pki.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Vault PKI" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Security Systems" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Vault PKI + + +<img src="https://netdata.cloud/img/vault.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor HashiCorp Vault Public Key Infrastructure (PKI) metrics for efficient certificate management and security. + + +Metrics are gathered by periodically sending HTTP requests to [Vault PKI Exporter](https://github.com/aarnaud/vault-pki-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Vault PKI Exporter](https://github.com/aarnaud/vault-pki-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vertica.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vertica.md new file mode 100644 index 000000000..da039e834 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vertica.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vertica.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Vertica" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Vertica + + +<img src="https://netdata.cloud/img/vertica.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Vertica analytics database platform metrics for efficient database performance and management. + + +Metrics are gathered by periodically sending HTTP requests to [vertica-prometheus-exporter](https://github.com/vertica/vertica-prometheus-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [vertica-prometheus-exporter](https://github.com/vertica/vertica-prometheus-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vscode.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vscode.md new file mode 100644 index 000000000..1b48c5858 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vscode.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/vscode.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "VSCode" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# VSCode + + +<img src="https://netdata.cloud/img/vscode.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Visual Studio Code editor metrics for efficient development environment management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [VSCode Exporter](https://github.com/guicaulada/vscode-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [VSCode Exporter](https://github.com/guicaulada/vscode-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/warp10.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/warp10.md new file mode 100644 index 000000000..a4a0b7452 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/warp10.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/warp10.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Warp10" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Databases" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Warp10 + + +<img src="https://netdata.cloud/img/warp10.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Warp 10 time-series database metrics for efficient time-series data management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Warp10 Exporter](https://github.com/centreon/warp10-sensision-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Warp10 Exporter](https://github.com/centreon/warp10-sensision-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/xiaomi_mi_flora.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/xiaomi_mi_flora.md new file mode 100644 index 000000000..91dfda9fe --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/xiaomi_mi_flora.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/xiaomi_mi_flora.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Xiaomi Mi Flora" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/IoT Devices" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Xiaomi Mi Flora + + +<img src="https://netdata.cloud/img/xiaomi.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Keep tabs on MiFlora plant monitor metrics for efficient plant care and growth management. + + +Metrics are gathered by periodically sending HTTP requests to [MiFlora / Flower Care Exporter](https://github.com/xperimental/flowercare-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [MiFlora / Flower Care Exporter](https://github.com/xperimental/flowercare-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/xmpp_server.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/xmpp_server.md new file mode 100644 index 000000000..ed37c98bd --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/xmpp_server.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/xmpp_server.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "XMPP Server" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Message Brokers" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# XMPP Server + + +<img src="https://netdata.cloud/img/xmpp.svg" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor XMPP (Extensible Messaging and Presence Protocol) server metrics for efficient messaging and communication management. + + +Metrics are gathered by periodically sending HTTP requests to [XMPP Server Exporter](https://github.com/horazont/xmpp-blackbox-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [XMPP Server Exporter](https://github.com/horazont/xmpp-blackbox-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/yourls_url_shortener.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/yourls_url_shortener.md new file mode 100644 index 000000000..6afe4b617 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/yourls_url_shortener.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/yourls_url_shortener.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "YOURLS URL Shortener" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/APM" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# YOURLS URL Shortener + + +<img src="https://netdata.cloud/img/yourls.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor YOURLS (Your Own URL Shortener) metrics for efficient URL shortening service management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [YOURLS exporter](https://github.com/just1not2/prometheus-exporter-yourls). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [YOURLS exporter](https://github.com/just1not2/prometheus-exporter-yourls) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zerto.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zerto.md new file mode 100644 index 000000000..615926fc3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zerto.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zerto.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Zerto" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Cloud Provider Managed" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Zerto + + +<img src="https://netdata.cloud/img/zerto.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Zerto disaster recovery and data protection metrics for efficient backup and recovery management. + + +Metrics are gathered by periodically sending HTTP requests to [Zerto Exporter](https://github.com/claranet/zerto-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Zerto Exporter](https://github.com/claranet/zerto-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zulip.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zulip.md new file mode 100644 index 000000000..02121ac8a --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zulip.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zulip.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Zulip" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Media Services" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Zulip + + +<img src="https://netdata.cloud/img/zulip.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Monitor Zulip open-source group chat application metrics for efficient team communication management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Zulip Exporter](https://github.com/brokenpip3/zulip-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Zulip Exporter](https://github.com/brokenpip3/zulip-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zyxel_gs1200-8.md b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zyxel_gs1200-8.md new file mode 100644 index 000000000..83e8546bd --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zyxel_gs1200-8.md @@ -0,0 +1,291 @@ +<!--startmeta +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/integrations/zyxel_gs1200-8.md" +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml" +sidebar_label: "Zyxel GS1200-8" +learn_status: "Published" +learn_rel_path: "Collecting Metrics/Networking Stack and Network Interfaces" +most_popular: False +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +endmeta--> + +# Zyxel GS1200-8 + + +<img src="https://netdata.cloud/img/zyxel.png" width="150"/> + + +Plugin: go.d.plugin +Module: prometheus + +<img src="https://img.shields.io/badge/maintained%20by-Community-blue" /> + +## Overview + +Track Zyxel GS1200 network switch metrics for efficient network device management and performance. + + +Metrics are gathered by periodically sending HTTP requests to [Zyxel GS1200 Exporter](https://github.com/robinelfrink/gs1200-exporter). + + +This collector is supported on all platforms. + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + + +### Default Behavior + +#### Auto-Detection + +By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). +The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + +| Metric | Chart | Dimension(s) | Algorithm | +|---------------------------|-------------------------------------------|----------------------|-------------| +| Gauge | for each label set | one, the metric name | absolute | +| Counter | for each label set | one, the metric name | incremental | +| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | +| Summary (sum and count) | for each label set | the metric name | incremental | +| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | +| Histogram (sum and count) | for each label set | the metric name | incremental | + +Untyped metrics (have no '# TYPE') processing: + +- As Counter or Gauge depending on pattern match when 'fallback_type' is used. +- As Counter if it has suffix '_total'. +- As Summary if it has 'quantile' label. +- As Histogram if it has 'le' label. + +**The rest are ignored**. + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +#### Install Exporter + +Install [Zyxel GS1200 Exporter](https://github.com/robinelfrink/gs1200-exporter) by following the instructions mentioned in the exporter README. + + + +### Configuration + +#### File + +The configuration file name for this integration is `go.d/prometheus.conf`. + + +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml b/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml new file mode 100644 index 000000000..7b877c180 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/metadata.yaml @@ -0,0 +1,7921 @@ +plugin_name: go.d.plugin +modules: + - &module + meta: &meta + id: collector-go.d.plugin-prometheus-generic + module_name: prometheus + plugin_name: go.d.plugin + monitored_instance: + name: Prometheus endpoint + link: https://prometheus.io/ + icon_filename: prometheus.svg + categories: + - data-collection.generic-data-collection + # - data-collection.apm + keywords: + - prometheus + - openmetrics + related_resources: + integrations: + list: [] + info_provided_to_referring_integrations: + description: "" + most_popular: true + overview: &overview + data_collection: + metrics_description: | + This generic Prometheus collector gathers metrics from any [`Prometheus`](https://prometheus.io/) endpoints. + method_description: | + It collects metrics by periodically sending HTTP requests to the target instance. + supported_platforms: + include: [] + exclude: [] + multi_instance: true + additional_permissions: + description: "" + default_behavior: + auto_detection: + description: | + By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). + The full list of endpoints is available in the collector's [configuration file](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/config/go.d/prometheus.conf). + limits: + description: "" + performance_impact: + description: "" + setup: &setup + prerequisites: + list: [] + configuration: + file: + name: go.d/prometheus.conf + options: + description: | + The following options can be defined globally: update_every, autodetection_retry. + folding: + title: Config options + enabled: true + list: + - name: update_every + description: Data collection frequency. + default_value: 10 + required: false + - name: autodetection_retry + description: Recheck interval in seconds. Zero means no recheck will be scheduled. + default_value: 0 + required: false + - name: url + description: Server URL. + default_value: "" + required: true + - name: selector + description: Time series selector (filter). + default_value: "" + required: false + detailed_description: | + This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + + - Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) + - Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). + - Option syntax: + + ```yaml + selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 + ``` + - name: fallback_type + description: Time series selector (filter). + default_value: "" + required: false + detailed_description: | + This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + + - Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). + - Option syntax: + + ```yaml + fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 + ``` + - name: max_time_series + description: Global time series limit. If an endpoint returns number of time series > limit the data is not processed. + default_value: 2000 + required: false + - name: max_time_series_per_metric + description: Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. + default_value: 200 + required: false + - name: timeout + description: HTTP request timeout. + default_value: 10 + required: false + - name: username + description: Username for basic HTTP authentication. + default_value: "" + required: false + - name: password + description: Password for basic HTTP authentication. + default_value: "" + required: false + - name: proxy_url + description: Proxy URL. + default_value: "" + required: false + - name: proxy_username + description: Username for proxy basic HTTP authentication. + default_value: "" + required: false + - name: proxy_password + description: Password for proxy basic HTTP authentication. + default_value: "" + required: false + - name: method + description: HTTP request method. + default_value: "GET" + required: false + - name: body + description: HTTP request body. + default_value: "" + required: false + - name: headers + description: HTTP request headers. + default_value: "" + required: false + - name: not_follow_redirects + description: Redirect handling policy. Controls whether the client follows redirects. + default_value: no + required: false + - name: tls_skip_verify + description: Server certificate chain and hostname validation policy. Controls whether the client performs this check. + default_value: no + required: false + - name: tls_ca + description: Certification authority that the client uses when verifying the server's certificates. + default_value: "" + required: false + - name: tls_cert + description: Client TLS certificate. + default_value: "" + required: false + - name: tls_key + description: Client TLS key. + default_value: "" + required: false + examples: + folding: + title: Config + enabled: true + list: + - name: Basic + folding: + enabled: false + description: | + > **Note**: Change the port of the monitored application on which it provides metrics. + + A basic example configuration. + config: | + jobs: + - name: local + url: http://127.0.0.1:9090/metrics + - name: Read metrics from a file + description: An example configuration to read metrics from a file. + config: | + # use "file://" scheme + jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + - name: HTTP authentication + description: | + > **Note**: Change the port of the monitored application on which it provides metrics. + + Basic HTTP authentication. + config: | + jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + - name: HTTPS with self-signed certificate + description: | + > **Note**: Change the port of the monitored application on which it provides metrics. + + Do not validate server certificate chain and hostname. + config: | + jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + - name: Multi-instance + description: | + > **Note**: When you define multiple jobs, their names must be unique. + > **Note**: Change the port of the monitored application on which it provides metrics. + + Collecting metrics from local and remote instances. + config: | + jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + troubleshooting: + problems: + list: [] + alerts: [] + metrics: + folding: + title: Metrics + enabled: false + description: | + This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). + + | Metric | Chart | Dimension(s) | Algorithm | + |---------------------------|-------------------------------------------|----------------------|-------------| + | Gauge | for each label set | one, the metric name | absolute | + | Counter | for each label set | one, the metric name | incremental | + | Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | + | Summary (sum and count) | for each label set | the metric name | incremental | + | Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | + | Histogram (sum and count) | for each label set | the metric name | incremental | + + Untyped metrics (have no '# TYPE') processing: + + - As Counter or Gauge depending on pattern match when 'fallback_type' is used. + - As Counter if it has suffix '_total'. + - As Summary if it has 'quantile' label. + - As Histogram if it has 'le' label. + + **The rest are ignored**. + availability: [] + scopes: [] + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-a10-acos + most_popular: false + community: true + monitored_instance: + name: A10 ACOS network devices + link: https://github.com/a10networks/PrometheusExporter + icon_filename: a10-networks.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor A10 Networks device metrics for comprehensive management and analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [A10-Networks Prometheus Exporter](https://github.com/a10networks/PrometheusExporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [A10-Networks Prometheus Exporter](https://github.com/a10networks/PrometheusExporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-airflow + most_popular: false + community: true + monitored_instance: + name: Apache Airflow + link: https://github.com/shalb/airflow-exporter + icon_filename: airflow.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Apache Airflow metrics to optimize task scheduling and workflow management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Airflow exporter](https://github.com/shalb/airflow-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Airflow exporter](https://github.com/shalb/airflow-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + most_popular: false + community: true + id: collector-go.d.plugin-prometheus-alibaba-cloud + monitored_instance: + name: Alibaba Cloud + link: https://github.com/aylei/aliyun-exporter # FIXME: This repository has been archived by the owner on Oct 28, 2019 + icon_filename: alibaba-cloud.svg + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Alibaba Cloud services and resources for efficient management and cost optimization. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Alibaba Cloud Exporter](https://github.com/aylei/aliyun-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Alibaba Cloud Exporter](https://github.com/aylei/aliyun-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-flink + most_popular: false + community: true + monitored_instance: + name: Apache Flink + link: https://github.com/matsumana/flink_exporter + icon_filename: apache_flink.png + categories: + - data-collection.apm + keywords: + - web server + - http + - https + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Apache Flink metrics for efficient stream processing and application management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Apache Flink Metrics Reporter](https://github.com/matsumana/flink_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Apache Flink Metrics Reporter](https://github.com/matsumana/flink_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + most_popular: false + community: true + id: collector-go.d.plugin-prometheus-aruba + monitored_instance: + name: Aruba devices + link: https://github.com/slashdoom/aruba_exporter + icon_filename: aruba.svg + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: + - network monitoring + - network performance + - aruba devices + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Aruba Networks devices performance metrics for comprehensive network management and analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Aruba Exporter](https://github.com/slashdoom/aruba_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Aruba Exporter](https://github.com/slashdoom/aruba_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-aws_ec2 + most_popular: false + community: true + monitored_instance: + name: AWS EC2 Compute instances + link: https://github.com/O1ahmad/aws_ec2_exporter + icon_filename: aws-ec2.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - aws services + overview: + <<: *overview + data_collection: + metrics_description: | + Track AWS EC2 instances key metrics for optimized performance and cost management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [AWS EC2 Exporter](https://github.com/O1ahmad/aws_ec2_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [AWS EC2 Exporter](https://github.com/O1ahmad/aws_ec2_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-aws_ecs + most_popular: false + community: true + monitored_instance: + name: AWS ECS + link: https://github.com/bevers222/ecs-exporter + icon_filename: amazon-ecs.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - aws services + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on AWS ECS services and resources for optimized container management and orchestration. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [AWS ECS exporter](https://github.com/bevers222/ecs-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [AWS ECS exporter](https://github.com/bevers222/ecs-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-aws_health + most_popular: false + community: true + monitored_instance: + name: AWS Health events + link: https://github.com/vladvasiliu/aws-health-exporter-rs + icon_filename: aws.svg + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - aws services + overview: + <<: *overview + data_collection: + metrics_description: | + Track AWS service health metrics for proactive incident management and resolution. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [AWS Health Exporter](https://github.com/vladvasiliu/aws-health-exporter-rs). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [AWS Health Exporter](https://github.com/vladvasiliu/aws-health-exporter-rs) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-aws_instance_health + most_popular: false + community: true + monitored_instance: + name: AWS instance health + link: https://github.com/bobtfish/aws-instance-health-exporter + icon_filename: aws.svg + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - aws services + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor the health of AWS instances for improved performance and availability. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [AWS instance health exporter](https://github.com/bobtfish/aws-instance-health-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [AWS instance health exporter](https://github.com/bobtfish/aws-instance-health-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-aws_s3 + most_popular: false + community: true + monitored_instance: + name: AWS S3 buckets + link: https://github.com/ribbybibby/s3_exporter + icon_filename: aws-s3.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - aws services + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor AWS S3 storage metrics for optimized performance, data management, and cost efficiency. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [AWS S3 Exporter](https://github.com/ribbybibby/s3_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [AWS S3 Exporter](https://github.com/ribbybibby/s3_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-aws_sqs + most_popular: false + community: true + monitored_instance: + name: AWS SQS + link: https://github.com/jmal98/sqs-exporter + icon_filename: aws-sqs.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - aws services + overview: + <<: *overview + data_collection: + metrics_description: | + Track AWS SQS messaging metrics for efficient message processing and queue management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [AWS SQS Exporter](https://github.com/jmal98/sqs-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [AWS SQS Exporter](https://github.com/jmal98/sqs-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-azure_ad_app_passwords + most_popular: false + community: true + monitored_instance: + name: Azure AD App passwords + link: https://github.com/vladvasiliu/azure-app-secrets-monitor + icon_filename: azure.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - azure services + overview: + <<: *overview + data_collection: + metrics_description: | + Safeguard and track Azure App secrets for enhanced security and access management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Azure App Secrets monitor](https://github.com/vladvasiliu/azure-app-secrets-monitor). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Azure App Secrets monitor](https://github.com/vladvasiliu/azure-app-secrets-monitor) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-azure_elastic_sql + most_popular: false + community: true + monitored_instance: + name: Azure Elastic Pool SQL + link: https://github.com/benclapp/azure_elastic_sql_exporter + icon_filename: azure-elastic-sql.png + categories: + - data-collection.cloud-provider-managed + keywords: + - database + - relational db + - data querying + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Azure Elastic SQL performance metrics for efficient database management and query optimization. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Azure Elastic SQL Exporter](https://github.com/benclapp/azure_elastic_sql_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Azure Elastic SQL Exporter](https://github.com/benclapp/azure_elastic_sql_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-azure_app + most_popular: false + community: true + monitored_instance: + name: Azure application + link: https://github.com/RobustPerception/azure_metrics_exporter + icon_filename: azure.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - azure services + overview: + <<: *overview + data_collection: + metrics_description: | + Track Azure Monitor metrics for comprehensive resource management and performance optimization. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Azure Monitor exporter](https://github.com/RobustPerception/azure_metrics_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Azure Monitor exporter](https://github.com/RobustPerception/azure_metrics_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-azure_res + most_popular: false + community: true + monitored_instance: + name: Azure Resources + link: https://github.com/FXinnovation/azure-resources-exporter + icon_filename: azure.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - azure services + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Azure resources vital metrics for efficient cloud management and cost optimization. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Azure Resources Exporter](https://github.com/FXinnovation/azure-resources-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Azure Resources Exporter](https://github.com/FXinnovation/azure-resources-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-azure_service_bus + most_popular: false + community: true + monitored_instance: + name: Azure Service Bus + link: https://github.com/marcinbudny/servicebus_exporter + icon_filename: azure-service-bus.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - azure services + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Azure Service Bus messaging metrics for optimized communication and integration. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Azure Service Bus Exporter](https://github.com/marcinbudny/servicebus_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Azure Service Bus Exporter](https://github.com/marcinbudny/servicebus_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-azure_sql + most_popular: false + community: true + monitored_instance: + name: Azure SQL + link: https://github.com/iamseth/azure_sql_exporter + icon_filename: azure-sql.png + categories: + - data-collection.cloud-provider-managed + keywords: + - database + - relational db + - data querying + overview: + <<: *overview + data_collection: + metrics_description: | + Track Azure SQL performance metrics for efficient database management and query performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Azure SQL exporter](https://github.com/iamseth/azure_sql_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Azure SQL exporter](https://github.com/iamseth/azure_sql_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-bigquery + most_popular: false + community: true + monitored_instance: + name: BigQuery + link: https://github.com/m-lab/prometheus-bigquery-exporter + icon_filename: bigquery.png + categories: + - data-collection.cloud-provider-managed + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Google BigQuery metrics for optimized data processing and analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [BigQuery Exporter](https://github.com/m-lab/prometheus-bigquery-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [BigQuery Exporter](https://github.com/m-lab/prometheus-bigquery-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-blackbox + most_popular: false + community: true + monitored_instance: + name: Blackbox + link: https://github.com/prometheus/blackbox_exporter + icon_filename: prometheus.svg + categories: + - data-collection.synthetic-checks + keywords: + - blackbox + overview: + <<: *overview + data_collection: + metrics_description: | + Track external service availability and response times with Blackbox monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Blackbox exporter](https://github.com/prometheus/blackbox_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Blackbox exporter](https://github.com/prometheus/blackbox_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-borg + most_popular: false + community: true + monitored_instance: + name: Borg backup + link: https://github.com/k0ral/borg-exporter + icon_filename: borg.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Borg backup performance metrics for efficient data protection and recovery. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Borg backup exporter](https://github.com/k0ral/borg-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Borg backup exporter](https://github.com/k0ral/borg-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-cadvisor + most_popular: false + community: true + monitored_instance: + name: cAdvisor + link: https://github.com/google/cadvisor + icon_filename: cadvisor.png + categories: + - data-collection.containers-and-vms + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor container resource usage and performance metrics with cAdvisor for efficient container management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [cAdvisor](https://github.com/google/cadvisor). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [cAdvisor](https://github.com/google/cadvisor) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-cilium_agent + most_popular: false + community: true + monitored_instance: + name: Cilium Agent + link: https://github.com/cilium/cilium + icon_filename: cilium.png + categories: + - data-collection.kubernetes + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Cilium Agent metrics for optimized network security and connectivity. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Cilium Agent](https://github.com/cilium/cilium). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Cilium Agent](https://github.com/cilium/cilium) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-cilium_operator + most_popular: false + community: true + monitored_instance: + name: Cilium Operator + link: https://github.com/cilium/cilium + icon_filename: cilium.png + categories: + - data-collection.kubernetes + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Cilium Operator metrics for efficient Kubernetes network security management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Cilium Operator](https://github.com/cilium/cilium). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Cilium Operator](https://github.com/cilium/cilium) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-cilium_proxy + most_popular: false + community: true + monitored_instance: + name: Cilium Proxy + link: https://github.com/cilium/proxy + icon_filename: cilium.png + categories: + - data-collection.kubernetes + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Cilium Proxy metrics for enhanced network security and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Cilium Proxy](https://github.com/cilium/proxy). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Cilium Proxy](https://github.com/cilium/proxy) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-cisco_aci + most_popular: false + community: true + monitored_instance: + name: Cisco ACI + link: https://github.com/RavuAlHemio/prometheus_aci_exporter + icon_filename: cisco.svg + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: + - network monitoring + - network performance + - cisco devices + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Cisco ACI infrastructure metrics for optimized network performance and resource management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Cisco ACI Exporter](https://github.com/RavuAlHemio/prometheus_aci_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Cisco ACI Exporter](https://github.com/RavuAlHemio/prometheus_aci_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-citrix_netscaler + most_popular: false + community: true + monitored_instance: + name: Citrix NetScaler + link: https://github.com/rokett/Citrix-NetScaler-Exporter + icon_filename: citrix.svg + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on NetScaler performance metrics for efficient application delivery and load balancing. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Citrix NetScaler Exporter](https://github.com/rokett/Citrix-NetScaler-Exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Citrix NetScaler Exporter](https://github.com/rokett/Citrix-NetScaler-Exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-clickhouse + most_popular: false + community: true + monitored_instance: + name: ClickHouse + link: https://github.com/ClickHouse/ClickHouse + icon_filename: clickhouse.svg + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor ClickHouse database metrics for efficient data storage and query performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to the ClickHouse built-in Prometheus exporter. + setup: + <<: *setup + prerequisites: + list: + - title: Configure built-in Prometheus exporter + description: | + To configure the built-in Prometheus exporter, follow the [official documentation](https://clickhouse.com/docs/en/operations/server-configuration-parameters/settings#server_configuration_parameters-prometheus). + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-cloudflare_pcap + most_popular: false + community: true + monitored_instance: + name: Cloudflare PCAP + link: https://github.com/wehkamp/docker-prometheus-cloudflare-exporter + icon_filename: cloudflare.svg + categories: + - data-collection.web-servers-and-web-proxies + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Cloudflare CDN and security metrics for optimized content delivery and protection. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Cloudflare exporter](https://github.com/wehkamp/docker-prometheus-cloudflare-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Cloudflare exporter](https://github.com/wehkamp/docker-prometheus-cloudflare-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-aws_cloudwatch + <<: *meta + most_popular: false + community: true + monitored_instance: + name: CloudWatch + link: https://github.com/prometheus/cloudwatch_exporter + icon_filename: aws-cloudwatch.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor AWS CloudWatch metrics for comprehensive AWS resource management and performance optimization. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [CloudWatch exporter](https://github.com/prometheus/cloudwatch_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [CloudWatch exporter](https://github.com/prometheus/cloudwatch_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-concourse + most_popular: false + community: true + monitored_instance: + name: Concourse + link: https://concourse-ci.org + icon_filename: concourse.png + categories: + - data-collection.ci-cd-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Concourse CI/CD pipeline metrics for optimized workflow management and deployment. + method_description: | + Metrics are gathered by periodically sending HTTP requests to the Concourse built-in Prometheus exporter. + setup: + <<: *setup + prerequisites: + list: + - title: Configure built-in Prometheus exporter + description: | + To configure the built-in Prometheus exporter, follow the [official documentation](https://concourse-ci.org/metrics.html#configuring-metrics). + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-crowdsec + most_popular: false + community: true + monitored_instance: + name: Crowdsec + link: https://docs.crowdsec.net/docs/observability/prometheus + icon_filename: crowdsec.png + categories: + - data-collection.security-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Crowdsec security metrics for efficient threat detection and response. + method_description: | + Metrics are gathered by periodically sending HTTP requests to the Crowdsec build-in Prometheus exporter. + setup: + <<: *setup + prerequisites: + list: + - title: Configure built-in Prometheus exporter + description: | + To configure the built-in Prometheus exporter, follow the [official documentation](https://docs.crowdsec.net/docs/observability/prometheus/). + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-dell_emc_ecs + most_popular: false + community: true + monitored_instance: + name: Dell EMC ECS cluster + link: https://github.com/paychex/prometheus-emcecs-exporter + icon_filename: dell.svg + categories: + - data-collection.cloud-provider-managed + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Dell EMC ECS object storage metrics for optimized storage management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Dell EMC ECS Exporter](https://github.com/paychex/prometheus-emcecs-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Dell EMC ECS Exporter](https://github.com/paychex/prometheus-emcecs-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-dell_emc_isilon + most_popular: false + community: true + monitored_instance: + name: Dell EMC Isilon cluster + link: https://github.com/paychex/prometheus-isilon-exporter + icon_filename: dell.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Dell EMC Isilon scale-out NAS metrics for efficient storage management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Dell EMC Isilon Exporter](https://github.com/paychex/prometheus-isilon-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Dell EMC Isilon Exporter](https://github.com/paychex/prometheus-isilon-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-digitalocean + most_popular: false + community: true + monitored_instance: + name: DigitalOcean + link: https://github.com/metalmatze/digitalocean_exporter + icon_filename: digitalocean.svg + categories: + - data-collection.cloud-provider-managed + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track DigitalOcean cloud provider metrics for optimized resource management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [DigitalOcean Exporter](https://github.com/metalmatze/digitalocean_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [DigitalOcean Exporter](https://github.com/metalmatze/digitalocean_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-discourse + most_popular: false + community: true + monitored_instance: + name: Discourse + link: https://github.com/discourse/discourse-prometheus + icon_filename: discourse.svg + categories: + - data-collection.media-streaming-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Discourse forum metrics for efficient community management and engagement. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Discourse Exporter](https://github.com/discourse/discourse-prometheus). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Discourse Exporter](https://github.com/discourse/discourse-prometheus) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-dynatrace + most_popular: false + community: true + monitored_instance: + name: Dynatrace + link: https://github.com/Apside-TOP/dynatrace_exporter + icon_filename: dynatrace.svg + categories: + - data-collection.observability + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Dynatrace APM metrics for comprehensive application performance management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Dynatrace Exporter](https://github.com/Apside-TOP/dynatrace_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Dynatrace Exporter](https://github.com/Apside-TOP/dynatrace_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-eos_web + most_popular: false + community: true + monitored_instance: + name: EOS + link: https://eos-web.web.cern.ch/eos-web/ + icon_filename: eos.png + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor CERN EOS metrics for efficient storage management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [EOS exporter](https://github.com/cern-eos/eos_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [EOS exporter](https://github.com/cern-eos/eos_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-etcd + most_popular: false + community: true + monitored_instance: + name: etcd + link: https://etcd.io/ + icon_filename: etcd.svg + categories: + - data-collection.service-discovery-registry + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track etcd database metrics for optimized distributed key-value store management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to etcd built-in Prometheus exporter. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-fortigate + most_popular: false + community: true + monitored_instance: + name: Fortigate firewall + link: https://github.com/bluecmd/fortigate_exporter + icon_filename: fortinet.svg + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Fortigate firewall metrics for enhanced network protection and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [fortigate_exporter](https://github.com/bluecmd/fortigate_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [fortigate_exporter](https://github.com/bluecmd/fortigate_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-freebsd_nfs + most_popular: false + community: true + monitored_instance: + name: FreeBSD NFS + link: https://github.com/Axcient/freebsd-nfs-exporter + icon_filename: freebsd.svg + categories: + - data-collection.freebsd + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor FreeBSD Network File System metrics for efficient file sharing management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [FreeBSD NFS Exporter](https://github.com/Axcient/freebsd-nfs-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [FreeBSD NFS Exporter](https://github.com/Axcient/freebsd-nfs-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-freebsd_rctl + most_popular: false + community: true + monitored_instance: + name: FreeBSD RCTL-RACCT + link: https://github.com/yo000/rctl_exporter + icon_filename: freebsd.svg + categories: + - data-collection.freebsd + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on FreeBSD Resource Container metrics for optimized resource management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [FreeBSD RCTL Exporter](https://github.com/yo000/rctl_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [FreeBSD RCTL Exporter](https://github.com/yo000/rctl_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-gcp_gce + most_popular: false + community: true + monitored_instance: + name: GCP GCE + link: https://github.com/O1ahmad/gcp-gce-exporter + icon_filename: gcp-gce.svg + categories: + - data-collection.cloud-provider-managed + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Google Cloud Platform Compute Engine metrics for efficient cloud resource management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [GCP GCE Exporter](https://github.com/O1ahmad/gcp-gce-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [GCP GCE Exporter](https://github.com/O1ahmad/gcp-gce-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-gcp_quota + most_popular: false + community: true + monitored_instance: + name: GCP Quota + link: https://github.com/mintel/gcp-quota-exporter + icon_filename: gcp.png + categories: + - data-collection.cloud-provider-managed + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Google Cloud Platform quota metrics for optimized resource usage and cost management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [GCP Quota Exporter](https://github.com/mintel/gcp-quota-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [GCP Quota Exporter](https://github.com/mintel/gcp-quota-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-github_repo + most_popular: false + community: true + monitored_instance: + name: GitHub repository + link: https://github.com/githubexporter/github-exporter + icon_filename: github.svg + categories: + - data-collection.other + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track GitHub repository metrics for optimized project and user analytics monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [GitHub Exporter](https://github.com/githubexporter/github-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [GitHub Exporter](https://github.com/githubexporter/github-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-gitlab_runner + most_popular: false + community: true + monitored_instance: + name: GitLab Runner + link: https://gitlab.com/gitlab-org/gitlab-runner + icon_filename: gitlab.png + categories: + - data-collection.ci-cd-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on GitLab CI/CD job metrics for efficient development and deployment management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to GitLab built-in Prometheus exporter. + setup: + <<: *setup + prerequisites: + list: + - title: Configure built-in Prometheus exporter + description: | + To configure the built-in Prometheus exporter, follow the [official documentation](https://docs.gitlab.com/runner/monitoring/#configuration-of-the-metrics-http-server). + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-gobetween + most_popular: false + community: true + monitored_instance: + name: Gobetween + link: https://github.com/yyyar/gobetween + icon_filename: gobetween.svg + categories: + - data-collection.web-servers-and-web-proxies + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Gobetween load balancer metrics for optimized network traffic management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to Gobetween built-in Prometheus exporter. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-gcp + most_popular: false + community: true + monitored_instance: + name: Google Cloud Platform + link: https://github.com/DazWilkin/gcp-exporter + icon_filename: gcp.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Google Cloud Platform metrics for comprehensive cloud resource management and performance optimization. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Google Cloud Platform Exporter](https://github.com/DazWilkin/gcp-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Google Cloud Platform Exporter](https://github.com/DazWilkin/gcp-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-gcp_stackdriver + most_popular: false + community: true + monitored_instance: + name: Google Stackdriver + link: https://github.com/prometheus-community/stackdriver_exporter + icon_filename: gcp-stackdriver.svg + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - google cloud services + overview: + <<: *overview + data_collection: + metrics_description: | + Track Google Stackdriver monitoring metrics for optimized cloud performance and diagnostics. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Google Stackdriver exporter](https://github.com/prometheus-community/stackdriver_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Google Stackdriver exporter](https://github.com/prometheus-community/stackdriver_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-grafana + most_popular: false + community: true + monitored_instance: + name: Grafana + link: https://grafana.com/ + icon_filename: grafana.png + categories: + - data-collection.observability + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Grafana dashboard and visualization metrics for optimized monitoring and data analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to Grafana built-in Prometheus exporter. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-graylog + most_popular: false + community: true + monitored_instance: + name: Graylog Server + link: https://github.com/Graylog2/graylog2-server/ + icon_filename: graylog.svg + categories: + - data-collection.logs-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Graylog server metrics for efficient log management and analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to Graylog built-in Prometheus exporter. + setup: + <<: *setup + prerequisites: + list: + - title: Configure built-in Prometheus exporter + description: | + To configure the built-in Prometheus exporter, follow the [official documentation](https://go2docs.graylog.org/5-0/interacting_with_your_log_data/metrics.html#PrometheusMetricExporting). + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-hana + most_popular: false + community: true + monitored_instance: + name: HANA + link: https://github.com/jenningsloy318/hana_exporter + icon_filename: sap.svg + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track SAP HANA database metrics for efficient data storage and query performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [HANA Exporter](https://github.com/jenningsloy318/hana_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [HANA Exporter](https://github.com/jenningsloy318/hana_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-honeypot + most_popular: false + community: true + monitored_instance: + name: Honeypot + link: https://github.com/Intrinsec/honeypot_exporter + icon_filename: intrinsec.svg + categories: + - data-collection.security-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor honeypot metrics for efficient threat detection and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Intrinsec honeypot_exporter](https://github.com/Intrinsec/honeypot_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Intrinsec honeypot_exporter](https://github.com/Intrinsec/honeypot_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-hp_ilo + most_popular: false + community: true + monitored_instance: + name: HP iLO + link: https://github.com/infinityworks/hpilo-exporter + icon_filename: hp.svg + categories: + - data-collection.hardware-devices-and-sensors + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor HP Integrated Lights Out (iLO) metrics for efficient server management and diagnostics. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [HP iLO Metrics Exporter](https://github.com/infinityworks/hpilo-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [HP iLO Metrics Exporter](https://github.com/infinityworks/hpilo-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-hubble + most_popular: false + community: true + monitored_instance: + name: Hubble + link: https://github.com/cilium/hubble + icon_filename: hubble.png + categories: + - data-collection.observability + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Hubble network observability metrics for efficient network visibility and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to Hubble built-in Prometheus exporter. + setup: + <<: *setup + prerequisites: + list: + - title: Configure built-in Prometheus exporter + description: | + To configure the built-in Prometheus exporter, follow the [official documentation](https://docs.cilium.io/en/stable/observability/metrics/#hubble-metrics). + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ibm_spectrum + most_popular: false + community: true + monitored_instance: + name: IBM Spectrum + link: https://github.com/topine/ibm-spectrum-exporter + icon_filename: ibm.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor IBM Spectrum storage metrics for efficient data management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [IBM Spectrum Exporter](https://github.com/topine/ibm-spectrum-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [IBM Spectrum Exporter](https://github.com/topine/ibm-spectrum-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-influxdb + most_popular: false + community: true + monitored_instance: + name: InfluxDB + link: https://github.com/prometheus/influxdb_exporter + icon_filename: influxdb.svg + categories: + - data-collection.database-servers + keywords: + - database + - dbms + - data storage + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor InfluxDB time-series database metrics for efficient data storage and query performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [InfluxDB exporter](https://github.com/prometheus/influxdb_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [InfluxDB exporter](https://github.com/prometheus/influxdb_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-jenkins + most_popular: false + community: true + monitored_instance: + name: Jenkins + link: https://www.jenkins.io/ + icon_filename: jenkins.svg + categories: + - data-collection.ci-cd-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Jenkins continuous integration server metrics for efficient development and build management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Jenkins exporter](https://github.com/simplesurance/jenkins-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Jenkins exporter](https://github.com/simplesurance/jenkins-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-jmx + most_popular: false + community: true + monitored_instance: + name: JMX + link: https://github.com/prometheus/jmx_exporter + icon_filename: java.svg + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Java Management Extensions (JMX) metrics for efficient Java application management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [JMX Exporter](https://github.com/prometheus/jmx_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [JMX Exporter](https://github.com/prometheus/jmx_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-jolokia + most_popular: false + community: true + monitored_instance: + name: jolokia + link: https://github.com/aklinkert/jolokia_exporter + icon_filename: jolokia.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Jolokia JVM metrics for optimized Java application performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [jolokia_exporter](https://github.com/aklinkert/jolokia_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [jolokia_exporter](https://github.com/aklinkert/jolokia_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-kafka_consumer_lag + most_popular: false + community: true + monitored_instance: + name: Kafka Consumer Lag + link: https://github.com/omarsmak/kafka-consumer-lag-monitoring + icon_filename: kafka.svg + categories: + - data-collection.service-discovery-registry + keywords: + - big data + - stream processing + - message broker + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Kafka consumer lag metrics for efficient message queue management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Kafka Consumer Lag Monitoring](https://github.com/omarsmak/kafka-consumer-lag-monitoring). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Kafka Consumer Lag Monitoring](https://github.com/omarsmak/kafka-consumer-lag-monitoring) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-kafka + most_popular: false + community: true + monitored_instance: + name: Kafka + link: https://github.com/danielqsj/kafka_exporter/ + icon_filename: kafka.svg + categories: + - data-collection.message-brokers + keywords: + - big data + - stream processing + - message broker + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Kafka message queue metrics for optimized data streaming and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Kafka Exporter](https://github.com/danielqsj/kafka_exporter/). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Kafka Exporter](https://github.com/danielqsj/kafka_exporter/) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-kafka_zookeeper + most_popular: false + community: true + monitored_instance: + name: Kafka ZooKeeper + link: https://github.com/cloudflare/kafka_zookeeper_exporter + icon_filename: kafka.svg + categories: + - data-collection.message-brokers + keywords: + - big data + - stream processing + - message broker + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Kafka ZooKeeper metrics for optimized distributed coordination and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Kafka ZooKeeper Exporter](https://github.com/cloudflare/kafka_zookeeper_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Kafka ZooKeeper Exporter](https://github.com/cloudflare/kafka_zookeeper_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-linode + most_popular: false + community: true + monitored_instance: + name: Linode + link: https://github.com/DazWilkin/linode-exporter + icon_filename: linode.svg + categories: + - data-collection.cloud-provider-managed + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Linode cloud hosting metrics for efficient virtual server management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Linode Exporter](https://github.com/DazWilkin/linode-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Linode Exporter](https://github.com/DazWilkin/linode-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-loki + most_popular: false + community: true + monitored_instance: + name: loki + link: https://github.com/grafana/loki + icon_filename: loki.png + categories: + - data-collection.logs-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Loki metrics. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [loki](https://github.com/grafana/loki). + setup: + <<: *setup + prerequisites: + list: + - title: Install Loki + description: | + Install [loki](https://github.com/grafana/loki) according to its documentation. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-minecraft + most_popular: false + community: true + monitored_instance: + name: Minecraft + link: https://github.com/sladkoff/minecraft-prometheus-exporter + icon_filename: minecraft.png + categories: + - data-collection.gaming + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Minecraft server metrics for efficient game server management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Minecraft Exporter](https://github.com/sladkoff/minecraft-prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Minecraft Exporter](https://github.com/sladkoff/minecraft-prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-mosquitto + most_popular: false + community: true + monitored_instance: + name: mosquitto + link: https://github.com/sapcc/mosquitto-exporter + icon_filename: mosquitto.svg + categories: + - data-collection.message-brokers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Mosquitto MQTT broker metrics for efficient IoT message transport and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [mosquitto exporter](https://github.com/sapcc/mosquitto-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [mosquitto exporter](https://github.com/sapcc/mosquitto-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-mp707 + most_popular: false + community: true + monitored_instance: + name: MP707 USB thermometer + link: https://github.com/nradchenko/mp707_exporter + icon_filename: thermometer.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track MP707 power strip metrics for efficient energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [MP707 exporter](https://github.com/nradchenko/mp707_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [MP707 exporter](https://github.com/nradchenko/mp707_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ibm_mq + most_popular: false + community: true + monitored_instance: + name: IBM MQ + link: https://github.com/agebhar1/mq_exporter + icon_filename: ibm.svg + categories: + - data-collection.message-brokers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on IBM MQ message queue metrics for efficient message transport and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [MQ Exporter](https://github.com/agebhar1/mq_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [MQ Exporter](https://github.com/agebhar1/mq_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-mqtt_blackbox + most_popular: false + community: true + monitored_instance: + name: MQTT Blackbox + link: https://github.com/inovex/mqtt_blackbox_exporter + icon_filename: mqtt.svg + categories: + - data-collection.message-brokers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track MQTT message transport performance using blackbox testing methods. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [MQTT Blackbox Exporter](https://github.com/inovex/mqtt_blackbox_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [MQTT Blackbox Exporter](https://github.com/inovex/mqtt_blackbox_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-netapp_ontap + most_popular: false + community: true + monitored_instance: + name: Netapp ONTAP API + link: https://github.com/sapcc/netapp-api-exporter + icon_filename: netapp.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on NetApp ONTAP storage system metrics for efficient data storage management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Netapp ONTAP API Exporter](https://github.com/sapcc/netapp-api-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Netapp ONTAP API Exporter](https://github.com/sapcc/netapp-api-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-netapp_solidfire + most_popular: false + community: true + monitored_instance: + name: NetApp Solidfire + link: https://github.com/mjavier2k/solidfire-exporter + icon_filename: netapp.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Track NetApp Solidfire storage system metrics for efficient data storage management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [NetApp Solidfire Exporter](https://github.com/mjavier2k/solidfire-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [NetApp Solidfire Exporter](https://github.com/mjavier2k/solidfire-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-netmeter + most_popular: false + community: true + monitored_instance: + name: NetMeter + link: https://github.com/ssbostan/netmeter-exporter + icon_filename: netmeter.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor NetMeter network traffic metrics for efficient network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [NetMeter Exporter](https://github.com/ssbostan/netmeter-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [NetMeter Exporter](https://github.com/ssbostan/netmeter-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-newrelic + most_popular: false + community: true + monitored_instance: + name: New Relic + link: https://github.com/jfindley/newrelic_exporter + icon_filename: newrelic.svg + categories: + - data-collection.observability + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor New Relic application performance management metrics for efficient application monitoring and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [New Relic exporter](https://github.com/jfindley/newrelic_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [New Relic exporter](https://github.com/jfindley/newrelic_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-openvswitch + most_popular: false + community: true + monitored_instance: + name: Open vSwitch + link: https://github.com/digitalocean/openvswitch_exporter + icon_filename: ovs.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Open vSwitch software-defined networking metrics for efficient network virtualization and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Open vSwitch Exporter](https://github.com/digitalocean/openvswitch_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Open vSwitch Exporter](https://github.com/digitalocean/openvswitch_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-openldap + most_popular: false + community: true + monitored_instance: + name: OpenLDAP (community) + link: https://github.com/tomcz/openldap_exporter + icon_filename: openldap.svg + categories: + - data-collection.authentication-and-authorization + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor OpenLDAP directory service metrics for efficient directory management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [OpenLDAP Metrics Exporter](https://github.com/tomcz/openldap_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [OpenLDAP Metrics Exporter](https://github.com/tomcz/openldap_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-openstack + most_popular: false + community: true + monitored_instance: + name: OpenStack + link: https://github.com/CanonicalLtd/prometheus-openstack-exporter + icon_filename: openstack.svg + categories: + - data-collection.cloud-provider-managed + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track OpenStack cloud computing platform metrics for efficient infrastructure management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Openstack exporter](https://github.com/CanonicalLtd/prometheus-openstack-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Openstack exporter](https://github.com/CanonicalLtd/prometheus-openstack-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-openvas + most_popular: false + community: true + monitored_instance: + name: OpenVAS + link: https://github.com/ModeClearCode/openvas_exporter + icon_filename: openVAS.png + categories: + - data-collection.security-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor OpenVAS vulnerability scanner metrics for efficient security assessment and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [OpenVAS exporter](https://github.com/ModeClearCode/openvas_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [OpenVAS exporter](https://github.com/ModeClearCode/openvas_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-google_pagespeed + most_popular: false + community: true + monitored_instance: + name: Google Pagespeed + link: https://github.com/foomo/pagespeed_exporter + icon_filename: google.svg + categories: + - data-collection.apm + keywords: + - cloud services + - cloud computing + - google cloud services + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Google PageSpeed Insights performance metrics for efficient web page optimization and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Pagespeed exporter](https://github.com/foomo/pagespeed_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Pagespeed exporter](https://github.com/foomo/pagespeed_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-philips_hue + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Philips Hue + link: https://github.com/aexel90/hue_exporter + icon_filename: hue.svg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Philips Hue smart lighting metrics for efficient home automation and energy management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Philips Hue Exporter](https://github.com/aexel90/hue_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Philips Hue Exporter](https://github.com/aexel90/hue_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-podman + most_popular: false + community: true + monitored_instance: + name: Podman + link: https://github.com/containers/prometheus-podman-exporter + icon_filename: podman.png + categories: + - data-collection.containers-and-vms + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Podman container runtime metrics for efficient container management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [PODMAN exporter](https://github.com/containers/prometheus-podman-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [PODMAN exporter](https://github.com/containers/prometheus-podman-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-proxmox + most_popular: false + community: true + monitored_instance: + name: Proxmox VE + link: https://github.com/prometheus-pve/prometheus-pve-exporter + icon_filename: proxmox.png + categories: + - data-collection.containers-and-vms + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Proxmox Virtual Environment metrics for efficient virtualization and container management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Proxmox VE Exporter](https://github.com/prometheus-pve/prometheus-pve-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Proxmox VE Exporter](https://github.com/prometheus-pve/prometheus-pve-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-radius + most_popular: false + community: true + monitored_instance: + name: RADIUS + link: https://github.com/devon-mar/radius-exporter + icon_filename: radius.png + categories: + - data-collection.authentication-and-authorization + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on RADIUS (Remote Authentication Dial-In User Service) protocol metrics for efficient authentication and access management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [RADIUS exporter](https://github.com/devon-mar/radius-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [RADIUS exporter](https://github.com/devon-mar/radius-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-aws_rds + most_popular: false + community: true + monitored_instance: + name: AWS RDS + link: https://github.com/percona/rds_exporter + icon_filename: aws-rds.svg + categories: + - data-collection.database-servers + keywords: + - cloud services + - cloud computing + - aws services + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Amazon RDS (Relational Database Service) metrics for efficient cloud database management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [rds_exporter](https://github.com/percona/rds_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [rds_exporter](https://github.com/percona/rds_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ripe_atlas + most_popular: false + community: true + monitored_instance: + name: RIPE Atlas + link: https://github.com/czerwonk/atlas_exporter + icon_filename: ripe.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on RIPE Atlas Internet measurement platform metrics for efficient network monitoring and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [RIPE Atlas Exporter](https://github.com/czerwonk/atlas_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [RIPE Atlas Exporter](https://github.com/czerwonk/atlas_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-sentry + most_popular: false + community: true + monitored_instance: + name: Sentry + link: https://github.com/snakecharmer/sentry_exporter + icon_filename: sentry.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Sentry error tracking and monitoring platform metrics for efficient application performance and error management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Sentry Exporter](https://github.com/snakecharmer/sentry_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Sentry Exporter](https://github.com/snakecharmer/sentry_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-slurm + most_popular: false + community: true + monitored_instance: + name: Slurm + link: https://github.com/vpenso/prometheus-slurm-exporter + icon_filename: slurm.png + categories: + - data-collection.task-queues + #- data-collection.provisioning-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Slurm workload manager metrics for efficient high-performance computing (HPC) and cluster management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [slurm exporter](https://github.com/vpenso/prometheus-slurm-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [slurm exporter](https://github.com/vpenso/prometheus-slurm-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ipmi + most_popular: false + community: true + monitored_instance: + name: IPMI (By SoundCloud) + link: https://github.com/prometheus-community/ipmi_exporter + icon_filename: soundcloud.svg + categories: + - data-collection.hardware-devices-and-sensors + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor IPMI metrics externally for efficient server hardware management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SoundCloud IPMI Exporter (querying IPMI externally, blackbox-exporter style)](https://github.com/prometheus-community/ipmi_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [SoundCloud IPMI Exporter (querying IPMI externally, blackbox-exporter style)](https://github.com/prometheus-community/ipmi_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-spacelift + most_popular: false + community: true + monitored_instance: + name: Spacelift + link: https://github.com/spacelift-io/prometheus-exporter + icon_filename: spacelift.png + categories: + - data-collection.provisioning-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Spacelift infrastructure-as-code (IaC) platform metrics for efficient infrastructure automation and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Spacelift Exporter](https://github.com/spacelift-io/prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Spacelift Exporter](https://github.com/spacelift-io/prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ssh + most_popular: false + community: true + monitored_instance: + name: SSH + link: https://github.com/Nordstrom/ssh_exporter + icon_filename: ssh.png + categories: + - data-collection.authentication-and-authorization + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor SSH server metrics for efficient secure shell server management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SSH Exporter](https://github.com/Nordstrom/ssh_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [SSH Exporter](https://github.com/Nordstrom/ssh_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ssl + most_popular: false + community: true + monitored_instance: + name: SSL Certificate + link: https://github.com/ribbybibby/ssl_exporter + icon_filename: ssl.svg + categories: + - data-collection.security-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track SSL/TLS certificate metrics for efficient web security and certificate management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SSL Certificate exporter](https://github.com/ribbybibby/ssl_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [SSL Certificate exporter](https://github.com/ribbybibby/ssl_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-starlink + most_popular: false + community: true + monitored_instance: + name: Starlink (SpaceX) + link: https://github.com/danopstech/starlink_exporter + icon_filename: starlink.svg + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor SpaceX Starlink satellite internet metrics for efficient internet service management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Starlink Exporter (SpaceX)](https://github.com/danopstech/starlink_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Starlink Exporter (SpaceX)](https://github.com/danopstech/starlink_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-statuspage + most_popular: false + community: true + monitored_instance: + name: StatusPage + link: https://github.com/vladvasiliu/statuspage-exporter + icon_filename: statuspage.png + categories: + - data-collection.notifications + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor StatusPage.io incident and status metrics for efficient incident management and communication. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [StatusPage Exporter](https://github.com/vladvasiliu/statuspage-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [StatusPage Exporter](https://github.com/vladvasiliu/statuspage-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-tacas + most_popular: false + community: true + monitored_instance: + name: TACACS + link: https://github.com/devon-mar/tacacs-exporter + icon_filename: tacacs.png + categories: + - data-collection.authentication-and-authorization + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Terminal Access Controller Access-Control System (TACACS) protocol metrics for efficient network authentication and authorization management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [TACACS Exporter](https://github.com/devon-mar/tacacs-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [TACACS Exporter](https://github.com/devon-mar/tacacs-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-tesla_vehicle + most_popular: false + community: true + monitored_instance: + name: Tesla vehicle + link: https://github.com/wywywywy/tesla-prometheus-exporter + icon_filename: tesla.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Tesla vehicle metrics for efficient electric vehicle management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Tesla exporter](https://github.com/wywywywy/tesla-prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Tesla exporter](https://github.com/wywywywy/tesla-prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-tesla_powerwall + most_popular: false + community: true + monitored_instance: + name: Tesla Powerwall + link: https://github.com/foogod/powerwall_exporter + icon_filename: tesla.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Tesla Powerwall metrics for efficient home energy storage and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Tesla Powerwall Exporter](https://github.com/foogod/powerwall_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Tesla Powerwall Exporter](https://github.com/foogod/powerwall_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-twitch + most_popular: false + community: true + monitored_instance: + name: Twitch + link: https://github.com/damoun/twitch_exporter + icon_filename: twitch.svg + categories: + - data-collection.media-streaming-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Twitch streaming platform metrics for efficient live streaming management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Twitch exporter](https://github.com/damoun/twitch_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Twitch exporter](https://github.com/damoun/twitch_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ubiquity_ufiber + most_popular: false + community: true + monitored_instance: + name: Ubiquiti UFiber OLT + link: https://github.com/swoga/ufiber-exporter + icon_filename: ubiquiti.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Ubiquiti UFiber GPON (Gigabit Passive Optical Network) device metrics for efficient fiber-optic network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ufiber-exporter](https://github.com/swoga/ufiber-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [ufiber-exporter](https://github.com/swoga/ufiber-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-uptimerobot + most_popular: false + community: true + monitored_instance: + name: Uptimerobot + link: https://github.com/wosc/prometheus-uptimerobot + icon_filename: uptimerobot.svg + categories: + - data-collection.synthetic-checks + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor UptimeRobot website uptime monitoring metrics for efficient website availability tracking and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Uptimerobot Exporter](https://github.com/wosc/prometheus-uptimerobot). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Uptimerobot Exporter](https://github.com/wosc/prometheus-uptimerobot) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-hashicorp_vault + most_popular: false + community: true + monitored_instance: + name: HashiCorp Vault secrets + link: https://github.com/tomtom-international/vault-assessment-prometheus-exporter + icon_filename: vault.svg + categories: + - data-collection.authentication-and-authorization + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track HashiCorp Vault security assessment metrics for efficient secrets management and security. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Vault Assessment Prometheus Exporter](https://github.com/tomtom-international/vault-assessment-prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Vault Assessment Prometheus Exporter](https://github.com/tomtom-international/vault-assessment-prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-vault_pki + most_popular: false + community: true + monitored_instance: + name: Vault PKI + link: https://github.com/aarnaud/vault-pki-exporter + icon_filename: vault.svg + categories: + - data-collection.security-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor HashiCorp Vault Public Key Infrastructure (PKI) metrics for efficient certificate management and security. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Vault PKI Exporter](https://github.com/aarnaud/vault-pki-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Vault PKI Exporter](https://github.com/aarnaud/vault-pki-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-vertica + most_popular: false + community: true + monitored_instance: + name: Vertica + link: https://github.com/vertica/vertica-prometheus-exporter + icon_filename: vertica.svg + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Vertica analytics database platform metrics for efficient database performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [vertica-prometheus-exporter](https://github.com/vertica/vertica-prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [vertica-prometheus-exporter](https://github.com/vertica/vertica-prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-vscode + most_popular: false + community: true + monitored_instance: + name: VSCode + link: https://github.com/guicaulada/vscode-exporter + icon_filename: vscode.svg + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Visual Studio Code editor metrics for efficient development environment management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [VSCode Exporter](https://github.com/guicaulada/vscode-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [VSCode Exporter](https://github.com/guicaulada/vscode-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-airthings_waveplus + most_popular: false + community: true + monitored_instance: + name: Airthings Waveplus air sensor + link: https://github.com/jeremybz/waveplus_exporter + icon_filename: airthings.svg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Waveplus radon sensor metrics for efficient indoor air quality monitoring and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Waveplus Radon Sensor Exporter](https://github.com/jeremybz/waveplus_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Waveplus Radon Sensor Exporter](https://github.com/jeremybz/waveplus_exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-xmpp_blackbox + most_popular: false + community: true + monitored_instance: + name: XMPP Server + link: https://github.com/horazont/xmpp-blackbox-exporter + icon_filename: xmpp.svg + categories: + - data-collection.message-brokers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor XMPP (Extensible Messaging and Presence Protocol) server metrics for efficient messaging and communication management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [XMPP Server Exporter](https://github.com/horazont/xmpp-blackbox-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [XMPP Server Exporter](https://github.com/horazont/xmpp-blackbox-exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-4d_server + most_popular: false + community: true + monitored_instance: + name: 4D Server + link: https://github.com/ThomasMaul/Prometheus_4D_Exporter + icon_filename: 4d_server.png + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor 4D Server performance metrics for efficient application management and optimization. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [4D Server exporter](https://github.com/ThomasMaul/Prometheus_4D_Exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [4D Server exporter](https://github.com/ThomasMaul/Prometheus_4D_Exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-8430ft-modem + most_popular: false + community: true + monitored_instance: + name: 8430FT modem + link: https://github.com/dernasherbrezon/8430ft_exporter + icon_filename: mtc.svg + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep track of vital metrics from the MTS 8430FT modem for streamlined network performance and diagnostics. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [8430FT Exporter](https://github.com/dernasherbrezon/8430ft_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [8430FT Exporter](https://github.com/dernasherbrezon/8430ft_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-steam_a2s + most_popular: false + community: true + monitored_instance: + name: Steam + link: https://github.com/armsnyder/a2s-exporter + icon_filename: a2s.png + categories: + - data-collection.gaming + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Gain insights into Steam A2S-supported game servers for performance and availability through real-time metric monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [A2S Exporter](https://github.com/armsnyder/a2s-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [A2S Exporter](https://github.com/armsnyder/a2s-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-akami_edgedns + most_popular: false + community: true + monitored_instance: + name: Akamai Edge DNS Traffic + link: https://github.com/akamai/akamai-edgedns-traffic-exporter + icon_filename: akamai.svg + categories: + - data-collection.dns-and-dhcp-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track and analyze Akamai Edge DNS traffic for enhanced performance and security. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Akamai Edge DNS Traffic Exporter](https://github.com/akamai/akamai-edgedns-traffic-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Akamai Edge DNS Traffic Exporter](https://github.com/akamai/akamai-edgedns-traffic-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-akami_gtm + most_popular: false + community: true + monitored_instance: + name: Akamai Global Traffic Management + link: https://github.com/akamai/akamai-gtm-metrics-exporter + icon_filename: akamai.svg + categories: + - data-collection.cloud-provider-managed + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor vital metrics of Akamai Global Traffic Management (GTM) for optimized load balancing and failover. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Akamai Global Traffic Management Metrics Exporter](https://github.com/akamai/akamai-gtm-metrics-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Akamai Global Traffic Management Metrics Exporter](https://github.com/akamai/akamai-gtm-metrics-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-alamos_fe2 + most_popular: false + community: true + monitored_instance: + name: Alamos FE2 server + link: https://github.com/codemonauts/prometheus-fe2-exporter + icon_filename: alamos_fe2.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Alamos FE2 systems for improved performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Alamos FE2 Exporter](https://github.com/codemonauts/prometheus-fe2-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Alamos FE2 Exporter](https://github.com/codemonauts/prometheus-fe2-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-altaro_backup + most_popular: false + community: true + monitored_instance: + name: Altaro Backup + link: https://github.com/raph2i/altaro_backup_exporter + icon_filename: altaro.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Altaro Backup performance metrics to ensure smooth data protection and recovery operations. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Altaro Backup Exporter](https://github.com/raph2i/altaro_backup_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Altaro Backup Exporter](https://github.com/raph2i/altaro_backup_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-amd_smi + most_popular: false + community: true + monitored_instance: + name: AMD CPU & GPU + link: https://github.com/amd/amd_smi_exporter + icon_filename: amd.svg + categories: + - data-collection.hardware-devices-and-sensors + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor AMD System Management Interface performance for optimized hardware management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [AMD SMI Exporter](https://github.com/amd/amd_smi_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [AMD SMI Exporter](https://github.com/amd/amd_smi_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-aaisp + most_popular: false + community: true + monitored_instance: + name: Andrews & Arnold line status + link: https://github.com/daveio/aaisp-exporter + icon_filename: andrewsarnold.jpg + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Andrews & Arnold Ltd (AAISP) metrics for improved network performance and diagnostics. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Andrews & Arnold line status exporter](https://github.com/daveio/aaisp-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Andrews & Arnold line status exporter](https://github.com/daveio/aaisp-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-apicast + most_popular: false + community: true + monitored_instance: + name: APIcast + link: https://github.com/3scale/apicast + icon_filename: apicast.png + categories: + - data-collection.web-servers-and-web-proxies + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor APIcast performance metrics to optimize API gateway operations and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [APIcast](https://github.com/3scale/apicast). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [APIcast](https://github.com/3scale/apicast) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-apple_timemachine + most_popular: false + community: true + monitored_instance: + name: Apple Time Machine + link: https://github.com/znerol/prometheus-timemachine-exporter + icon_filename: apple.svg + categories: + - data-collection.macos-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Apple Time Machine backup metrics for efficient data protection and recovery. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Apple Time Machine Exporter](https://github.com/znerol/prometheus-timemachine-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Apple Time Machine Exporter](https://github.com/znerol/prometheus-timemachine-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-arm_hwcpipe + most_popular: false + community: true + monitored_instance: + name: ARM HWCPipe + link: https://github.com/ylz-at/arm-hwcpipe-exporter + icon_filename: arm.svg + categories: + - data-collection.hardware-devices-and-sensors + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep track of ARM running Android devices and get metrics for efficient performance optimization. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ARM HWCPipe Exporter](https://github.com/ylz-at/arm-hwcpipe-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [ARM HWCPipe Exporter](https://github.com/ylz-at/arm-hwcpipe-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-arvancloud_cdn + most_popular: false + community: true + monitored_instance: + name: ArvanCloud CDN + link: https://github.com/arvancloud/ar-prometheus-exporter + icon_filename: arvancloud.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Track and analyze ArvanCloud CDN and cloud services performance metrics for optimized delivery and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ArvanCloud exporter](https://github.com/arvancloud/ar-prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [ArvanCloud exporter](https://github.com/arvancloud/ar-prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-audisto + most_popular: false + community: true + monitored_instance: + name: Audisto + link: https://github.com/ZeitOnline/audisto_exporter + icon_filename: audisto.svg + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Audisto SEO and website metrics for improved search performance and optimization. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Audisto exporter](https://github.com/ZeitOnline/audisto_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Audisto exporter](https://github.com/ZeitOnline/audisto_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-authlog + most_popular: false + community: true + monitored_instance: + name: AuthLog + link: https://github.com/woblerr/authlog_exporter + icon_filename: linux.png + categories: + - data-collection.logs-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor authentication logs for security insights and efficient access management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [AuthLog Exporter](https://github.com/woblerr/authlog_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [AuthLog Exporter](https://github.com/woblerr/authlog_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-aws_ec2_spot + most_popular: false + community: true + monitored_instance: + name: AWS EC2 Spot Instance + link: https://github.com/patcadelina/ec2-spot-exporter + icon_filename: aws-ec2.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - aws services + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor AWS EC2 Spot instances'' performance metrics for efficient resource allocation and cost optimization. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [AWS EC2 Spot Exporter](https://github.com/patcadelina/ec2-spot-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [AWS EC2 Spot Exporter](https://github.com/patcadelina/ec2-spot-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-aws_quota + most_popular: false + community: true + monitored_instance: + name: AWS Quota + link: https://github.com/emylincon/aws_quota_exporter + icon_filename: aws.svg + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - aws services + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor AWS service quotas for effective resource usage and cost management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [aws_quota_exporter](https://github.com/emylincon/aws_quota_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [aws_quota_exporter](https://github.com/emylincon/aws_quota_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-bobcat + most_popular: false + community: true + monitored_instance: + name: Bobcat Miner 300 + link: https://github.com/pperzyna/bobcat_exporter + icon_filename: bobcat.jpg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Bobcat equipment metrics for optimized performance and maintenance management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Bobcat Exporter](https://github.com/pperzyna/bobcat_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Bobcat Exporter](https://github.com/pperzyna/bobcat_exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-bosh + most_popular: false + community: true + monitored_instance: + name: BOSH + link: https://github.com/bosh-prometheus/bosh_exporter + icon_filename: bosh.png + categories: + - data-collection.provisioning-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on BOSH deployment metrics for improved cloud orchestration and resource management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [BOSH exporter](https://github.com/bosh-prometheus/bosh_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [BOSH exporter](https://github.com/bosh-prometheus/bosh_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-bpftrace + most_popular: false + community: true + monitored_instance: + name: bpftrace variables + link: https://github.com/andreasgerstmayr/bpftrace_exporter + icon_filename: bpftrace.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track bpftrace metrics for advanced performance analysis and troubleshooting. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [bpftrace exporter](https://github.com/andreasgerstmayr/bpftrace_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [bpftrace exporter](https://github.com/andreasgerstmayr/bpftrace_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-bungeecord + most_popular: false + community: true + monitored_instance: + name: BungeeCord + link: https://github.com/weihao/bungeecord-prometheus-exporter + icon_filename: bungee.png + categories: + - data-collection.gaming + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track BungeeCord proxy server metrics for efficient load balancing and performance management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [BungeeCord Prometheus Exporter](https://github.com/weihao/bungeecord-prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [BungeeCord Prometheus Exporter](https://github.com/weihao/bungeecord-prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-celery + most_popular: false + community: true + monitored_instance: + name: Celery + link: https://github.com/ZeitOnline/celery_redis_prometheus + icon_filename: celery.png + categories: + - data-collection.task-queues + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Celery task queue metrics for optimized task processing and resource management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Celery Exporter](https://github.com/ZeitOnline/celery_redis_prometheus). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Celery Exporter](https://github.com/ZeitOnline/celery_redis_prometheus) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-checkpoint + most_popular: false + community: true + monitored_instance: + name: Checkpoint device + link: https://github.com/RespiroConsulting/CheckPointExporter + icon_filename: checkpoint.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Check Point firewall and security metrics for enhanced network protection and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Checkpoint exporter](https://github.com/RespiroConsulting/CheckPointExporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Checkpoint exporter](https://github.com/RespiroConsulting/CheckPointExporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-chia + most_popular: false + community: true + monitored_instance: + name: Chia + link: https://github.com/chia-network/chia-exporter + icon_filename: chia.png + categories: + - data-collection.blockchain-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Chia blockchain metrics for optimized farming and resource allocation. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Chia Exporter](https://github.com/chia-network/chia-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Chia Exporter](https://github.com/chia-network/chia-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-clm5ip + most_popular: false + community: true + monitored_instance: + name: Christ Elektronik CLM5IP power panel + link: https://github.com/christmann/clm5ip_exporter/ + icon_filename: christelec.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Christ Elektronik CLM5IP device metrics for efficient performance and diagnostics. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Christ Elektronik CLM5IP Exporter](https://github.com/christmann/clm5ip_exporter/). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Christ Elektronik CLM5IP Exporter](https://github.com/christmann/clm5ip_exporter/) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-clamd + most_popular: false + community: true + monitored_instance: + name: ClamAV daemon + link: https://github.com/sergeymakinen/clamav_exporter + icon_filename: clamav.png + categories: + - data-collection.security-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track ClamAV antivirus metrics for enhanced threat detection and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ClamAV daemon stats exporter](https://github.com/sergeymakinen/clamav_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [ClamAV daemon stats exporter](https://github.com/sergeymakinen/clamav_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-clamscan + most_popular: false + community: true + monitored_instance: + name: Clamscan results + link: https://github.com/FortnoxAB/clamscan-exporter + icon_filename: clamav.png + categories: + - data-collection.security-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor ClamAV scanning performance metrics for efficient malware detection and analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [clamscan-exporter](https://github.com/FortnoxAB/clamscan-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [clamscan-exporter](https://github.com/FortnoxAB/clamscan-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-clash + most_popular: false + community: true + monitored_instance: + name: Clash + link: https://github.com/elonzh/clash_exporter + icon_filename: clash.png + categories: + - data-collection.web-servers-and-web-proxies + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Clash proxy server metrics for optimized network performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Clash exporter](https://github.com/elonzh/clash_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Clash exporter](https://github.com/elonzh/clash_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-cloud_foundry + most_popular: false + community: true + monitored_instance: + name: Cloud Foundry + link: https://github.com/bosh-prometheus/cf_exporter + icon_filename: cloud-foundry.svg + categories: + - data-collection.provisioning-systems + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Track Cloud Foundry platform metrics for optimized application deployment and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Cloud Foundry exporter](https://github.com/bosh-prometheus/cf_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Cloud Foundry exporter](https://github.com/bosh-prometheus/cf_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-cloud_foundry_firebase + most_popular: false + community: true + monitored_instance: + name: Cloud Foundry Firehose + link: https://github.com/bosh-prometheus/firehose_exporter + icon_filename: cloud-foundry.svg + categories: + - data-collection.provisioning-systems + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Cloud Foundry Firehose metrics for comprehensive platform diagnostics and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Cloud Foundry Firehose exporter](https://github.com/bosh-prometheus/firehose_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Cloud Foundry Firehose exporter](https://github.com/bosh-prometheus/firehose_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-akami_cloudmonitor + most_popular: false + community: true + monitored_instance: + name: Akami Cloudmonitor + link: https://github.com/ExpressenAB/cloudmonitor_exporter + icon_filename: akamai.svg + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Akamai cloudmonitor provider metrics for comprehensive cloud performance management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Cloudmonitor exporter](https://github.com/ExpressenAB/cloudmonitor_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Cloudmonitor exporter](https://github.com/ExpressenAB/cloudmonitor_exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-lustre + most_popular: false + community: true + monitored_instance: + name: Lustre metadata + link: https://github.com/GSI-HPC/prometheus-cluster-exporter + icon_filename: lustre.png + categories: + - data-collection.cloud-provider-managed + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Lustre clustered file system for efficient management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Cluster Exporter](https://github.com/GSI-HPC/prometheus-cluster-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Cluster Exporter](https://github.com/GSI-HPC/prometheus-cluster-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-cmon + most_popular: false + community: true + monitored_instance: + name: ClusterControl CMON + link: https://github.com/severalnines/cmon_exporter + icon_filename: cluster-control.svg + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track CMON metrics for Severalnines Cluster Control for efficient monitoring and management of database operations. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [CMON Exporter](https://github.com/severalnines/cmon_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [CMON Exporter](https://github.com/severalnines/cmon_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-collectd + most_popular: false + community: true + monitored_instance: + name: Collectd + link: https://github.com/prometheus/collectd_exporter + icon_filename: collectd.png + categories: + - data-collection.observability + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor system and application metrics with Collectd for comprehensive performance analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Collectd exporter](https://github.com/prometheus/collectd_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Collectd exporter](https://github.com/prometheus/collectd_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-shell_cmd + most_popular: false + community: true + monitored_instance: + name: Shell command + link: https://github.com/tomwilkie/prom-run + icon_filename: crunner.svg + categories: + - data-collection.generic-data-collection + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track custom command output metrics for tailored monitoring and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Command runner exporter](https://github.com/tomwilkie/prom-run). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Command runner exporter](https://github.com/tomwilkie/prom-run) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ftbeerpi + most_popular: false + community: true + monitored_instance: + name: CraftBeerPi + link: https://github.com/jo-hannes/craftbeerpi_exporter + icon_filename: craftbeer.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on CraftBeerPi homebrewing metrics for optimized brewing process management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [CraftBeerPi exporter](https://github.com/jo-hannes/craftbeerpi_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [CraftBeerPi exporter](https://github.com/jo-hannes/craftbeerpi_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-crypto + most_popular: false + community: true + monitored_instance: + name: Crypto exchanges + link: https://github.com/ix-ai/crypto-exporter + icon_filename: crypto.png + categories: + - data-collection.blockchain-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track cryptocurrency market metrics for informed investment and trading decisions. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Crypto exporter](https://github.com/ix-ai/crypto-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Crypto exporter](https://github.com/ix-ai/crypto-exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-cryptowatch + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Cryptowatch + link: https://github.com/nbarrientos/cryptowat_exporter + icon_filename: cryptowatch.png + categories: + - data-collection.blockchain-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Cryptowatch market data metrics for comprehensive cryptocurrency market analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Cryptowat Exporter](https://github.com/nbarrientos/cryptowat_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Cryptowat Exporter](https://github.com/nbarrientos/cryptowat_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-csgo + most_popular: false + community: true + monitored_instance: + name: CS:GO + link: https://github.com/kinduff/csgo_exporter + icon_filename: csgo.svg + categories: + - data-collection.gaming + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Counter-Strike: Global Offensive server metrics for improved game performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [CS:GO Exporter](https://github.com/kinduff/csgo_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [CS:GO Exporter](https://github.com/kinduff/csgo_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-certificate_transparency + most_popular: false + community: true + monitored_instance: + name: Certificate Transparency + link: https://github.com/Hsn723/ct-exporter + icon_filename: ct.png + categories: + - data-collection.security-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track certificate transparency log metrics for enhanced + SSL/TLS certificate management and security. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ct-exporter](https://github.com/Hsn723/ct-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [ct-exporter](https://github.com/Hsn723/ct-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-custom + most_popular: false + community: true + monitored_instance: + name: Custom Exporter + link: https://github.com/orange-cloudfoundry/custom_exporter + icon_filename: customdata.png + categories: + - data-collection.generic-data-collection + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Create and monitor custom metrics tailored to your specific use case and requirements. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Custom Exporter](https://github.com/orange-cloudfoundry/custom_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Custom Exporter](https://github.com/orange-cloudfoundry/custom_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-cvmfs + most_popular: false + community: true + monitored_instance: + name: CVMFS clients + link: https://github.com/guilbaults/cvmfs-exporter + icon_filename: cvmfs.png + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track CernVM File System metrics for optimized distributed file system performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [CVMFS exporter](https://github.com/guilbaults/cvmfs-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [CVMFS exporter](https://github.com/guilbaults/cvmfs-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ddwrt + most_popular: false + community: true + monitored_instance: + name: DDWRT Routers + link: https://github.com/camelusferus/ddwrt_collector + icon_filename: ddwrt.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on DD-WRT router metrics for efficient network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ddwrt-collector](https://github.com/camelusferus/ddwrt_collector). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [ddwrt-collector](https://github.com/camelusferus/ddwrt_collector) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-dell_emc_xtremio + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Dell EMC XtremIO cluster + link: https://github.com/cthiel42/prometheus-xtremio-exporter + icon_filename: dell.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Dell/EMC XtremIO storage metrics for optimized data management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Dell/EMC XtremIO Exporter](https://github.com/cthiel42/prometheus-xtremio-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Dell/EMC XtremIO Exporter](https://github.com/cthiel42/prometheus-xtremio-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-dependency_track + most_popular: false + community: true + monitored_instance: + name: Dependency-Track + link: https://github.com/jetstack/dependency-track-exporter + icon_filename: dependency-track.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Dependency-Track metrics for efficient vulnerability management and software supply chain analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Dependency-Track Exporter](https://github.com/jetstack/dependency-track-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Dependency-Track Exporter](https://github.com/jetstack/dependency-track-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-dmarc + <<: *meta + most_popular: false + community: true + monitored_instance: + name: DMARC + link: https://github.com/jgosmann/dmarc-metrics-exporter + icon_filename: dmarc.png + categories: + - data-collection.mail-servers + keywords: + - email authentication + - policy + - reporting + overview: + <<: *overview + data_collection: + metrics_description: | + Track DMARC email authentication metrics for improved email security and deliverability. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [dmarc-metrics-exporter](https://github.com/jgosmann/dmarc-metrics-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [dmarc-metrics-exporter](https://github.com/jgosmann/dmarc-metrics-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-dnsbl + <<: *meta + most_popular: false + community: true + monitored_instance: + name: DNSBL + link: https://github.com/Luzilla/dnsbl_exporter/ + icon_filename: dnsbl.png + categories: + - data-collection.dns-and-dhcp-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor DNSBL metrics for efficient domain reputation and security management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [dnsbl-exporter](https://github.com/Luzilla/dnsbl_exporter/). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [dnsbl-exporter](https://github.com/Luzilla/dnsbl_exporter/) by following the instructions mentioned in the exporter README. + + + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-bird + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Bird Routing Daemon + link: https://github.com/czerwonk/bird_exporter + icon_filename: bird.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Bird Routing Daemon metrics for optimized network routing and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Bird Routing Daemon Exporter](https://github.com/czerwonk/bird_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Bird Routing Daemon Exporter](https://github.com/czerwonk/bird_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-elgato_keylight + most_popular: false + community: true + monitored_instance: + name: Elgato Key Light devices. + link: https://github.com/mdlayher/keylight_exporter + icon_filename: elgato.svg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Elgato Key Light metrics for optimized lighting control and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Elgato Key Light exporter](https://github.com/mdlayher/keylight_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Elgato Key Light exporter](https://github.com/mdlayher/keylight_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-energomera + most_popular: false + community: true + monitored_instance: + name: Energomera smart power meters + link: https://github.com/peak-load/energomera_exporter + icon_filename: energomera.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Energomera electricity meter metrics for efficient energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Energomera electricity meter exporter](https://github.com/peak-load/energomera_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [energomera-exporter Energomera electricity meter exporter](https://github.com/peak-load/energomera_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-excel + most_popular: false + community: true + monitored_instance: + name: Excel spreadsheet + link: https://github.com/MarcusCalidus/excel-exporter + icon_filename: excel.png + categories: + - data-collection.generic-data-collection + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Export Prometheus metrics to Excel for versatile data analysis and reporting. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Excel Exporter](https://github.com/MarcusCalidus/excel-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Excel Exporter](https://github.com/MarcusCalidus/excel-exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-fastd + most_popular: false + community: true + monitored_instance: + name: Fastd + link: https://github.com/freifunk-darmstadt/fastd-exporter + icon_filename: fastd.png + categories: + - data-collection.vpns + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Fastd VPN metrics for efficient virtual private network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Fastd Exporter](https://github.com/freifunk-darmstadt/fastd-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Fastd Exporter](https://github.com/freifunk-darmstadt/fastd-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-freifunk + most_popular: false + community: true + monitored_instance: + name: Freifunk network + link: https://github.com/xperimental/freifunk-exporter + icon_filename: freifunk.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Freifunk community network metrics for optimized network performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Freifunk Exporter](https://github.com/xperimental/freifunk-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Freifunk Exporter](https://github.com/xperimental/freifunk-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-fritzbox + most_popular: false + community: true + monitored_instance: + name: Fritzbox network devices + link: https://github.com/pdreker/fritz_exporter + icon_filename: avm.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track AVM Fritzbox router metrics for efficient home network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Fritzbox exporter](https://github.com/pdreker/fritz_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Fritzbox exporter](https://github.com/pdreker/fritz_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-frrouting + most_popular: false + community: true + monitored_instance: + name: FRRouting + link: https://github.com/tynany/frr_exporter + icon_filename: frrouting.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Free Range Routing (FRR) metrics for optimized network routing and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [FRRouting Exporter](https://github.com/tynany/frr_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [FRRouting Exporter](https://github.com/tynany/frr_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-generic_cli + most_popular: false + community: true + monitored_instance: + name: Generic Command Line Output + link: https://github.com/MarioMartReq/generic-exporter + icon_filename: cli.svg + categories: + - data-collection.generic-data-collection + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track custom command line output metrics for tailored monitoring and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Generic Command Line Output Exporter](https://github.com/MarioMartReq/generic-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Generic Command Line Output Exporter](https://github.com/MarioMartReq/generic-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-github_ratelimit + most_popular: false + community: true + monitored_instance: + name: GitHub API rate limit + link: https://github.com/lunarway/github-ratelimit-exporter + icon_filename: github.svg + categories: + - data-collection.other + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor GitHub API rate limit metrics for efficient + API usage and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [GitHub API rate limit Exporter](https://github.com/lunarway/github-ratelimit-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [GitHub API rate limit Exporter](https://github.com/lunarway/github-ratelimit-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-gpsd + most_popular: false + community: true + monitored_instance: + name: gpsd + link: https://github.com/natesales/gpsd-exporter + icon_filename: gpsd.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor GPSD (GPS daemon) metrics for efficient GPS data management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [gpsd exporter](https://github.com/natesales/gpsd-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [gpsd exporter](https://github.com/natesales/gpsd-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-gtp + most_popular: false + community: true + monitored_instance: + name: GTP + link: https://github.com/wmnsk/gtp_exporter + icon_filename: gtpu.png + categories: + - data-collection.telephony-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on GTP (GPRS Tunneling Protocol) metrics for optimized mobile data communication and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [GTP Exporter](https://github.com/wmnsk/gtp_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [GTP Exporter](https://github.com/wmnsk/gtp_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-halon + most_popular: false + community: true + monitored_instance: + name: Halon + link: https://github.com/tobiasbp/halon_exporter + icon_filename: halon.svg + categories: + - data-collection.mail-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Halon email security and delivery metrics for optimized email management and protection. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Halon exporter](https://github.com/tobiasbp/halon_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Halon exporter](https://github.com/tobiasbp/halon_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-hasura_graphql + most_popular: false + community: true + monitored_instance: + name: Hasura GraphQL Server + link: https://github.com/zolamk/hasura-exporter + icon_filename: hasura.svg + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Hasura GraphQL engine metrics for optimized + API performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Hasura Exporter](https://github.com/zolamk/hasura-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Hasura Exporter](https://github.com/zolamk/hasura-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-hdsentinel + most_popular: false + community: true + monitored_instance: + name: HDSentinel + link: https://github.com/qusielle/hdsentinel-exporter + icon_filename: harddisk.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Hard Disk Sentinel metrics for efficient storage device health management and diagnostics. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [HDSentinel Exporter](https://github.com/qusielle/hdsentinel-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [HDSentinel Exporter](https://github.com/qusielle/hdsentinel-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-helium_hotspot + most_popular: false + community: true + monitored_instance: + name: Helium hotspot + link: https://github.com/tedder/helium_hotspot_exporter + icon_filename: helium.svg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Helium hotspot metrics for optimized LoRaWAN network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Helium hotspot exporter](https://github.com/tedder/helium_hotspot_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Helium hotspot exporter](https://github.com/tedder/helium_hotspot_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-helium_miner + most_popular: false + community: true + monitored_instance: + name: Helium miner (validator) + link: https://github.com/tedder/miner_exporter + icon_filename: helium.svg + categories: + - data-collection.blockchain-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Helium miner and validator metrics for efficient blockchain performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Helium miner (validator) exporter](https://github.com/tedder/miner_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Helium miner (validator) exporter](https://github.com/tedder/miner_exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-hhvm + most_popular: false + community: true + monitored_instance: + name: HHVM + link: https://github.com/wikimedia/operations-software-hhvm_exporter + icon_filename: hhvm.svg + categories: + - data-collection.web-servers-and-web-proxies + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor HipHop Virtual Machine metrics for efficient + PHP execution and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [HHVM Exporter](https://github.com/wikimedia/operations-software-hhvm_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [HHVM Exporter](https://github.com/wikimedia/operations-software-hhvm_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-hilink + most_popular: false + community: true + monitored_instance: + name: Huawei devices + link: https://github.com/eliecharra/hilink-exporter + icon_filename: huawei.svg + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Huawei HiLink device metrics for optimized connectivity and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Huawei Hilink exporter](https://github.com/eliecharra/hilink-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Huawei Hilink exporter](https://github.com/eliecharra/hilink-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-hitron_cgm + most_popular: false + community: true + monitored_instance: + name: Hitron CGN series CPE + link: https://github.com/yrro/hitron-exporter + icon_filename: hitron.svg + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Hitron CGNV4 gateway metrics for efficient network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Hitron CGNV4 exporter](https://github.com/yrro/hitron-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Hitron CGNV4 exporter](https://github.com/yrro/hitron-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-hitron_coda + most_popular: false + community: true + monitored_instance: + name: Hitron CODA Cable Modem + link: https://github.com/hairyhenderson/hitron_coda_exporter + icon_filename: hitron.svg + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Hitron CODA cable modem metrics for optimized internet connectivity and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Hitron CODA Cable Modem Exporter](https://github.com/hairyhenderson/hitron_coda_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Hitron CODA Cable Modem Exporter](https://github.com/hairyhenderson/hitron_coda_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-homebridge + most_popular: false + community: true + monitored_instance: + name: Homebridge + link: https://github.com/lstrojny/homebridge-prometheus-exporter + icon_filename: homebridge.svg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Homebridge smart home metrics for efficient home automation management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Homebridge Prometheus Exporter](https://github.com/lstrojny/homebridge-prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Homebridge Prometheus Exporter](https://github.com/lstrojny/homebridge-prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-homey + most_popular: false + community: true + monitored_instance: + name: Homey + link: https://github.com/rickardp/homey-prometheus-exporter + icon_filename: homey.svg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Homey smart home controller metrics for efficient home automation and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Homey Exporter](https://github.com/rickardp/homey-prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Homey Exporter](https://github.com/rickardp/homey-prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ibm_cex + most_popular: false + community: true + monitored_instance: + name: IBM CryptoExpress (CEX) cards + link: https://github.com/ibm-s390-cloud/k8s-cex-dev-plugin + icon_filename: ibm.svg + categories: + - data-collection.hardware-devices-and-sensors + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track IBM Z Crypto Express device metrics for optimized cryptographic performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [IBM Z CEX Device Plugin Prometheus Exporter](https://github.com/ibm-s390-cloud/k8s-cex-dev-plugin). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [IBM Z CEX Device Plugin Prometheus Exporter](https://github.com/ibm-s390-cloud/k8s-cex-dev-plugin) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ibm_zhmc + most_popular: false + community: true + monitored_instance: + name: IBM Z Hardware Management Console + link: https://github.com/zhmcclient/zhmc-prometheus-exporter + icon_filename: ibm.svg + categories: + - data-collection.hardware-devices-and-sensors + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor IBM Z Hardware Management Console metrics for efficient mainframe management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [IBM Z HMC Exporter](https://github.com/zhmcclient/zhmc-prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [IBM Z HMC Exporter](https://github.com/zhmcclient/zhmc-prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-iota + most_popular: false + community: true + monitored_instance: + name: IOTA full node + link: https://github.com/crholliday/iota-prom-exporter + icon_filename: iota.svg + categories: + - data-collection.blockchain-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on IOTA cryptocurrency network metrics for efficient blockchain performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [IOTA Exporter](https://github.com/crholliday/iota-prom-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [IOTA Exporter](https://github.com/crholliday/iota-prom-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-iqair + most_popular: false + community: true + monitored_instance: + name: iqAir AirVisual air quality monitors + link: https://github.com/Packetslave/iqair_exporter + icon_filename: iqair.svg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor air quality data from IQAir devices for efficient environmental monitoring and analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [IQair Exporter](https://github.com/Packetslave/iqair_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [IQair Exporter](https://github.com/Packetslave/iqair_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-jarvis + most_popular: false + community: true + monitored_instance: + name: Jarvis Standing Desk + link: https://github.com/hairyhenderson/jarvis_exporter/ + icon_filename: jarvis.jpg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Jarvis standing desk usage metrics for efficient workspace ergonomics and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Jarvis Standing Desk Exporter](https://github.com/hairyhenderson/jarvis_exporter/). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Jarvis Standing Desk Exporter](https://github.com/hairyhenderson/jarvis_exporter/) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-enclosure + most_popular: false + community: true + monitored_instance: + name: Generic storage enclosure tool + link: https://github.com/Gandi/jbod-rs + icon_filename: storage-enclosure.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor storage enclosure metrics for efficient storage device management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [jbod - Generic storage enclosure tool](https://github.com/Gandi/jbod-rs). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [jbod - Generic storage enclosure tool](https://github.com/Gandi/jbod-rs) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-jetbrains_fls + most_popular: false + community: true + monitored_instance: + name: JetBrains Floating License Server + link: https://github.com/mkreu/jetbrains-fls-exporter + icon_filename: jetbrains.png + categories: + - data-collection.generic-data-collection + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor JetBrains floating license server metrics for efficient software licensing management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [JetBrains Floating License Server Export](https://github.com/mkreu/jetbrains-fls-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [JetBrains Floating License Server Export](https://github.com/mkreu/jetbrains-fls-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-journald + most_popular: false + community: true + monitored_instance: + name: journald + link: https://github.com/dead-claudia/journald-exporter + icon_filename: linux.png + categories: + - data-collection.logs-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on systemd-journald metrics for efficient log management and analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [journald-exporter](https://github.com/dead-claudia/journald-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [journald-exporter](https://github.com/dead-claudia/journald-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-kafka_connect + most_popular: false + community: true + monitored_instance: + name: Kafka Connect + link: https://github.com/findelabs/kafka-connect-exporter-rs + icon_filename: kafka.svg + categories: + - data-collection.message-brokers + keywords: + - big data + - stream processing + - message broker + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Kafka Connect metrics for efficient data streaming and integration. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Kafka Connect exporter](https://github.com/findelabs/kafka-connect-exporter-rs). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Kafka Connect exporter](https://github.com/findelabs/kafka-connect-exporter-rs) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-kannel + most_popular: false + community: true + monitored_instance: + name: Kannel + link: https://github.com/apostvav/kannel_exporter + icon_filename: kannel.png + categories: + - data-collection.telephony-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Kannel SMS gateway and WAP gateway metrics for efficient mobile communication and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Kannel Exporter](https://github.com/apostvav/kannel_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Kannel Exporter](https://github.com/apostvav/kannel_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-keepalived + most_popular: false + community: true + monitored_instance: + name: Keepalived + link: https://github.com/gen2brain/keepalived_exporter + icon_filename: keepalived.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Keepalived metrics for efficient high-availability and load balancing management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Keepalived Exporter](https://github.com/gen2brain/keepalived_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Keepalived Exporter](https://github.com/gen2brain/keepalived_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-korral + most_popular: false + community: true + monitored_instance: + name: Kubernetes Cluster Cloud Cost + link: https://github.com/agilestacks/korral + icon_filename: kubernetes.svg + categories: + - data-collection.kubernetes + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Kubernetes cloud cost metrics for efficient cloud resource management and budgeting. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Kubernetes Cloud Cost Exporter](https://github.com/agilestacks/korral). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Kubernetes Cloud Cost Exporter](https://github.com/agilestacks/korral) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-lagerist + most_popular: false + community: true + monitored_instance: + name: Lagerist Disk latency + link: https://github.com/Svedrin/lagerist + icon_filename: linux.png + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track disk latency metrics for efficient storage performance and diagnostics. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Lagerist Disk latency exporter](https://github.com/Svedrin/lagerist). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Lagerist Disk latency exporter](https://github.com/Svedrin/lagerist) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ldap + most_popular: false + community: true + monitored_instance: + name: LDAP + link: https://github.com/titisan/ldap_exporter + icon_filename: ldap.png + categories: + - data-collection.authentication-and-authorization + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Lightweight Directory Access Protocol (LDAP) metrics for efficient directory service management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [LDAP Exporter](https://github.com/titisan/ldap_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [LDAP Exporter](https://github.com/titisan/ldap_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-lynis + most_popular: false + community: true + monitored_instance: + name: Lynis audit reports + link: https://github.com/MauveSoftware/lynis_exporter + icon_filename: lynis.png + categories: + - data-collection.security-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Lynis security auditing tool metrics for efficient system security and compliance management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [lynis_exporter](https://github.com/MauveSoftware/lynis_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [lynis_exporter](https://github.com/MauveSoftware/lynis_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-machbase + most_popular: false + community: true + monitored_instance: + name: Machbase + link: https://github.com/MACHBASE/prometheus-machbase-exporter + icon_filename: machbase.png + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Machbase time-series database metrics for efficient data storage and query performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Machbase Exporter](https://github.com/MACHBASE/prometheus-machbase-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Machbase Exporter](https://github.com/MACHBASE/prometheus-machbase-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-maildir + most_popular: false + community: true + monitored_instance: + name: Maildir + link: https://github.com/cherti/mailexporter + icon_filename: mailserver.svg + categories: + - data-collection.mail-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track mail server metrics for optimized email management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [mailexporter](https://github.com/cherti/mailexporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [mailexporter](https://github.com/cherti/mailexporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-meilisearch + most_popular: false + community: true + monitored_instance: + name: Meilisearch + link: https://github.com/scottaglia/meilisearch_exporter + icon_filename: meilisearch.svg + categories: + - data-collection.search-engines + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Meilisearch search engine metrics for efficient search performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Meilisearch Exporter](https://github.com/scottaglia/meilisearch_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Meilisearch Exporter](https://github.com/scottaglia/meilisearch_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-memcached + most_popular: false + community: true + monitored_instance: + name: Memcached (community) + link: https://github.com/prometheus/memcached_exporter + icon_filename: memcached.svg + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Memcached in-memory key-value store metrics for efficient caching performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Memcached exporter](https://github.com/prometheus/memcached_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Memcached exporter](https://github.com/prometheus/memcached_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-meraki + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Meraki dashboard + link: https://github.com/TheHolm/meraki-dashboard-promethus-exporter + icon_filename: meraki.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Cisco Meraki cloud-managed networking device metrics for efficient network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Meraki dashboard data exporter using API](https://github.com/TheHolm/meraki-dashboard-promethus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Meraki dashboard data exporter using API](https://github.com/TheHolm/meraki-dashboard-promethus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-mesos + most_popular: false + community: true + monitored_instance: + name: Mesos + link: http://github.com/mesosphere/mesos_exporter + icon_filename: mesos.svg + categories: + #- data-collection.provisioning-systems + - data-collection.task-queues + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Apache Mesos cluster manager metrics for efficient resource management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Mesos exporter](http://github.com/mesosphere/mesos_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Mesos exporter](http://github.com/mesosphere/mesos_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-xiaomi_mi_flora + most_popular: false + community: true + monitored_instance: + name: Xiaomi Mi Flora + link: https://github.com/xperimental/flowercare-exporter + icon_filename: xiaomi.svg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on MiFlora plant monitor metrics for efficient plant care and growth management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [MiFlora / Flower Care Exporter](https://github.com/xperimental/flowercare-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [MiFlora / Flower Care Exporter](https://github.com/xperimental/flowercare-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-modbus_rtu + most_popular: false + community: true + monitored_instance: + name: Modbus protocol + link: https://github.com/dernasherbrezon/modbusrtu_exporter + icon_filename: modbus.svg + categories: + - data-collection.iot-devices + keywords: + - database + - dbms + - data storage + overview: + <<: *overview + data_collection: + metrics_description: | + Track Modbus RTU protocol metrics for efficient industrial automation and control performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [modbusrtu_exporter](https://github.com/dernasherbrezon/modbusrtu_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [modbusrtu_exporter](https://github.com/dernasherbrezon/modbusrtu_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-mogilefs + most_popular: false + community: true + monitored_instance: + name: MogileFS + link: https://github.com/KKBOX/mogilefs-exporter + icon_filename: filesystem.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor MogileFS distributed file system metrics for efficient storage management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [MogileFS Exporter](https://github.com/KKBOX/mogilefs-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [MogileFS Exporter](https://github.com/KKBOX/mogilefs-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-monnit_mqtt + most_popular: false + community: true + monitored_instance: + name: Monnit Sensors MQTT + link: https://github.com/braxton9460/monnit-mqtt-exporter + icon_filename: monnit.svg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Monnit sensor data via MQTT for efficient IoT device monitoring and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Monnit Sensors MQTT Exporter WIP](https://github.com/braxton9460/monnit-mqtt-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Monnit Sensors MQTT Exporter WIP](https://github.com/braxton9460/monnit-mqtt-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-mtail + most_popular: false + community: true + monitored_instance: + name: mtail + link: https://github.com/google/mtail + icon_filename: mtail.png + categories: + - data-collection.logs-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor log data metrics using mtail log data extractor and parser. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [mtail](https://github.com/google/mtail). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [mtail](https://github.com/google/mtail) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-naemon + most_popular: false + community: true + monitored_instance: + name: Naemon + link: https://github.com/Griesbacher/Iapetos + icon_filename: naemon.svg + categories: + - data-collection.observability + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Naemon or Nagios network monitoring metrics for efficient IT infrastructure management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Naemon / Nagios Exporter](https://github.com/Griesbacher/Iapetos). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Naemon / Nagios Exporter](https://github.com/Griesbacher/Iapetos) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-nagios + most_popular: false + community: true + monitored_instance: + name: Nagios + link: https://github.com/wbollock/nagios_exporter + icon_filename: nagios.png + categories: + - data-collection.observability + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Nagios network monitoring metrics for efficient + IT infrastructure management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Nagios exporter](https://github.com/wbollock/nagios_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Nagios exporter](https://github.com/wbollock/nagios_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-nature_remo + most_popular: false + community: true + monitored_instance: + name: Nature Remo E lite devices + link: https://github.com/kenfdev/remo-exporter + icon_filename: nature-remo.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Nature Remo E series smart home device metrics for efficient home automation and energy management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Nature Remo E series Exporter](https://github.com/kenfdev/remo-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Nature Remo E series Exporter](https://github.com/kenfdev/remo-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-netatmo + most_popular: false + community: true + monitored_instance: + name: Netatmo sensors + link: https://github.com/xperimental/netatmo-exporter + icon_filename: netatmo.svg + categories: + - data-collection.iot-devices + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Netatmo smart home device metrics for efficient home automation and energy management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Netatmo exporter](https://github.com/xperimental/netatmo-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Netatmo exporter](https://github.com/xperimental/netatmo-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-netflow + most_popular: false + community: true + monitored_instance: + name: NetFlow + link: https://github.com/paihu/netflow_exporter + icon_filename: netflow.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Track NetFlow network traffic metrics for efficient network monitoring and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [netflow exporter](https://github.com/paihu/netflow_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [netflow exporter](https://github.com/paihu/netflow_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-nextcloud + most_popular: false + community: true + monitored_instance: + name: Nextcloud servers + link: https://github.com/xperimental/nextcloud-exporter + icon_filename: nextcloud.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Nextcloud cloud storage metrics for efficient file hosting and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Nextcloud exporter](https://github.com/xperimental/nextcloud-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Nextcloud exporter](https://github.com/xperimental/nextcloud-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-nextdns + most_popular: false + community: true + monitored_instance: + name: NextDNS + link: https://github.com/raylas/nextdns-exporter + icon_filename: nextdns.png + categories: + - data-collection.dns-and-dhcp-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track NextDNS DNS resolver and security platform metrics for efficient DNS management and security. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [nextdns-exporter](https://github.com/raylas/nextdns-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [nextdns-exporter](https://github.com/raylas/nextdns-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-nftables + most_popular: false + community: true + monitored_instance: + name: nftables + link: https://github.com/Sheridan/nftables_exporter + icon_filename: nftables.png + categories: + - data-collection.linux-systems.firewall-metrics + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor nftables firewall metrics for efficient network security and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [nftables_exporter](https://github.com/Sheridan/nftables_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [nftables_exporter](https://github.com/Sheridan/nftables_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ibm_aix_njmon + most_popular: false + community: true + monitored_instance: + name: IBM AIX systems Njmon + link: https://github.com/crooks/njmon_exporter + icon_filename: ibm.svg + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on NJmon system performance monitoring metrics for efficient IT infrastructure management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [NJmon](https://github.com/crooks/njmon_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [NJmon](https://github.com/crooks/njmon_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-nrpe + most_popular: false + community: true + monitored_instance: + name: NRPE daemon + link: https://github.com/canonical/nrpe_exporter + icon_filename: nrpelinux.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Nagios Remote Plugin Executor (NRPE) metrics for efficient system and network monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [NRPE exporter](https://github.com/canonical/nrpe_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [NRPE exporter](https://github.com/canonical/nrpe_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-mikrotik + most_popular: false + community: true + monitored_instance: + name: MikroTik devices + link: https://github.com/swoga/mikrotik-exporter + icon_filename: mikrotik.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on MikroTik RouterOS metrics for efficient network device management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [mikrotik-exporter](https://github.com/swoga/mikrotik-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [nshttpd/mikrotik-exporter, swoga/m](https://github.com/swoga/mikrotik-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-nsxt + most_popular: false + community: true + monitored_instance: + name: NSX-T + link: https://github.com/jk8s/nsxt_exporter + icon_filename: vmware-nsx.svg + categories: + - data-collection.containers-and-vms + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track VMware NSX-T software-defined networking metrics for efficient network virtualization and security management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [NSX-T Exporter](https://github.com/jk8s/nsxt_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [NSX-T Exporter](https://github.com/jk8s/nsxt_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-nvml + <<: *meta + most_popular: false + community: true + monitored_instance: + name: NVML + link: https://github.com/oko/nvml-exporter-rs + icon_filename: nvidia.svg + categories: + - data-collection.hardware-devices-and-sensors + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on NVIDIA Management Library (NVML) GPU metrics for efficient GPU performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [NVML exporter](https://github.com/oko/nvml-exporter-rs). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [NVML exporter](https://github.com/oko/nvml-exporter-rs) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-obs_studio + most_popular: false + community: true + monitored_instance: + name: OBS Studio + link: https://github.com/lukegb/obs_studio_exporter + icon_filename: obs-studio.png + categories: + - data-collection.media-streaming-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track OBS Studio live streaming and recording software metrics for efficient video production and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [OBS Studio Exporter](https://github.com/lukegb/obs_studio_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [OBS Studio Exporter](https://github.com/lukegb/obs_studio_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-odbc + most_popular: false + community: true + monitored_instance: + name: ODBC + link: https://github.com/MACHBASE/prometheus-odbc-exporter + icon_filename: odbc.svg + categories: + - data-collection.database-servers + keywords: + - database + - dbms + - data storage + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Open Database Connectivity (ODBC) metrics for efficient database connection and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ODBC Exporter](https://github.com/MACHBASE/prometheus-odbc-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [ODBC Exporter](https://github.com/MACHBASE/prometheus-odbc-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-openhab + most_popular: false + community: true + monitored_instance: + name: OpenHAB + link: https://github.com/pdreker/openhab_exporter + icon_filename: openhab.svg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track openHAB smart home automation system metrics for efficient home automation and energy management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [OpenHAB exporter](https://github.com/pdreker/openhab_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [OpenHAB exporter](https://github.com/pdreker/openhab_exporter) by following the instructions mentioned in the exporter README. + + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-openrc + most_popular: false + community: true + monitored_instance: + name: OpenRC + link: https://git.sr.ht/~tomleb/openrc-exporter + icon_filename: linux.png + categories: + - data-collection.linux-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on OpenRC init system metrics for efficient system startup and service management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [openrc-exporter](https://git.sr.ht/~tomleb/openrc-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [openrc-exporter](https://git.sr.ht/~tomleb/openrc-exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-openrct2 + most_popular: false + community: true + monitored_instance: + name: OpenRCT2 + link: https://github.com/terinjokes/openrct2-prometheus-exporter + icon_filename: openRCT2.png + categories: + - data-collection.gaming + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track OpenRCT2 game metrics for efficient game server management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [OpenRCT2 Prometheus Exporter](https://github.com/terinjokes/openrct2-prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [OpenRCT2 Prometheus Exporter](https://github.com/terinjokes/openrct2-prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-openroadm + most_popular: false + community: true + monitored_instance: + name: OpenROADM devices + link: https://github.com/utdal/openroadm_exporter + icon_filename: openroadm.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor OpenROADM optical transport network metrics using the NETCONF protocol for efficient network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [OpenROADM NETCONF Exporter WIP](https://github.com/utdal/openroadm_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [OpenROADM NETCONF Exporter WIP](https://github.com/utdal/openroadm_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-openweathermap + most_popular: false + community: true + monitored_instance: + name: OpenWeatherMap + link: https://github.com/Tenzer/openweathermap-exporter + icon_filename: openweather.png + categories: + - data-collection.generic-data-collection + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track OpenWeatherMap weather data and air pollution metrics for efficient environmental monitoring and analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [OpenWeatherMap Exporter](https://github.com/Tenzer/openweathermap-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [OpenWeatherMap Exporter](https://github.com/Tenzer/openweathermap-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-oracledb + most_popular: false + community: true + monitored_instance: + name: Oracle DB (community) + link: https://github.com/iamseth/oracledb_exporter + icon_filename: oracle.svg + categories: + - data-collection.database-servers + keywords: + - oracle + - database + - dbms + - data storage + overview: + <<: *overview + data_collection: + metrics_description: | + Track Oracle Database metrics for efficient database management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Oracle DB Exporter](https://github.com/iamseth/oracledb_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Oracle DB Exporter](https://github.com/iamseth/oracledb_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-otrs + most_popular: false + community: true + monitored_instance: + name: OTRS + link: https://github.com/JulianDroste/otrs_exporter + icon_filename: otrs.png + categories: + - data-collection.notifications + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor OTRS (Open-Source Ticket Request System) metrics for efficient helpdesk management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [OTRS Exporter](https://github.com/JulianDroste/otrs_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [OTRS Exporter](https://github.com/JulianDroste/otrs_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-dutch_electricity_smart_meter + most_popular: false + community: true + monitored_instance: + name: Dutch Electricity Smart Meter + link: https://github.com/TobiasDeBruijn/prometheus-p1-exporter + icon_filename: dutch-electricity.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Dutch smart meter P1 port metrics for efficient energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [P1Exporter - Dutch Electricity Smart Meter Exporter](https://github.com/TobiasDeBruijn/prometheus-p1-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [P1Exporter - Dutch Electricity Smart Meter Exporter](https://github.com/TobiasDeBruijn/prometheus-p1-exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-patroni + most_popular: false + community: true + monitored_instance: + name: Patroni + link: https://github.com/gopaytech/patroni_exporter + icon_filename: patroni.png + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Patroni PostgreSQL high-availability metrics for efficient database management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Patroni Exporter](https://github.com/gopaytech/patroni_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Patroni Exporter](https://github.com/gopaytech/patroni_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-pws + most_popular: false + community: true + monitored_instance: + name: Personal Weather Station + link: https://github.com/JohnOrthoefer/pws-exporter + icon_filename: wunderground.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track personal weather station metrics for efficient weather monitoring and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Personal Weather Station Exporter](https://github.com/JohnOrthoefer/pws-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Personal Weather Station Exporter](https://github.com/JohnOrthoefer/pws-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-pgbackrest + most_popular: false + community: true + monitored_instance: + name: pgBackRest + link: https://github.com/woblerr/pgbackrest_exporter + icon_filename: pgbackrest.png + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor pgBackRest PostgreSQL backup metrics for efficient database backup and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [pgBackRest Exporter](https://github.com/woblerr/pgbackrest_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [pgBackRest Exporter](https://github.com/woblerr/pgbackrest_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-pgpool2 + most_popular: false + community: true + monitored_instance: + name: Pgpool-II + link: https://github.com/pgpool/pgpool2_exporter + icon_filename: pgpool2.png + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Pgpool-II PostgreSQL middleware metrics for efficient database connection management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Pgpool-II Exporter](https://github.com/pgpool/pgpool2_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Pgpool-II Exporter](https://github.com/pgpool/pgpool2_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-pimoroni_enviro_plus + most_popular: false + community: true + monitored_instance: + name: Pimoroni Enviro+ + link: https://github.com/terradolor/prometheus-enviro-exporter + icon_filename: pimorino.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Pimoroni Enviro+ air quality and environmental metrics for efficient environmental monitoring and analysis. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Pimoroni Enviro+ Exporter](https://github.com/terradolor/prometheus-enviro-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Pimoroni Enviro+ Exporter](https://github.com/terradolor/prometheus-enviro-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-pingdom + most_popular: false + community: true + monitored_instance: + name: Pingdom + link: https://github.com/veepee-oss/pingdom_exporter + icon_filename: solarwinds.svg + categories: + - data-collection.synthetic-checks + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Pingdom website monitoring service metrics for efficient website performance management and diagnostics. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Pingdom Exporter](https://github.com/veepee-oss/pingdom_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Pingdom Exporter](https://github.com/veepee-oss/pingdom_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-dell_powermax + most_popular: false + community: true + monitored_instance: + name: Dell PowerMax + link: https://github.com/kckecheng/powermax_exporter + icon_filename: powermax.png + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Dell EMC PowerMax storage array metrics for efficient storage management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [PowerMax Exporter](https://github.com/kckecheng/powermax_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [PowerMax Exporter](https://github.com/kckecheng/powermax_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-powerpal + most_popular: false + community: true + monitored_instance: + name: Powerpal devices + link: https://github.com/aashley/powerpal_exporter + icon_filename: powerpal.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Powerpal smart meter metrics for efficient energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Powerpal Exporter](https://github.com/aashley/powerpal_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Powerpal Exporter](https://github.com/aashley/powerpal_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-proftpd + most_popular: false + community: true + monitored_instance: + name: ProFTPD + link: https://github.com/transnano/proftpd_exporter + icon_filename: proftpd.png + categories: + - data-collection.ftp-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor ProFTPD FTP server metrics for efficient file transfer and server performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ProFTPD Exporter](https://github.com/transnano/proftpd_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [ProFTPD Exporter](https://github.com/transnano/proftpd_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-eaton_ups + most_popular: false + community: true + monitored_instance: + name: Eaton UPS + link: https://github.com/psyinfra/prometheus-eaton-ups-exporter + icon_filename: eaton.svg + categories: + - data-collection.ups + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Eaton uninterruptible power supply (UPS) metrics for efficient power management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Prometheus Eaton UPS Exporter](https://github.com/psyinfra/prometheus-eaton-ups-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Prometheus Eaton UPS Exporter](https://github.com/psyinfra/prometheus-eaton-ups-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-redis_queue + most_popular: false + community: true + monitored_instance: + name: Redis Queue + link: https://github.com/mdawar/rq-exporter + icon_filename: rq.png + categories: + - data-collection.message-brokers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Python RQ (Redis Queue) job queue metrics for efficient task management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Python RQ Exporter](https://github.com/mdawar/rq-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Python RQ Exporter](https://github.com/mdawar/rq-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-radio_thermostat + most_popular: false + community: true + monitored_instance: + name: Radio Thermostat + link: https://github.com/andrewlow/radio-thermostat-exporter + icon_filename: radiots.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Radio Thermostat smart thermostat metrics for efficient home automation and energy management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Radio Thermostat Exporter](https://github.com/andrewlow/radio-thermostat-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Radio Thermostat Exporter](https://github.com/andrewlow/radio-thermostat-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-rancher + most_popular: false + community: true + monitored_instance: + name: Rancher + link: https://github.com/infinityworksltd/prometheus-rancher-exporter + icon_filename: rancher.svg + categories: + - data-collection.kubernetes + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Rancher container orchestration platform metrics for efficient container management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Rancher Exporter](https://github.com/infinityworksltd/prometheus-rancher-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Rancher Exporter](https://github.com/infinityworksltd/prometheus-rancher-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-raritan_pdu + most_popular: false + community: true + monitored_instance: + name: Raritan PDU + link: https://github.com/psyinfra/prometheus-raritan-pdu-exporter + icon_filename: raritan.svg + categories: + - data-collection.hardware-devices-and-sensors + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Raritan Power Distribution Unit (PDU) metrics for efficient power management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Raritan PDU Exporter](https://github.com/psyinfra/prometheus-raritan-pdu-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Raritan PDU Exporter](https://github.com/psyinfra/prometheus-raritan-pdu-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-routeros + most_popular: false + community: true + monitored_instance: + name: Mikrotik RouterOS devices + link: https://github.com/welbymcroberts/routeros_exporter + icon_filename: routeros.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track MikroTik RouterOS metrics for efficient network device management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [RouterOS exporter](https://github.com/welbymcroberts/routeros_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [RouterOS exporter](https://github.com/welbymcroberts/routeros_exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-sabnzbd + most_popular: false + community: true + monitored_instance: + name: SABnzbd + link: https://github.com/msroest/sabnzbd_exporter + icon_filename: sabnzbd.png + categories: + - data-collection.media-streaming-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor SABnzbd Usenet client metrics for efficient file downloads and resource management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SABnzbd Exporter](https://github.com/msroest/sabnzbd_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [SABnzbd Exporter](https://github.com/msroest/sabnzbd_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-salicru_eqx + most_popular: false + community: true + monitored_instance: + name: Salicru EQX inverter + link: https://github.com/alejandroscf/prometheus_salicru_exporter + icon_filename: salicru.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Salicru EQX solar inverter metrics for efficient solar energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Salicru EQX inverter](https://github.com/alejandroscf/prometheus_salicru_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Salicru EQX inverter](https://github.com/alejandroscf/prometheus_salicru_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-sense_energy + most_popular: false + community: true + monitored_instance: + name: Sense Energy + link: https://github.com/ejsuncy/sense_energy_prometheus_exporter + icon_filename: sense.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Sense Energy smart meter metrics for efficient energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Sense Energy exporter](https://github.com/ejsuncy/sense_energy_prometheus_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Sense Energy exporter](https://github.com/ejsuncy/sense_energy_prometheus_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-servertech + most_popular: false + community: true + monitored_instance: + name: ServerTech + link: https://github.com/tynany/servertech_exporter + icon_filename: servertech.png + categories: + - data-collection.hardware-devices-and-sensors + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Server Technology power distribution unit (PDU) metrics for efficient power management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ServerTech Exporter](https://github.com/tynany/servertech_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [ServerTech Exporter](https://github.com/tynany/servertech_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-shelly + most_popular: false + community: true + monitored_instance: + name: Shelly humidity sensor + link: https://github.com/aexel90/shelly_exporter + icon_filename: shelly.jpg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Shelly smart home device metrics for efficient home automation and energy management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Shelly Exporter](https://github.com/aexel90/shelly_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Shelly Exporter](https://github.com/aexel90/shelly_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-sia + most_popular: false + community: true + monitored_instance: + name: Sia + link: https://github.com/tbenz9/sia_exporter + icon_filename: sia.png + categories: + - data-collection.blockchain-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Sia decentralized storage platform metrics for efficient storage management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Sia Exporter](https://github.com/tbenz9/sia_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Sia Exporter](https://github.com/tbenz9/sia_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-s7_plc + most_popular: false + community: true + monitored_instance: + name: Siemens S7 PLC + link: https://github.com/MarcusCalidus/s7-plc-exporter + icon_filename: siemens.svg + categories: + - data-collection.hardware-devices-and-sensors + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Siemens S7 Programmable Logic Controller (PLC) metrics for efficient industrial automation and control. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Siemens S7 PLC exporter](https://github.com/MarcusCalidus/s7-plc-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Siemens S7 PLC exporter](https://github.com/MarcusCalidus/s7-plc-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-site24x7 + most_popular: false + community: true + monitored_instance: + name: Site 24x7 + link: https://github.com/svenstaro/site24x7_exporter + icon_filename: site24x7.svg + categories: + - data-collection.synthetic-checks + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Site24x7 website and infrastructure monitoring metrics for efficient performance tracking and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [site24x7 Exporter](https://github.com/svenstaro/site24x7_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [site24x7 Exporter](https://github.com/svenstaro/site24x7_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-sma_inverter + most_popular: false + community: true + monitored_instance: + name: SMA Inverters + link: https://github.com/dr0ps/sma_inverter_exporter + icon_filename: sma.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor SMA solar inverter metrics for efficient solar energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [sma-exporter](https://github.com/dr0ps/sma_inverter_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [sma-exporter](https://github.com/dr0ps/sma_inverter_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-smartrg808ac + most_popular: false + community: true + monitored_instance: + name: SmartRG 808AC Cable Modem + link: https://github.com/AdamIsrael/smartrg808ac_exporter + icon_filename: smartr.jpeg + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor SmartRG SR808ac router metrics for efficient network device management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [smartrg808ac_exporter](https://github.com/AdamIsrael/smartrg808ac_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [smartrg808ac_exporter](https://github.com/AdamIsrael/smartrg808ac_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-sml + most_popular: false + community: true + monitored_instance: + name: Smart meters SML + link: https://github.com/mweinelt/sml-exporter + icon_filename: sml.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Smart Message Language (SML) metrics for efficient smart metering and energy management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SML Exporter](https://github.com/mweinelt/sml-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [SML Exporter](https://github.com/mweinelt/sml-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-softether + most_popular: false + community: true + monitored_instance: + name: SoftEther VPN Server + link: https://github.com/dalance/softether_exporter + icon_filename: softether.svg + categories: + - data-collection.vpns + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor SoftEther VPN Server metrics for efficient virtual private network (VPN) management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SoftEther Exporter](https://github.com/dalance/softether_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [SoftEther Exporter](https://github.com/dalance/softether_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-lsx + most_popular: false + community: true + monitored_instance: + name: Solar logging stick + link: https://gitlab.com/bhavin192/lsx-exporter + icon_filename: solar.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor solar energy metrics using a solar logging stick for efficient solar energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Solar logging stick exporter](https://gitlab.com/bhavin192/lsx-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Solar logging stick exporter](https://gitlab.com/bhavin192/lsx-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-solaredge + most_popular: false + community: true + monitored_instance: + name: SolarEdge inverters + link: https://github.com/dave92082/SolarEdge-Exporter + icon_filename: solaredge.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track SolarEdge solar inverter metrics for efficient solar energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SolarEdge Exporter](https://github.com/dave92082/SolarEdge-Exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [SolarEdge Exporter](https://github.com/dave92082/SolarEdge-Exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-solis + most_popular: false + community: true + monitored_instance: + name: Solis Ginlong 5G inverters + link: https://github.com/candlerb/solis_exporter + icon_filename: solis.jpg + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Solis solar inverter metrics for efficient solar energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Solis Exporter](https://github.com/candlerb/solis_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Solis Exporter](https://github.com/candlerb/solis_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-sonic + most_popular: false + community: true + monitored_instance: + name: SONiC NOS + link: https://github.com/kamelnetworks/sonic_exporter + icon_filename: sonic.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Software for Open Networking in the Cloud (SONiC) metrics for efficient network switch management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SONiC Exporter](https://github.com/kamelnetworks/sonic_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [SONiC Exporter](https://github.com/kamelnetworks/sonic_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-ibm_spectrum_virtualize + most_popular: false + community: true + monitored_instance: + name: IBM Spectrum Virtualize + link: https://github.com/bluecmd/spectrum_virtualize_exporter + icon_filename: ibm.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor IBM Spectrum Virtualize metrics for efficient storage virtualization and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [spectrum_virtualize_exporter](https://github.com/bluecmd/spectrum_virtualize_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [spectrum_virtualize_exporter](https://github.com/bluecmd/spectrum_virtualize_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-speedify + most_popular: false + community: true + monitored_instance: + name: Speedify CLI + link: https://github.com/willshen/speedify_exporter + icon_filename: speedify.png + categories: + - data-collection.vpns + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Speedify VPN metrics for efficient virtual private network (VPN) management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Speedify Exporter](https://github.com/willshen/speedify_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Speedify Exporter](https://github.com/willshen/speedify_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-sphinx + most_popular: false + community: true + monitored_instance: + name: Sphinx + link: https://github.com/foxdalas/sphinx_exporter + icon_filename: sphinx.png + categories: + - data-collection.search-engines + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Sphinx search engine metrics for efficient search and indexing performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Sphinx Exporter](https://github.com/foxdalas/sphinx_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Sphinx Exporter](https://github.com/foxdalas/sphinx_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-sql + most_popular: false + community: true + monitored_instance: + name: SQL Database agnostic + link: https://github.com/free/sql_exporter + icon_filename: sql.svg + categories: + - data-collection.database-servers + keywords: + - database + - relational db + - data querying + overview: + <<: *overview + data_collection: + metrics_description: | + Query SQL databases for efficient database performance monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SQL Exporter](https://github.com/free/sql_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [SQL Exporter](https://github.com/free/sql_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-starwind_vsan + most_popular: false + community: true + monitored_instance: + name: Starwind VSAN VSphere Edition + link: https://github.com/evoicefire/starwind-vsan-exporter + icon_filename: starwind.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on StarWind Virtual SAN metrics for efficient storage virtualization and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Starwind vSAN Exporter](https://github.com/evoicefire/starwind-vsan-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Starwind vSAN Exporter](https://github.com/evoicefire/starwind-vsan-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-storidge + most_popular: false + community: true + monitored_instance: + name: Storidge + link: https://github.com/Storidge/cio-user-docs/blob/master/integrations/prometheus.md + icon_filename: storidge.png + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Storidge storage metrics for efficient storage management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Storidge exporter](https://github.com/Storidge/cio-user-docs/blob/master/integrations/prometheus.md). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Storidge exporter](https://github.com/Storidge/cio-user-docs/blob/master/integrations/prometheus.md) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-stream_generic + most_popular: false + community: true + monitored_instance: + name: Stream + link: https://github.com/carlpett/stream_exporter + icon_filename: stream.png + categories: + - data-collection.media-streaming-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor streaming metrics for efficient media streaming and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Stream exporter](https://github.com/carlpett/stream_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Stream exporter](https://github.com/carlpett/stream_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-strongswan + most_popular: false + community: true + monitored_instance: + name: strongSwan + link: https://github.com/jlti-dev/ipsec_exporter + icon_filename: strongswan.svg + categories: + - data-collection.vpns + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track strongSwan VPN and IPSec metrics using the vici interface for efficient virtual private network (VPN) management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [strongSwan/IPSec/vici Exporter](https://github.com/jlti-dev/ipsec_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [strongSwan/IPSec/vici Exporter](https://github.com/jlti-dev/ipsec_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-sunspec + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Sunspec Solar Energy + link: https://github.com/inosion/prometheus-sunspec-exporter + icon_filename: sunspec.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor SunSpec Alliance solar energy metrics for efficient solar energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Sunspec Solar Energy Exporter](https://github.com/inosion/prometheus-sunspec-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Sunspec Solar Energy Exporter](https://github.com/inosion/prometheus-sunspec-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-suricata + most_popular: false + community: true + monitored_instance: + name: Suricata + link: https://github.com/corelight/suricata_exporter + icon_filename: suricata.png + categories: + - data-collection.security-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Suricata network intrusion detection and prevention system (IDS/IPS) metrics for efficient network security and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Suricata Exporter](https://github.com/corelight/suricata_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Suricata Exporter](https://github.com/corelight/suricata_exporter) by following the instructions mentioned in the exporter README. + + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-synology_activebackup + most_popular: false + community: true + monitored_instance: + name: Synology ActiveBackup + link: https://github.com/codemonauts/activebackup-prometheus-exporter + icon_filename: synology.png + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Synology Active Backup metrics for efficient backup and data protection management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Synology ActiveBackup Exporter](https://github.com/codemonauts/activebackup-prometheus-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Synology ActiveBackup Exporter](https://github.com/codemonauts/activebackup-prometheus-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-sysload + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Sysload + link: https://github.com/egmc/sysload_exporter + icon_filename: sysload.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor system load metrics for efficient system performance and resource management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Sysload Exporter](https://github.com/egmc/sysload_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Sysload Exporter](https://github.com/egmc/sysload_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-trex + most_popular: false + community: true + monitored_instance: + name: T-Rex NVIDIA GPU Miner + link: https://github.com/dennisstritzke/trex_exporter + icon_filename: trex.png + categories: + - data-collection.hardware-devices-and-sensors + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor T-Rex NVIDIA GPU miner metrics for efficient cryptocurrency mining and GPU performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [T-Rex NVIDIA GPU Miner Exporter](https://github.com/dennisstritzke/trex_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [T-Rex NVIDIA GPU Miner Exporter](https://github.com/dennisstritzke/trex_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + id: collector-go.d.plugin-prometheus-tado + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Tado smart heating solution + link: https://github.com/eko/tado-exporter + icon_filename: tado.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Tado smart thermostat metrics for efficient home heating and cooling management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Tado\xB0 Exporter](https://github.com/eko/tado-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Tado Exporter](https://github.com/eko/tado-exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-tankerkoenig + most_popular: false + community: true + monitored_instance: + name: Tankerkoenig API + link: https://github.com/lukasmalkmus/tankerkoenig_exporter + icon_filename: tanker.png + categories: + - data-collection.generic-data-collection + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Tankerknig API fuel price metrics for efficient fuel price monitoring and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Tankerknig API Exporter](https://github.com/lukasmalkmus/tankerkoenig_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Tankerknig API Exporter](https://github.com/lukasmalkmus/tankerkoenig_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-tesla_wall_connector + most_popular: false + community: true + monitored_instance: + name: Tesla Wall Connector + link: https://github.com/benclapp/tesla_wall_connector_exporter + icon_filename: tesla.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Tesla Wall Connector charging station metrics for efficient electric vehicle charging management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Tesla Wall Connector Exporter](https://github.com/benclapp/tesla_wall_connector_exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Tesla Wall Connector Exporter](https://github.com/benclapp/tesla_wall_connector_exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-tplink_p110 + most_popular: false + community: true + monitored_instance: + name: TP-Link P110 + link: https://github.com/ijohanne/prometheus-tplink-p110-exporter + icon_filename: tplink.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track TP-Link P110 smart plug metrics for efficient energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [TP-Link P110 Exporter](https://github.com/ijohanne/prometheus-tplink-p110-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [TP-Link P110 Exporter](https://github.com/ijohanne/prometheus-tplink-p110-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-traceroute + most_popular: false + community: true + monitored_instance: + name: Traceroute + link: https://github.com/jeanfabrice/prometheus-tcptraceroute-exporter + icon_filename: traceroute.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Export traceroute metrics for efficient network path analysis and performance monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [traceroute exporter](https://github.com/jeanfabrice/prometheus-tcptraceroute-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [traceroute exporter](https://github.com/jeanfabrice/prometheus-tcptraceroute-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-twincat_ads_webservice + most_popular: false + community: true + monitored_instance: + name: TwinCAT ADS Web Service + link: https://github.com/MarcusCalidus/twincat-ads-webservice-exporter + icon_filename: twincat.png + categories: + - data-collection.generic-data-collection + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor TwinCAT ADS (Automation Device Specification) Web Service metrics for efficient industrial automation and control. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [TwinCAT ADS Web Service exporter](https://github.com/MarcusCalidus/twincat-ads-webservice-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [TwinCAT ADS Web Service exporter](https://github.com/MarcusCalidus/twincat-ads-webservice-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-warp10 + most_popular: false + community: true + monitored_instance: + name: Warp10 + link: https://github.com/centreon/warp10-sensision-exporter + icon_filename: warp10.svg + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Warp 10 time-series database metrics for efficient time-series data management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Warp10 Exporter](https://github.com/centreon/warp10-sensision-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Warp10 Exporter](https://github.com/centreon/warp10-sensision-exporter) by following the instructions mentioned in the exporter README. + + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-yourls + most_popular: false + community: true + monitored_instance: + name: YOURLS URL Shortener + link: https://github.com/just1not2/prometheus-exporter-yourls + icon_filename: yourls.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor YOURLS (Your Own URL Shortener) metrics for efficient URL shortening service management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [YOURLS exporter](https://github.com/just1not2/prometheus-exporter-yourls). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [YOURLS exporter](https://github.com/just1not2/prometheus-exporter-yourls) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-zerto + most_popular: false + community: true + monitored_instance: + name: Zerto + link: https://github.com/claranet/zerto-exporter + icon_filename: zerto.png + categories: + - data-collection.cloud-provider-managed + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Zerto disaster recovery and data protection metrics for efficient backup and recovery management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Zerto Exporter](https://github.com/claranet/zerto-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Zerto Exporter](https://github.com/claranet/zerto-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-zulip + most_popular: false + community: true + monitored_instance: + name: Zulip + link: https://github.com/brokenpip3/zulip-exporter + icon_filename: zulip.png + categories: + - data-collection.media-streaming-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Zulip open-source group chat application metrics for efficient team communication management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Zulip Exporter](https://github.com/brokenpip3/zulip-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Zulip Exporter](https://github.com/brokenpip3/zulip-exporter) by following the instructions mentioned in the exporter README. + - <<: *module + meta: + <<: *meta + id: collector-go.d.plugin-prometheus-zyxel_gs1200 + most_popular: false + community: true + monitored_instance: + name: Zyxel GS1200-8 + link: https://github.com/robinelfrink/gs1200-exporter + icon_filename: zyxel.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Zyxel GS1200 network switch metrics for efficient network device management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Zyxel GS1200 Exporter](https://github.com/robinelfrink/gs1200-exporter). + setup: + <<: *setup + prerequisites: + list: + - title: Install Exporter + description: | + Install [Zyxel GS1200 Exporter](https://github.com/robinelfrink/gs1200-exporter) by following the instructions mentioned in the exporter README. + diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/prometheus.go b/src/go/collectors/go.d.plugin/modules/prometheus/prometheus.go new file mode 100644 index 000000000..cae8dcef3 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/prometheus.go @@ -0,0 +1,143 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +package prometheus + +import ( + _ "embed" + "errors" + "time" + + "github.com/netdata/netdata/go/go.d.plugin/agent/module" + "github.com/netdata/netdata/go/go.d.plugin/pkg/matcher" + "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus" + "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus/selector" + "github.com/netdata/netdata/go/go.d.plugin/pkg/web" +) + +//go:embed "config_schema.json" +var configSchema string + +func init() { + module.Register("prometheus", module.Creator{ + JobConfigSchema: configSchema, + Defaults: module.Defaults{ + UpdateEvery: 10, + }, + Create: func() module.Module { return New() }, + }) +} + +func New() *Prometheus { + return &Prometheus{ + Config: Config{ + HTTP: web.HTTP{ + Client: web.Client{ + Timeout: web.Duration(time.Second * 10), + }, + }, + MaxTS: 2000, + MaxTSPerMetric: 200, + }, + charts: &module.Charts{}, + cache: newCache(), + } +} + +type Config struct { + web.HTTP `yaml:",inline" json:""` + UpdateEvery int `yaml:"update_every" json:"update_every"` + Name string `yaml:"name" json:"name"` + Application string `yaml:"app" json:"app"` + BearerTokenFile string `yaml:"bearer_token_file" json:"bearer_token_file"` + Selector selector.Expr `yaml:"selector" json:"selector"` + ExpectedPrefix string `yaml:"expected_prefix" json:"expected_prefix"` + MaxTS int `yaml:"max_time_series" json:"max_time_series"` + MaxTSPerMetric int `yaml:"max_time_series_per_metric" json:"max_time_series_per_metric"` + FallbackType struct { + Gauge []string `yaml:"gauge" json:"gauge"` + Counter []string `yaml:"counter" json:"counter"` + } `yaml:"fallback_type" json:"fallback_type"` +} + +type Prometheus struct { + module.Base + Config `yaml:",inline" json:""` + + charts *module.Charts + + prom prometheus.Prometheus + + cache *cache + fallbackType struct { + counter matcher.Matcher + gauge matcher.Matcher + } +} + +func (p *Prometheus) Configuration() any { + return p.Config +} + +func (p *Prometheus) Init() error { + if err := p.validateConfig(); err != nil { + p.Errorf("validating config: %v", err) + return err + } + + prom, err := p.initPrometheusClient() + if err != nil { + p.Errorf("init prometheus client: %v", err) + return err + } + p.prom = prom + + m, err := p.initFallbackTypeMatcher(p.FallbackType.Counter) + if err != nil { + p.Errorf("init counter fallback type matcher: %v", err) + return err + } + p.fallbackType.counter = m + + m, err = p.initFallbackTypeMatcher(p.FallbackType.Gauge) + if err != nil { + p.Errorf("init counter fallback type matcher: %v", err) + return err + } + p.fallbackType.gauge = m + + return nil +} + +func (p *Prometheus) Check() error { + mx, err := p.collect() + if err != nil { + p.Error(err) + return err + } + if len(mx) == 0 { + return errors.New("no metrics collected") + } + return nil +} + +func (p *Prometheus) Charts() *module.Charts { + return p.charts +} + +func (p *Prometheus) Collect() map[string]int64 { + mx, err := p.collect() + if err != nil { + p.Error(err) + } + + if len(mx) == 0 { + return nil + } + return mx +} + +func (p *Prometheus) Cleanup() { + if p.prom != nil && p.prom.HTTPClient() != nil { + p.prom.HTTPClient().CloseIdleConnections() + } +} diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/prometheus_test.go b/src/go/collectors/go.d.plugin/modules/prometheus/prometheus_test.go new file mode 100644 index 000000000..52c30f143 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/prometheus_test.go @@ -0,0 +1,611 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +package prometheus + +import ( + "fmt" + "net/http" + "net/http/httptest" + "os" + "testing" + + "github.com/netdata/netdata/go/go.d.plugin/agent/module" + "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus/selector" + "github.com/netdata/netdata/go/go.d.plugin/pkg/web" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +var ( + dataConfigJSON, _ = os.ReadFile("testdata/config.json") + dataConfigYAML, _ = os.ReadFile("testdata/config.yaml") +) + +func Test_testDataIsValid(t *testing.T) { + for name, data := range map[string][]byte{ + "dataConfigJSON": dataConfigJSON, + "dataConfigYAML": dataConfigYAML, + } { + require.NotNil(t, data, name) + } +} + +func TestPrometheus_ConfigurationSerialize(t *testing.T) { + module.TestConfigurationSerialize(t, &Prometheus{}, dataConfigJSON, dataConfigYAML) +} + +func TestPrometheus_Init(t *testing.T) { + tests := map[string]struct { + config Config + wantFail bool + }{ + "non empty URL": { + wantFail: false, + config: Config{HTTP: web.HTTP{Request: web.Request{URL: "http://127.0.0.1:9090/metric"}}}, + }, + "invalid selector syntax": { + wantFail: true, + config: Config{ + HTTP: web.HTTP{Request: web.Request{URL: "http://127.0.0.1:9090/metric"}}, + Selector: selector.Expr{Allow: []string{`name{label=#"value"}`}}, + }, + }, + "default": { + wantFail: true, + config: New().Config, + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + prom := New() + prom.Config = test.config + + if test.wantFail { + assert.Error(t, prom.Init()) + } else { + assert.NoError(t, prom.Init()) + } + }) + } +} + +func TestPrometheus_Cleanup(t *testing.T) { + assert.NotPanics(t, New().Cleanup) + + prom := New() + prom.URL = "http://127.0.0.1" + require.NoError(t, prom.Init()) + assert.NotPanics(t, prom.Cleanup) +} + +func TestPrometheus_Check(t *testing.T) { + tests := map[string]struct { + prepare func() (prom *Prometheus, cleanup func()) + wantFail bool + }{ + "success if endpoint returns valid metrics in prometheus format": { + wantFail: false, + prepare: func() (prom *Prometheus, cleanup func()) { + srv := httptest.NewServer(http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + _, _ = w.Write([]byte(`test_counter_no_meta_metric_1_total{label1="value1"} 11`)) + })) + prom = New() + prom.URL = srv.URL + + return prom, srv.Close + }, + }, + "fail if the total num of metrics exceeds the limit": { + wantFail: true, + prepare: func() (prom *Prometheus, cleanup func()) { + srv := httptest.NewServer(http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + _, _ = w.Write([]byte(` +test_counter_no_meta_metric_1_total{label1="value1"} 11 +test_counter_no_meta_metric_1_total{label1="value2"} 11 +`)) + })) + prom = New() + prom.URL = srv.URL + prom.MaxTS = 1 + + return prom, srv.Close + }, + }, + "fail if the num time series in the metric exceeds the limit": { + wantFail: true, + prepare: func() (prom *Prometheus, cleanup func()) { + srv := httptest.NewServer(http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + _, _ = w.Write([]byte(` +test_counter_no_meta_metric_1_total{label1="value1"} 11 +test_counter_no_meta_metric_1_total{label1="value2"} 11 +`)) + })) + prom = New() + prom.URL = srv.URL + prom.MaxTSPerMetric = 1 + + return prom, srv.Close + }, + }, + "fail if metrics have no expected prefix": { + wantFail: true, + prepare: func() (prom *Prometheus, cleanup func()) { + srv := httptest.NewServer(http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + _, _ = w.Write([]byte(`test_counter_no_meta_metric_1_total{label1="value1"} 11`)) + })) + prom = New() + prom.URL = srv.URL + prom.ExpectedPrefix = "prefix_" + + return prom, srv.Close + }, + }, + "fail if endpoint returns data not in prometheus format": { + wantFail: true, + prepare: func() (prom *Prometheus, cleanup func()) { + srv := httptest.NewServer(http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + _, _ = w.Write([]byte("hello and\n goodbye")) + })) + prom = New() + prom.URL = srv.URL + + return prom, srv.Close + }, + }, + "fail if connection refused": { + wantFail: true, + prepare: func() (prom *Prometheus, cleanup func()) { + prom = New() + prom.URL = "http://127.0.0.1:38001/metrics" + + return prom, func() {} + }, + }, + "fail if endpoint returns 404": { + wantFail: true, + prepare: func() (prom *Prometheus, cleanup func()) { + srv := httptest.NewServer(http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusNotFound) + })) + prom = New() + prom.URL = srv.URL + + return prom, srv.Close + }, + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + prom, cleanup := test.prepare() + defer cleanup() + + require.NoError(t, prom.Init()) + + if test.wantFail { + assert.Error(t, prom.Check()) + } else { + assert.NoError(t, prom.Check()) + } + }) + } +} + +func TestPrometheus_Collect(t *testing.T) { + type testCaseStep struct { + desc string + input string + wantCollected map[string]int64 + wantCharts int + } + tests := map[string]struct { + prepare func() *Prometheus + steps []testCaseStep + }{ + "Gauge": { + prepare: New, + steps: []testCaseStep{ + { + desc: "Two first seen series, no meta series ignored", + input: ` +# HELP test_gauge_metric_1 Test Gauge Metric 1 +# TYPE test_gauge_metric_1 gauge +test_gauge_metric_1{label1="value1"} 11 +test_gauge_metric_1{label1="value2"} 12 +test_gauge_no_meta_metric_1{label1="value1"} 11 +test_gauge_no_meta_metric_1{label1="value2"} 12 +`, + wantCollected: map[string]int64{ + "test_gauge_metric_1-label1=value1": 11000, + "test_gauge_metric_1-label1=value2": 12000, + }, + wantCharts: 2, + }, + { + desc: "One series removed", + input: ` +# HELP test_gauge_metric_1 Test Gauge Metric 1 +# TYPE test_gauge_metric_1 gauge +test_gauge_metric_1{label1="value1"} 11 +`, + wantCollected: map[string]int64{ + "test_gauge_metric_1-label1=value1": 11000, + }, + wantCharts: 1, + }, + { + desc: "One series (re)added", + input: ` +# HELP test_gauge_metric_1 Test Gauge Metric 1 +# TYPE test_gauge_metric_1 gauge +test_gauge_metric_1{label1="value1"} 11 +test_gauge_metric_1{label1="value2"} 12 +`, + wantCollected: map[string]int64{ + "test_gauge_metric_1-label1=value1": 11000, + "test_gauge_metric_1-label1=value2": 12000, + }, + wantCharts: 2, + }, + }, + }, + "Counter": { + prepare: New, + steps: []testCaseStep{ + { + desc: "Four first seen series, no meta series collected", + input: ` +# HELP test_counter_metric_1_total Test Counter Metric 1 +# TYPE test_counter_metric_1_total counter +test_counter_metric_1_total{label1="value1"} 11 +test_counter_metric_1_total{label1="value2"} 12 +test_counter_no_meta_metric_1_total{label1="value1"} 11 +test_counter_no_meta_metric_1_total{label1="value2"} 12 +`, + wantCollected: map[string]int64{ + "test_counter_metric_1_total-label1=value1": 11000, + "test_counter_metric_1_total-label1=value2": 12000, + "test_counter_no_meta_metric_1_total-label1=value1": 11000, + "test_counter_no_meta_metric_1_total-label1=value2": 12000, + }, + wantCharts: 4, + }, + { + desc: "Two series removed", + input: ` +# HELP test_counter_metric_1_total Test Counter Metric 1 +# TYPE test_counter_metric_1_total counter +test_counter_metric_1_total{label1="value1"} 11 +test_counter_no_meta_metric_1_total{label1="value1"} 11 +`, + wantCollected: map[string]int64{ + "test_counter_metric_1_total-label1=value1": 11000, + "test_counter_no_meta_metric_1_total-label1=value1": 11000, + }, + wantCharts: 2, + }, + { + desc: "Two series (re)added", + input: ` +# HELP test_counter_metric_1_total Test Counter Metric 1 +# TYPE test_counter_metric_1_total counter +test_counter_metric_1_total{label1="value1"} 11 +test_counter_metric_1_total{label1="value2"} 12 +test_counter_no_meta_metric_1_total{label1="value1"} 11 +test_counter_no_meta_metric_1_total{label1="value2"} 12 +`, + wantCollected: map[string]int64{ + "test_counter_metric_1_total-label1=value1": 11000, + "test_counter_metric_1_total-label1=value2": 12000, + "test_counter_no_meta_metric_1_total-label1=value1": 11000, + "test_counter_no_meta_metric_1_total-label1=value2": 12000, + }, + wantCharts: 4, + }, + }, + }, + "Summary": { + prepare: New, + steps: []testCaseStep{ + { + desc: "Two first seen series, no meta series collected", + input: ` +# HELP test_summary_1_duration_microseconds Test Summary Metric 1 +# TYPE test_summary_1_duration_microseconds summary +test_summary_1_duration_microseconds{label1="value1",quantile="0.5"} 4931.921 +test_summary_1_duration_microseconds{label1="value1",quantile="0.9"} 4932.921 +test_summary_1_duration_microseconds{label1="value1",quantile="0.99"} 4933.921 +test_summary_1_duration_microseconds_sum{label1="value1"} 283201.29 +test_summary_1_duration_microseconds_count{label1="value1"} 31 +test_summary_no_meta_1_duration_microseconds{label1="value1",quantile="0.5"} 4931.921 +test_summary_no_meta_1_duration_microseconds{label1="value1",quantile="0.9"} 4932.921 +test_summary_no_meta_1_duration_microseconds{label1="value1",quantile="0.99"} 4933.921 +test_summary_no_meta_1_duration_microseconds_sum{label1="value1"} 283201.29 +test_summary_no_meta_1_duration_microseconds_count{label1="value1"} 31 +`, + wantCollected: map[string]int64{ + "test_summary_1_duration_microseconds-label1=value1_count": 31, + "test_summary_1_duration_microseconds-label1=value1_quantile=0.5": 4931921000, + "test_summary_1_duration_microseconds-label1=value1_quantile=0.9": 4932921000, + "test_summary_1_duration_microseconds-label1=value1_quantile=0.99": 4933921000, + "test_summary_1_duration_microseconds-label1=value1_sum": 283201290, + "test_summary_no_meta_1_duration_microseconds-label1=value1_count": 31, + "test_summary_no_meta_1_duration_microseconds-label1=value1_quantile=0.5": 4931921000, + "test_summary_no_meta_1_duration_microseconds-label1=value1_quantile=0.9": 4932921000, + "test_summary_no_meta_1_duration_microseconds-label1=value1_quantile=0.99": 4933921000, + "test_summary_no_meta_1_duration_microseconds-label1=value1_sum": 283201290, + }, + wantCharts: 6, + }, + { + desc: "One series removed", + input: ` +# HELP test_summary_1_duration_microseconds Test Summary Metric 1 +# TYPE test_summary_1_duration_microseconds summary +test_summary_1_duration_microseconds{label1="value1",quantile="0.5"} 4931.921 +test_summary_1_duration_microseconds{label1="value1",quantile="0.9"} 4932.921 +test_summary_1_duration_microseconds{label1="value1",quantile="0.99"} 4933.921 +test_summary_1_duration_microseconds_sum{label1="value1"} 283201.29 +test_summary_1_duration_microseconds_count{label1="value1"} 31 +`, + wantCollected: map[string]int64{ + "test_summary_1_duration_microseconds-label1=value1_count": 31, + "test_summary_1_duration_microseconds-label1=value1_quantile=0.5": 4931921000, + "test_summary_1_duration_microseconds-label1=value1_quantile=0.9": 4932921000, + "test_summary_1_duration_microseconds-label1=value1_quantile=0.99": 4933921000, + "test_summary_1_duration_microseconds-label1=value1_sum": 283201290, + }, + wantCharts: 3, + }, + { + desc: "One series (re)added", + input: ` +# HELP test_summary_1_duration_microseconds Test Summary Metric 1 +# TYPE test_summary_1_duration_microseconds summary +test_summary_1_duration_microseconds{label1="value1",quantile="0.5"} 4931.921 +test_summary_1_duration_microseconds{label1="value1",quantile="0.9"} 4932.921 +test_summary_1_duration_microseconds{label1="value1",quantile="0.99"} 4933.921 +test_summary_1_duration_microseconds_sum{label1="value1"} 283201.29 +test_summary_1_duration_microseconds_count{label1="value1"} 31 +test_summary_no_meta_1_duration_microseconds{label1="value1",quantile="0.5"} 4931.921 +test_summary_no_meta_1_duration_microseconds{label1="value1",quantile="0.9"} 4932.921 +test_summary_no_meta_1_duration_microseconds{label1="value1",quantile="0.99"} 4933.921 +test_summary_no_meta_1_duration_microseconds_sum{label1="value1"} 283201.29 +test_summary_no_meta_1_duration_microseconds_count{label1="value1"} 31 +`, + wantCollected: map[string]int64{ + "test_summary_1_duration_microseconds-label1=value1_count": 31, + "test_summary_1_duration_microseconds-label1=value1_quantile=0.5": 4931921000, + "test_summary_1_duration_microseconds-label1=value1_quantile=0.9": 4932921000, + "test_summary_1_duration_microseconds-label1=value1_quantile=0.99": 4933921000, + "test_summary_1_duration_microseconds-label1=value1_sum": 283201290, + "test_summary_no_meta_1_duration_microseconds-label1=value1_count": 31, + "test_summary_no_meta_1_duration_microseconds-label1=value1_quantile=0.5": 4931921000, + "test_summary_no_meta_1_duration_microseconds-label1=value1_quantile=0.9": 4932921000, + "test_summary_no_meta_1_duration_microseconds-label1=value1_quantile=0.99": 4933921000, + "test_summary_no_meta_1_duration_microseconds-label1=value1_sum": 283201290, + }, + wantCharts: 6, + }, + }, + }, + "Summary with NaN": { + prepare: New, + steps: []testCaseStep{ + { + desc: "Two first seen series, no meta series collected", + input: ` +# HELP test_summary_1_duration_microseconds Test Summary Metric 1 +# TYPE test_summary_1_duration_microseconds summary +test_summary_1_duration_microseconds{label1="value1",quantile="0.5"} NaN +test_summary_1_duration_microseconds{label1="value1",quantile="0.9"} NaN +test_summary_1_duration_microseconds{label1="value1",quantile="0.99"} NaN +test_summary_1_duration_microseconds_sum{label1="value1"} 283201.29 +test_summary_1_duration_microseconds_count{label1="value1"} 31 +test_summary_no_meta_1_duration_microseconds{label1="value1",quantile="0.5"} NaN +test_summary_no_meta_1_duration_microseconds{label1="value1",quantile="0.9"} NaN +test_summary_no_meta_1_duration_microseconds{label1="value1",quantile="0.99"} NaN +test_summary_no_meta_1_duration_microseconds_sum{label1="value1"} 283201.29 +test_summary_no_meta_1_duration_microseconds_count{label1="value1"} 31 +`, + wantCollected: map[string]int64{ + "test_summary_1_duration_microseconds-label1=value1_count": 31, + "test_summary_1_duration_microseconds-label1=value1_sum": 283201290, + "test_summary_no_meta_1_duration_microseconds-label1=value1_count": 31, + "test_summary_no_meta_1_duration_microseconds-label1=value1_sum": 283201290, + }, + wantCharts: 6, + }, + }, + }, + "Histogram": { + prepare: New, + steps: []testCaseStep{ + { + desc: "Two first seen series, no meta series collected", + input: ` +# HELP test_histogram_1_duration_seconds Test Histogram Metric 1 +# TYPE test_histogram_1_duration_seconds histogram +test_histogram_1_duration_seconds_bucket{label1="value1",le="0.1"} 4 +test_histogram_1_duration_seconds_bucket{label1="value1",le="0.5"} 5 +test_histogram_1_duration_seconds_bucket{label1="value1",le="+Inf"} 6 +test_histogram_1_duration_seconds_sum{label1="value1"} 0.00147889 +test_histogram_1_duration_seconds_count{label1="value1"} 6 +test_histogram_no_meta_1_duration_seconds_bucket{label1="value1",le="0.1"} 4 +test_histogram_no_meta_1_duration_seconds_bucket{label1="value1",le="0.5"} 5 +test_histogram_no_meta_1_duration_seconds_bucket{label1="value1",le="+Inf"} 6 +test_histogram_no_meta_1_duration_seconds_sum{label1="value1"} 0.00147889 +test_histogram_no_meta_1_duration_seconds_count{label1="value1"} 6 +`, + wantCollected: map[string]int64{ + "test_histogram_1_duration_seconds-label1=value1_bucket=+Inf": 6, + "test_histogram_1_duration_seconds-label1=value1_bucket=0.1": 4, + "test_histogram_1_duration_seconds-label1=value1_bucket=0.5": 5, + "test_histogram_1_duration_seconds-label1=value1_count": 6, + "test_histogram_1_duration_seconds-label1=value1_sum": 1, + "test_histogram_no_meta_1_duration_seconds-label1=value1_bucket=+Inf": 6, + "test_histogram_no_meta_1_duration_seconds-label1=value1_bucket=0.1": 4, + "test_histogram_no_meta_1_duration_seconds-label1=value1_bucket=0.5": 5, + "test_histogram_no_meta_1_duration_seconds-label1=value1_count": 6, + "test_histogram_no_meta_1_duration_seconds-label1=value1_sum": 1, + }, + wantCharts: 6, + }, + { + desc: "One series removed", + input: ` +# HELP test_histogram_1_duration_seconds Test Histogram Metric 1 +# TYPE test_histogram_1_duration_seconds histogram +test_histogram_1_duration_seconds_bucket{label1="value1",le="0.1"} 4 +test_histogram_1_duration_seconds_bucket{label1="value1",le="0.5"} 5 +test_histogram_1_duration_seconds_bucket{label1="value1",le="+Inf"} 6 +`, + wantCollected: map[string]int64{ + "test_histogram_1_duration_seconds-label1=value1_bucket=+Inf": 6, + "test_histogram_1_duration_seconds-label1=value1_bucket=0.1": 4, + "test_histogram_1_duration_seconds-label1=value1_bucket=0.5": 5, + "test_histogram_1_duration_seconds-label1=value1_count": 0, + "test_histogram_1_duration_seconds-label1=value1_sum": 0, + }, + wantCharts: 3, + }, + { + desc: "One series (re)added", + input: ` +# HELP test_histogram_1_duration_seconds Test Histogram Metric 1 +# TYPE test_histogram_1_duration_seconds histogram +test_histogram_1_duration_seconds_bucket{label1="value1",le="0.1"} 4 +test_histogram_1_duration_seconds_bucket{label1="value1",le="0.5"} 5 +test_histogram_1_duration_seconds_bucket{label1="value1",le="+Inf"} 6 +test_histogram_1_duration_seconds_sum{label1="value1"} 0.00147889 +test_histogram_1_duration_seconds_count{label1="value1"} 6 +test_histogram_no_meta_1_duration_seconds_bucket{label1="value1",le="0.1"} 4 +test_histogram_no_meta_1_duration_seconds_bucket{label1="value1",le="0.5"} 5 +test_histogram_no_meta_1_duration_seconds_bucket{label1="value1",le="+Inf"} 6 +test_histogram_no_meta_1_duration_seconds_sum{label1="value1"} 0.00147889 +test_histogram_no_meta_1_duration_seconds_count{label1="value1"} 6 +`, + wantCollected: map[string]int64{ + "test_histogram_1_duration_seconds-label1=value1_bucket=+Inf": 6, + "test_histogram_1_duration_seconds-label1=value1_bucket=0.1": 4, + "test_histogram_1_duration_seconds-label1=value1_bucket=0.5": 5, + "test_histogram_1_duration_seconds-label1=value1_count": 6, + "test_histogram_1_duration_seconds-label1=value1_sum": 1, + "test_histogram_no_meta_1_duration_seconds-label1=value1_bucket=+Inf": 6, + "test_histogram_no_meta_1_duration_seconds-label1=value1_bucket=0.1": 4, + "test_histogram_no_meta_1_duration_seconds-label1=value1_bucket=0.5": 5, + "test_histogram_no_meta_1_duration_seconds-label1=value1_count": 6, + "test_histogram_no_meta_1_duration_seconds-label1=value1_sum": 1, + }, + wantCharts: 6, + }, + }, + }, + "match Untyped as Gauge": { + prepare: func() *Prometheus { + prom := New() + prom.FallbackType.Gauge = []string{"test_gauge_no_meta*"} + return prom + }, + steps: []testCaseStep{ + { + desc: "Two first seen series, meta series processed as Gauge", + input: ` +# HELP test_gauge_metric_1 Test Untyped Metric 1 +# TYPE test_gauge_metric_1 gauge +test_gauge_metric_1{label1="value1"} 11 +test_gauge_metric_1{label1="value2"} 12 +test_gauge_no_meta_metric_1{label1="value1"} 11 +test_gauge_no_meta_metric_1{label1="value2"} 12 +`, + wantCollected: map[string]int64{ + "test_gauge_metric_1-label1=value1": 11000, + "test_gauge_metric_1-label1=value2": 12000, + "test_gauge_no_meta_metric_1-label1=value1": 11000, + "test_gauge_no_meta_metric_1-label1=value2": 12000, + }, + wantCharts: 4, + }, + }, + }, + "match Untyped as Counter": { + prepare: func() *Prometheus { + prom := New() + prom.FallbackType.Counter = []string{"test_gauge_no_meta*"} + return prom + }, + steps: []testCaseStep{ + { + desc: "Two first seen series, meta series processed as Counter", + input: ` +# HELP test_gauge_metric_1 Test Untyped Metric 1 +# TYPE test_gauge_metric_1 gauge +test_gauge_metric_1{label1="value1"} 11 +test_gauge_metric_1{label1="value2"} 12 +test_gauge_no_meta_metric_1{label1="value1"} 11 +test_gauge_no_meta_metric_1{label1="value2"} 12 +`, + wantCollected: map[string]int64{ + "test_gauge_metric_1-label1=value1": 11000, + "test_gauge_metric_1-label1=value2": 12000, + "test_gauge_no_meta_metric_1-label1=value1": 11000, + "test_gauge_no_meta_metric_1-label1=value2": 12000, + }, + wantCharts: 4, + }, + }, + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + prom := test.prepare() + + var metrics []byte + srv := httptest.NewServer(http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + _, _ = w.Write(metrics) + })) + defer srv.Close() + + prom.URL = srv.URL + require.NoError(t, prom.Init()) + + for num, step := range test.steps { + t.Run(fmt.Sprintf("step num %d ('%s')", num+1, step.desc), func(t *testing.T) { + + metrics = []byte(step.input) + + var mx map[string]int64 + + for i := 0; i < maxNotSeenTimes+1; i++ { + mx = prom.Collect() + } + + assert.Equal(t, step.wantCollected, mx) + removeObsoleteCharts(prom.Charts()) + assert.Len(t, *prom.Charts(), step.wantCharts) + }) + } + }) + } +} + +func removeObsoleteCharts(charts *module.Charts) { + var i int + for _, chart := range *charts { + if !chart.Obsolete { + (*charts)[i] = chart + i++ + } + } + *charts = (*charts)[:i] +} diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/testdata/config.json b/src/go/collectors/go.d.plugin/modules/prometheus/testdata/config.json new file mode 100644 index 000000000..2e9b2e138 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/testdata/config.json @@ -0,0 +1,42 @@ +{ + "update_every": 123, + "url": "ok", + "body": "ok", + "method": "ok", + "headers": { + "ok": "ok" + }, + "username": "ok", + "password": "ok", + "proxy_url": "ok", + "proxy_username": "ok", + "proxy_password": "ok", + "timeout": 123.123, + "not_follow_redirects": true, + "tls_ca": "ok", + "tls_cert": "ok", + "tls_key": "ok", + "tls_skip_verify": true, + "name": "ok", + "app": "ok", + "bearer_token_file": "ok", + "selector": { + "allow": [ + "ok" + ], + "deny": [ + "ok" + ] + }, + "expected_prefix": "ok", + "max_time_series": 123, + "max_time_series_per_metric": 123, + "fallback_type": { + "gauge": [ + "ok" + ], + "counter": [ + "ok" + ] + } +} diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/testdata/config.yaml b/src/go/collectors/go.d.plugin/modules/prometheus/testdata/config.yaml new file mode 100644 index 000000000..37a411b9a --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/testdata/config.yaml @@ -0,0 +1,33 @@ +update_every: 123 +url: "ok" +body: "ok" +method: "ok" +headers: + ok: "ok" +username: "ok" +password: "ok" +proxy_url: "ok" +proxy_username: "ok" +proxy_password: "ok" +timeout: 123.123 +not_follow_redirects: yes +tls_ca: "ok" +tls_cert: "ok" +tls_key: "ok" +tls_skip_verify: yes +name: "ok" +app: "ok" +bearer_token_file: "ok" +selector: + allow: + - "ok" + deny: + - "ok" +expected_prefix: "ok" +max_time_series: 123 +max_time_series_per_metric: 123 +fallback_type: + gauge: + - "ok" + counter: + - "ok" diff --git a/src/go/collectors/go.d.plugin/modules/prometheus/wip_meta.yaml b/src/go/collectors/go.d.plugin/modules/prometheus/wip_meta.yaml new file mode 100644 index 000000000..6583c7c61 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/prometheus/wip_meta.yaml @@ -0,0 +1,1453 @@ +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: NetApp Trident + link: https://github.com/NetApp/trident + icon_filename: netapp.svg + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor NetApp Trident container storage metrics for efficient storage provisioning and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [NetApp Trident exporter](https://github.com/NetApp/trident). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [NetApp Trident exporter](https://github.com/NetApp/trident) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Scylla-Cluster-Tests + link: https://github.com/scylladb/scylla-cluster-tests/ + icon_filename: scylla.png + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor ScyllaDB cluster test metrics for efficient database testing and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Scylla-Cluster-Tests Exporter](https://github.com/scylladb/scylla-cluster-tests/). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Scylla-Cluster-Tests Exporter](https://github.com/scylladb/scylla-cluster-tests/) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: ScyllaDB + link: https://github.com/scylladb/scylladb + icon_filename: scylla.png + categories: + - data-collection.database-servers + keywords: + - database + - dbms + - data storage + overview: + <<: *overview + data_collection: + metrics_description: | + Track ScyllaDB NoSQL database metrics for efficient database management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ScyllaDB exporter](https://github.com/scylladb/scylladb). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [ScyllaDB exporter](https://github.com/scylladb/scylladb) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: StayRTR + link: https://github.com/bgp/stayrtr + icon_filename: stayrtr.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track RPKI-to-Router (RTR) protocol metrics for efficient routing security and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [StayRTR Exporter](https://github.com/bgp/stayrtr). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [StayRTR Exporter](https://github.com/bgp/stayrtr) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Wildfly + link: https://docs.wildfly.org/18/Admin_Guide.html#MicroProfile_Metrics_SmallRye + icon_filename: wildfly.png + categories: + - data-collection.application-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor WildFly (formerly JBoss AS) Java application server metrics for efficient Java application management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Wildfly Exporter](https://docs.wildfly.org/18/Admin_Guide.html#MicroProfile_Metrics_SmallRye). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Wildfly Exporter](https://docs.wildfly.org/18/Admin_Guide.html#MicroProfile_Metrics_SmallRye) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Zeek + link: https://github.com/zeek/zeek + icon_filename: zeek.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Zeek (formerly Bro) network security monitoring metrics for efficient network security and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Zeek](https://github.com/zeek/zeek). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Zeek](https://github.com/zeek/zeek) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Authelia + link: https://www.authelia.com/reference/guides/metrics/#prometheus + icon_filename: authelia.png + categories: + - data-collection.authentication-and-authorization + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Authelia authentication and authorization metrics for enhanced security and user management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Authelia](https://www.authelia.com/reference/guides/metrics/#prometheus). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Authelia](https://www.authelia.com/reference/guides/metrics/#prometheus) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Butler (Qlik Sense DevOps toolbox) + link: https://github.com/ptarmiganlabs/butler + icon_filename: butler.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Butler Qlik Sense DevOps metrics for efficient development and operations management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Butler (Qlik Sense DevOps toolbox) Exporter. WIP](https://github.com/ptarmiganlabs/butler). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Butler (Qlik Sense DevOps toolbox) Exporter. WIP](https://github.com/ptarmiganlabs/butler) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Butler CW (Qlik Sense cache warming tool) + link: https://github.com/ptarmiganlabs/butler-cw + icon_filename: butler-cw.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Butler CW Qlik Sense cache warming metrics for optimized data access and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Butler CW (Qlik Sense cache warming tool) Exporter. WIP](https://github.com/ptarmiganlabs/butler-cw). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Butler CW (Qlik Sense cache warming tool) Exporter. WIP](https://github.com/ptarmiganlabs/butler-cw) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Butler SOS (Qlik Sense monitoring tool) + link: https://github.com/ptarmiganlabs/butler-sos + icon_filename: butler-sos.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Butler SOS Qlik Sense metrics for comprehensive performance analysis and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Butler SOS (Qlik Sense monitoring tool) Exporter](https://github.com/ptarmiganlabs/butler-sos). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Butler SOS (Qlik Sense monitoring tool) Exporter](https://github.com/ptarmiganlabs/butler-sos) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: c-lightning + link: https://github.com/lightningd/plugins/tree/master/prometheus + icon_filename: lightning.png + categories: + - data-collection.blockchain-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track c-lightning metrics for optimized Lightning Network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [c-lightning prometheus exporter](https://github.com/lightningd/plugins/tree/master/prometheus). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [c-lightning prometheus exporter](https://github.com/lightningd/plugins/tree/master/prometheus) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Cloudprober + link: https://github.com/cloudprober/cloudprober + icon_filename: cloudprober.png + categories: + - data-collection.synthetic-checks + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on cloud service availability and latency with Cloudprober monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Cloudprober Exporter](https://github.com/cloudprober/cloudprober). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Cloudprober Exporter](https://github.com/cloudprober/cloudprober) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: consrv + link: https://github.com/mdlayher/consrv + icon_filename: consrv.png + categories: + - data-collection.generic-data-collection + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track serial console bridge server metrics for optimized service discovery and health management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [consrv](https://github.com/mdlayher/consrv). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [consrv](https://github.com/mdlayher/consrv) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: CoreRAD + link: https://github.com/mdlayher/corerad + icon_filename: corerad.png + categories: + - data-collection.dns-and-dhcp-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor CoreRAD IPv6 router advertisement daemon metrics for efficient network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [CoreRAD](https://github.com/mdlayher/corerad). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [CoreRAD](https://github.com/mdlayher/corerad) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: CrateDB remote remote read/write adapter + link: https://github.com/crate/cratedb-prometheus-adapter + icon_filename: cratedb.png + categories: + - data-collection.database-servers + keywords: + - database + - dbms + - data storage + overview: + <<: *overview + data_collection: + metrics_description: | + Track CrateDB metrics for efficient data storage and query performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [CrateDB remote remote read/write adapter](https://github.com/crate/cratedb-prometheus-adapter). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [CrateDB remote remote read/write adapter](https://github.com/crate/cratedb-prometheus-adapter) by following the instructions mentioned in the exporter README. + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: DRBD via drbd-reactor + link: https://github.com/LINBIT/drbd-reactor + icon_filename: drbd.png + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track DRBD metrics for efficient distributed replicated block device management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [DRBD exporter via drbd-reactor](https://github.com/LINBIT/drbd-reactor). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [DRBD exporter via drbd-reactor](https://github.com/LINBIT/drbd-reactor) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Falco + link: https://github.com/falcosecurity/falco + icon_filename: falco.png + categories: + - data-collection.security-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Falco security metrics for efficient runtime security management and threat detection. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Falco](https://github.com/falcosecurity/falco). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Falco](https://github.com/falcosecurity/falco) by following the instructions mentioned in the exporter README. + + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: FastNetMon Advanced + link: https://fastnetmon.com/docs-fnm-advanced/ + icon_filename: fastnetmon.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on FastNetMon Advanced network monitoring metrics for efficient traffic analysis and DDoS detection. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [FastNetMon Advanced exporter](https://fastnetmon.com/docs-fnm-advanced/). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [FastNetMon Advanced exporter](https://fastnetmon.com/docs-fnm-advanced/) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Faucet SDN Faucet + link: https://github.com/faucetsdn/faucet + icon_filename: faucet.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Faucet software-defined networking metrics for efficient network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Faucet SDN Faucet Exporter](https://github.com/faucetsdn/faucet). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Faucet SDN Faucet Exporter](https://github.com/faucetsdn/faucet) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Fawkes + link: https://github.com/fawkesrobotics/fawkes + icon_filename: fawkes.png + categories: + - data-collection.generic-data-collection + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Fawkes Robotic Real-Time Applications metrics for enhanced monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Fawkes](https://github.com/fawkesrobotics/fawkes). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Fawkes](https://github.com/fawkesrobotics/fawkes) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: gitlab-pages + link: https://gitlab.com/gitlab-org/gitlab-pages/ + icon_filename: gitlab.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track GitLab Pages metrics for optimized static site hosting and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [gitlab-pages exporter](https://gitlab.com/gitlab-org/gitlab-pages/). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [gitlab-pages exporter](https://gitlab.com/gitlab-org/gitlab-pages/) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: gitlab-workhorse + link: https://gitlab.com/gitlab-org/gitlab-workhorse + icon_filename: gitlab.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor GitLab Workhorse metrics for efficient web server and reverse proxy management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [gitlab-workhorse](https://gitlab.com/gitlab-org/gitlab-workhorse). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [gitlab-workhorse](https://gitlab.com/gitlab-org/gitlab-workhorse) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: GlusterFS + link: https://github.com/gluster/gluster-prometheus + icon_filename: gluster.png + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on GlusterFS distributed file system metrics for optimized storage management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [GlusterFS Exporter](https://github.com/gluster/gluster-prometheus). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [GlusterFS Exporter](https://github.com/gluster/gluster-prometheus) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Google Cloud Status Dashboard + link: https://github.com/DazWilkin/gcp-status + icon_filename: gcp.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Google Cloud status metrics for efficient service availability management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Google Cloud Status Dashboard exporter](https://github.com/DazWilkin/gcp-status). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Google Cloud Status Dashboard exporter](https://github.com/DazWilkin/gcp-status) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: haraka + link: https://github.com/mailprotector/haraka-plugin-prometheus + icon_filename: haraka.png + categories: + - data-collection.mail-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Haraka SMTP server metrics for efficient email delivery and security management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [haraka exporter](https://github.com/mailprotector/haraka-plugin-prometheus). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [haraka exporter](https://github.com/mailprotector/haraka-plugin-prometheus) by following the instructions mentioned in the exporter README. + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Hetzner Cloud CSI Driver (Nodes) + link: https://github.com/hetznercloud/csi-driver + icon_filename: hetznercloud.png + categories: + - data-collection.cloud-provider-managed + keywords: + - cloud services + - cloud computing + - scalability + overview: + <<: *overview + data_collection: + metrics_description: | + Track Hetzner Cloud Container Storage Interface driver metrics for efficient Kubernetes storage management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Hetzner Cloud CSI Driver (Nodes)](https://github.com/hetznercloud/csi-driver). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Hetzner Cloud CSI Driver (Nodes)](https://github.com/hetznercloud/csi-driver) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Lutron Homeworks + link: https://github.com/jbarwick/homeworks-service + icon_filename: lutron-homeworks.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Homeworks home automation system metrics for optimized smart home management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Lutron Homeworks Exporter](https://github.com/jbarwick/homeworks-service). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Lutron Homeworks Exporter](https://github.com/jbarwick/homeworks-service) by following the instructions mentioned in the exporter README. + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: JIRAlert + link: https://github.com/alin-sinpalean/jiralert + icon_filename: jira.png + categories: + - data-collection.notifications + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on JIRA issue tracking metrics for optimized project management and collaboration. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [JIRAlert](https://github.com/alin-sinpalean/jiralert). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [JIRAlert](https://github.com/alin-sinpalean/jiralert) by following the instructions mentioned in the exporter README. + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Kafka Configs + link: https://github.com/EladLeev/kafka-config-metrics + icon_filename: kafka.svg + categories: + - data-collection.message-brokers + keywords: + - big data + - stream processing + - message broker + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Kafka configuration metrics for optimized message queue performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Kafka Configs Metrics Exporter](https://github.com/EladLeev/kafka-config-metrics). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Kafka Configs Metrics Exporter](https://github.com/EladLeev/kafka-config-metrics) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Maddy Mail Server t + link: https://github.com/foxcpp/maddy + icon_filename: maddy.png + categories: + - data-collection.mail-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on Maddy Mail Server metrics for efficient email delivery and security management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Maddy Mail Server metrics endpoint](https://github.com/foxcpp/maddy). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Maddy Mail Server metrics endpoint](https://github.com/foxcpp/maddy) by following the instructions mentioned in the exporter README. + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Purpleidea Mgmt + link: https://github.com/purpleidea/mgmt + icon_filename: mgmtconfig.png + categories: + - data-collection.provisioning-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on MGMT configuration management system metrics for efficient infrastructure management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [mgmt exporter](https://github.com/purpleidea/mgmt). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [mgmt exporter](https://github.com/purpleidea/mgmt) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Nebula + link: https://github.com/immstudios/promexp + icon_filename: nebula.png + categories: + - data-collection.media-streaming-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on Nebula broadcast system metrics for efficient media broadcasting and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Nebula Exporter (unified exporter for broadcasters)](https://github.com/immstudios/promexp). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Nebula Exporter (unified exporter for broadcasters)](https://github.com/immstudios/promexp) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: NeonKube Service + link: https://github.com/nforgeio/neonKUBE + icon_filename: neonkube.png + categories: + - data-collection.service-discovery-registry + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Neon CRM metrics for efficient nonprofit management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Neon Service Standard Exporter](https://github.com/nforgeio/neonKUBE). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Neon Service Standard Exporter](https://github.com/nforgeio/neonKUBE) by following the instructions mentioned in the exporter README. + + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Onionprobe + link: https://gitlab.torproject.org/tpo/onion-services/onionprobe + icon_filename: onion.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Tor network metrics for efficient anonymity network performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Onionprobe](https://gitlab.torproject.org/tpo/onion-services/onionprobe). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Onionprobe](https://gitlab.torproject.org/tpo/onion-services/onionprobe) by following the instructions mentioned in the exporter README. + + + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Opflex-agent + link: https://github.com/noironetworks/opflex/blob/master/docs/prometheus.md + icon_filename: opflex.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep tabs on OpFlex agent metrics for efficient software-defined networking management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Opflex-agent Exporter](https://github.com/noironetworks/opflex/blob/master/docs/prometheus.md). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Opflex-agent Exporter](https://github.com/noironetworks/opflex/blob/master/docs/prometheus.md) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Opflex-server + link: https://github.com/noironetworks/opflex/blob/master/docs/prometheus.md + icon_filename: opflex.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor OpFlex server metrics for efficient software-defined networking management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Opflex-server Exporter](https://github.com/noironetworks/opflex/blob/master/docs/prometheus.md). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Opflex-server Exporter](https://github.com/noironetworks/opflex/blob/master/docs/prometheus.md) by following the instructions mentioned in the exporter README. + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: ovn-kubernetes Master + link: https://github.com/ovn-org/ovn-kubernetes + icon_filename: kube-ovn.png + categories: + - data-collection.kubernetes + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Track OVN-Kubernetes master metrics for efficient Kubernetes networking management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ovn-kubernetes Master Exporter](https://github.com/ovn-org/ovn-kubernetes). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [ovn-kubernetes Master Exporter](https://github.com/ovn-org/ovn-kubernetes) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: ovn-kubernetes Node + link: https://github.com/ovn-org/ovn-kubernetes + icon_filename: kube-ovn.png + categories: + - data-collection.kubernetes + keywords: + - network monitoring + - network performance + - traffic analysis + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor OVN-Kubernetes node metrics for efficient Kubernetes networking management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ovn-kubernetes Node Exporter](https://github.com/ovn-org/ovn-kubernetes). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [ovn-kubernetes Node Exporter](https://github.com/ovn-org/ovn-kubernetes) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Pathvector + link: https://github.com/natesales/pathvector + icon_filename: pathvector.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Pathvector BGP routing metrics for efficient + Border Gateway Protocol management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Pathvector](https://github.com/natesales/pathvector). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Pathvector](https://github.com/natesales/pathvector) by following the instructions mentioned in the exporter README. + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: PCP + link: https://github.com/performancecopilot/pcp/blob/main/man/man3/pmwebapi.3 + icon_filename: pcp.png + categories: + - data-collection.apm + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Performance Co-Pilot system performance metrics for efficient IT infrastructure management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [PCP exporter](https://github.com/performancecopilot/pcp/blob/main/man/man3/pmwebapi.3). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [PCP exporter](https://github.com/performancecopilot/pcp/blob/main/man/man3/pmwebapi.3) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: poudriere + link: https://rnd.phryk.net/phryk-evil-mad-sciences-llc/prometheus_poudriere + icon_filename: poudriere.png + categories: + - data-collection.freebsd-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Poudriere FreeBSD package building and testing metrics for efficient package management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [poudriere exporter](https://rnd.phryk.net/phryk-evil-mad-sciences-llc/prometheus_poudriere). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [poudriere exporter](https://rnd.phryk.net/phryk-evil-mad-sciences-llc/prometheus_poudriere) by following the instructions mentioned in the exporter README. + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: RCT Inverter + link: https://github.com/svalouch/rctmon + icon_filename: rct.png + categories: + - data-collection.iot-devices + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on RCT Power inverter metrics for efficient solar energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [RctMon - RCT Inverter metrics extractor](https://github.com/svalouch/rctmon). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [RctMon - RCT Inverter metrics extractor](https://github.com/svalouch/rctmon) by following the instructions mentioned in the exporter README. + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: RTRTR + link: https://github.com/NLnetLabs/rtrtr + icon_filename: rtrtr.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Keep an eye on RPKI-to-Router (RTR) protocol metrics for efficient routing security and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [rtrtr exporter](https://github.com/NLnetLabs/rtrtr). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [rtrtr exporter](https://github.com/NLnetLabs/rtrtr) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: silverpeak + link: https://github.com/ipHeaders/silverpeak-prometheus + icon_filename: silverpeak.png + categories: + - data-collection.networking-stack-and-network-interfaces + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor Silver Peak SD-WAN metrics for efficient wide area network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [silverpeak-prometheus](https://github.com/ipHeaders/silverpeak-prometheus). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [silverpeak-prometheus](https://github.com/ipHeaders/silverpeak-prometheus) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: SmartPi + link: https://github.com/nDenerserve/SmartPi + icon_filename: smartpi.png + categories: + - data-collection.hardware-devices-and-sensors + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track SmartPi smart meter metrics for efficient energy management and monitoring. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SmartPi](https://github.com/nDenerserve/SmartPi). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [SmartPi](https://github.com/nDenerserve/SmartPi) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: SRS (v5.0.67+) + link: https://github.com/ossrs/srs + icon_filename: srs.jpg + categories: + - data-collection.media-streaming-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Simple-RTMP-Server (SRS) metrics for efficient live streaming server management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SRS (v5.0.67+)](https://github.com/ossrs/srs). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [SRS (v5.0.67+)](https://github.com/ossrs/srs) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: supercronic + link: https://github.com/aptible/supercronic/ + icon_filename: supercronic.png + categories: + - data-collection.provisioning-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Supercronic job scheduler metrics for efficient task scheduling and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [supercronic](https://github.com/aptible/supercronic/). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [supercronic](https://github.com/aptible/supercronic/) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: SUSE Saptune + link: https://github.com/SUSE/saptune + icon_filename: suse.png + categories: + - data-collection.linux-systems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor SUSE Linux Enterprise Server (SLES) Saptune metrics for efficient system tuning and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [SUSE Saptune exporter](https://github.com/SUSE/saptune). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [SUSE Saptune exporter](https://github.com/SUSE/saptune) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: Tezos Node + link: https://gitlab.com/tezos/tezos + icon_filename: tezos.png + categories: + - data-collection.blockchain-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Tezos blockchain node metrics for efficient blockchain network management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Tezos Node Exporter](https://gitlab.com/tezos/tezos). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Tezos Node Exporter](https://gitlab.com/tezos/tezos) by following the instructions mentioned in the exporter README. + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: ThirdAI + link: https://github.com/ThirdAILabs/Demos + icon_filename: thirdai.png + categories: + - data-collection.generic-data-collection + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor ThirdAI platform metrics for efficient management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [ThirdAI exporter](https://github.com/ThirdAILabs/Demos). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [ThirdAI exporter](https://github.com/ThirdAILabs/Demos) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: trickster + link: https://github.com/trickstercache/trickster + icon_filename: trickster.png + categories: + - data-collection.web-servers-and-web-proxies + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track Trickster caching reverse proxy for time-series databases metrics for efficient time-series data management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [trickster](https://github.com/trickstercache/trickster). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [trickster](https://github.com/trickstercache/trickster) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: ClickHouse + link: https://github.com/ClickHouse/ClickHouse + icon_filename: clickhouse.svg + categories: + - data-collection.database-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track ClickHouse analytics database metrics for efficient database performance and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [Yandex ClickHouse Exporter](https://github.com/ClickHouse/ClickHouse). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [Yandex ClickHouse Exporter](https://github.com/ClickHouse/ClickHouse) by following the instructions mentioned in the exporter README. +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: zedhook + link: https://github.com/mdlayher/zedhook + icon_filename: zedhook.png + categories: + - data-collection.logs-servers + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Monitor ZFS Event Daemon (ZED) metrics for efficient file system event monitoring and management. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [zedhook](https://github.com/mdlayher/zedhook). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [zedhook](https://github.com/mdlayher/zedhook) by following the instructions mentioned in the exporter README. + +- <<: *module + meta: + <<: *meta + most_popular: false + community: true + monitored_instance: + name: zrepl internal + link: https://github.com/zrepl/zrepl + icon_filename: zrepl.png + categories: + - data-collection.storage-mount-points-and-filesystems + keywords: [] + overview: + <<: *overview + data_collection: + metrics_description: | + Track ZFS replication metrics using zrepl for efficient file systemreplication management and performance. + method_description: | + Metrics are gathered by periodically sending HTTP requests to [zrepl internal exporter](https://github.com/zrepl/zrepl). + setup: + <<: *setup + prerequisites: + list: + - title: Install OpenMetrics Exporter + description: | + Install [zrepl internal exporter](https://github.com/zrepl/zrepl) by following the instructions mentioned in the exporter README. |