diff options
Diffstat (limited to '')
277 files changed, 80596 insertions, 0 deletions
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..ce9241546 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9e419e180 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..e08fffa28 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..275b8ccaf --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..e8e8c8aba --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..1fbd6bf23 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..736cf25fa --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..b29363d15 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..ec11ff2fe --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..8f2509ffd --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..5e9b84488 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..85c1cc1de --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..139d0f6e5 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..90560fa80 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..ed4b089df --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..e42d25a2e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9cbb3b505 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d11a520ea --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..e8c31e4ff --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..51e27fa2e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..4c3e86e78 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..11f1bea81 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..ad8b625eb --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..8192a4f19 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..531159d0c --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..39d44f056 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..45f8e46c2 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..aa41d233b --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..e60ccc95f --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..c47c9ab5d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..7cc470b5f --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..0506121dd --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9b4fa439f --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f4bf49a24 --- /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_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 Resources Exporter](https://github.com/FXinnovation/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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..98ea56cd1 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..84519f1f6 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..dd3803557 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..5b54fe191 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d46e0f72e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..66038390f --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..073178281 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..b7a170278 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..fc29c2451 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..5412b4314 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..549311c3d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..b8d72eaa4 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9f541e8e5 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..a84fae415 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..45755773e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d315fbe4b --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d2285aa32 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..b1bb16cfa --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..685c32291 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..b452a6ccc --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..5a1d47cca --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..abe4e2058 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..48910ea66 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..76d092e1f --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..ea3136e9c --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..704613da5 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..fd2606685 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..32a5eee3e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..82f853b8e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9f2def2b9 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d6c04ab3d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..809750202 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d7aebeb88 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..c6b4a9c87 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..599c83b16 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..950baef8a --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..6015b27e0 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..efff8ee21 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..ea1954dff --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..96be281d6 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..cc658d4a9 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..87657569e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..854d67a81 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..04ab3e766 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..68db69083 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..6dc0bbedf --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..05cdb983c --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d169be7d2 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..ad8b25ad9 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..0c161ec90 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..1b374c1e7 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..20d661765 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..c60e269c9 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..acd763b37 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..8e4c88dff --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..bb4eeeded --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..6c22c8b31 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f2105ab2f --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..db61bd9c5 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..b716bfa2f --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..7410803fc --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..651a028ea --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..87c3f2947 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..1fcc61ed0 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..49d4f716e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..1ba08a424 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..6e9abc583 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f01cbf61c --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..528543038 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..39b74b786 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..4575a9edb --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..a76cf48f4 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..b54979932 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..48716d99f --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..c099fa869 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..c62c03f8d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f0ad36c02 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..41b611579 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..eb421d9ee --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9eb74f791 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..0597a033c --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..49cce578d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..adf9a4cf0 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..6f38b8e8b --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..20511dc13 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..519e76261 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..17119f3af --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..e7dba4735 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..cad04c0d6 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..70ab53506 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..47a18b3da --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..1e4e207ed --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..ebfb34698 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..0b9a60271 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..e745b88ca --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..a07219227 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f1bff1f6d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..de55933d5 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..715c6a4e0 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..11b340d33 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..b81e4eacb --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..089c68c08 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..336639604 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..3ba765fef --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..aeaf8bc23 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..88eae33c8 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..4473dd624 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..c4c5f26af --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..36a9eeafd --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..83e94397f --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..6709ce172 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..95d5fc566 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..907aeaf4d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..98fe1466e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..c82813cbc --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..01d0fc60c --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..e878d16ce --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..2c4bd0ba7 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..046a57e3d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..bd607a23e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..a13c2502d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..13b2ef300 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..48dd9aee0 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..69c8003eb --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..3b22f13c6 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..83b53f8cd --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..83bb309f4 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..094d53b8a --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..cac9a8c64 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..5060a2d25 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..7926ef8aa --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..8712f31cd --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..c1759ded7 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..0e854c1b2 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9f5606364 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..7beeaa202 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..79b295cf5 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..35ddb22df --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..061b4f723 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..973749943 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..da5030d6a --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..6a5025463 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..eab756cf4 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..08d17d59e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..a5023d7b1 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..6311eeac5 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..fb237679d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..134a73520 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9989c80ed --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..30b04d5b4 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f6378aaac --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..ec1581207 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..a6d863dc9 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..eb97ee513 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..553571c86 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..b317cb9f1 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..1e0d9fa07 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..29ab99e86 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..112f95ff8 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..a6b6b422d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..b6c30bd8a --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..babb27210 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..fcafa2e21 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..63ea81b82 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..18efb8d58 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..6bb6adabd --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..a3ac52cb9 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..97e6bf5b9 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..e61b9e0a7 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..153304e5b --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..0ee879030 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..8c93b99bf --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..b28271a4b --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..fe7fd0cdb --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..eacd9b916 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9853deac1 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..fb24711a0 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9ac69820c --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..3418c68cf --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..11a4625e8 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..8a00fcf5b --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f7b1720e1 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..5dc630057 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..4c666ffd7 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f1e46ab98 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..4863484b1 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d65773ac0 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..0837ad0af --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f1846b348 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..91f4449b2 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..256b9a94b --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..41f80e7c3 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..33483d799 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..50a47c896 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..003b975c0 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..08072b85b --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..30578d06c --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..06cb9975d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..5188707fc --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..caee6ce8d --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..ad9a67021 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..46c2b5218 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..109f8fde6 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..fec5255ca --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..98551c620 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d52f6b978 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..2716b751e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..55090280e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..577cc19db --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..838d817db --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..5cc7847da --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..06fd21b99 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..deceacc5c --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..c3115de31 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d1902ab8a --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..234fe4507 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..fad103072 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..0f6fbd1e6 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..530f7b911 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f697caa32 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..79a23a669 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..3443b6ab6 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f04344451 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..5911debe6 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..f1424add3 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..10f22fbb3 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d2a12b295 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..1d835bde6 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d2f8d5c41 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9f8878c65 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..9cf82aaaf --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d5d978ee2 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..fda2004c5 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..0954f0849 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..666123c8e --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d72a5bf27 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..5fd9e7c26 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..882c1022f --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..336282e27 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..015622617 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..612c6ec15 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..eb931759a --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.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..d4917f635 --- /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](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/prometheus.conf +``` +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +<details open><summary>Config options</summary> + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| update_every | Data collection frequency. | 10 | no | +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | +| url | Server URL. | | yes | +| selector | Time series selector (filter). | | no | +| fallback_type | Time series selector (filter). | | no | +| max_time_series | Global time series limit. If an endpoint returns number of time series > limit the data is not processed. | 2000 | no | +| max_time_series_per_metric | Time series per metric (metric name) limit. Metrics with number of time series > limit are skipped. | 200 | no | +| timeout | HTTP request timeout. | 10 | no | +| username | Username for basic HTTP authentication. | | no | +| password | Password for basic HTTP authentication. | | no | +| proxy_url | Proxy URL. | | no | +| proxy_username | Username for proxy basic HTTP authentication. | | no | +| proxy_password | Password for proxy basic HTTP authentication. | | no | +| method | HTTP request method. | GET | no | +| body | HTTP request body. | | no | +| headers | HTTP request headers. | | no | +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | +| tls_cert | Client TLS certificate. | | no | +| tls_key | Client TLS key. | | no | + +##### selector + +This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. + +- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) +- Pattern syntax: [selector](/src/go/collectors/go.d.plugin/pkg/prometheus/selector/README.md). +- Option syntax: + +```yaml +selector: + allow: + - pattern1 + - pattern2 + deny: + - pattern3 + - pattern4 +``` + + +##### fallback_type + +This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. + +- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). +- Option syntax: + +```yaml +fallback_type: + counter: + - metric_name_pattern1 + - metric_name_pattern2 + gauge: + - metric_name_pattern3 + - metric_name_pattern4 +``` + + +</details> + +#### Examples + +##### Basic + +> **Note**: Change the port of the monitored application on which it provides metrics. + +A basic example configuration. + + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + +``` +##### Read metrics from a file + +An example configuration to read metrics from a file. + +<details open><summary>Config</summary> + +```yaml +# use "file://" scheme +jobs: + - name: myapp + url: file:///opt/metrics/myapp/metrics.txt + +``` +</details> + +##### HTTP authentication + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Basic HTTP authentication. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + username: username + password: password + +``` +</details> + +##### HTTPS with self-signed certificate + +> **Note**: Change the port of the monitored application on which it provides metrics. + +Do not validate server certificate chain and hostname. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: https://127.0.0.1:9090/metrics + tls_skip_verify: yes + +``` +</details> + +##### Multi-instance + +> **Note**: When you define multiple jobs, their names must be unique. +> **Note**: Change the port of the monitored application on which it provides metrics. + +Collecting metrics from local and remote instances. + + +<details open><summary>Config</summary> + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + + - name: remote + url: http://192.0.2.1:9090/metrics + +``` +</details> + + + +## Troubleshooting + +### Debug Mode + +To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m prometheus + ``` + + |