From cd5cc62daead9395c9a32bbd7758c281704c0d66 Mon Sep 17 00:00:00 2001 From: netdatabot <43409846+netdatabot@users.noreply.github.com> Date: Fri, 12 Jun 2026 13:44:31 +0000 Subject: [PATCH] Ingest new documentation --- .../Alert Configuration Reference.mdx | 2 +- .../Agent Notifications Reference.mdx | 50 +- .../Webhook.mdx | 8 +- .../Collectors configuration.mdx | 2 +- .../Applications/Alamos FE2 server.mdx | 105 +- .../Collectors/Applications/AuthLog.mdx | 105 +- .../Collectors/Applications/BungeeCord.mdx | 105 +- .../Collectors/Applications/Celery.mdx | 105 +- .../Collectors/Applications/Chia.mdx | 105 +- .../Collectors/Applications/ClamAV daemon.mdx | 105 +- .../Applications/Clamscan results.mdx | 105 +- .../Collectors/Applications/Collectd.mdx | 105 +- .../Collectors/Applications/Crowdsec.mdx | 105 +- .../Collectors/Applications/Cryptowatch.mdx | 105 +- .../Collectors/Applications/DMARC.mdx | 105 +- .../Collectors/Applications/Discourse.mdx | 105 +- .../Applications/GitHub API rate limit.mdx | 105 +- .../Applications/GitHub repository.mdx | 105 +- .../Applications/Google Pagespeed.mdx | 105 +- .../Collectors/Applications/Grafana.mdx | 105 +- .../Applications/Graylog Server.mdx | 105 +- .../Collectors/Applications/Halon.mdx | 105 +- .../Collectors/Applications/Homebridge.mdx | 105 +- .../Collectors/Applications/Homey.mdx | 105 +- .../Collectors/Applications/Honeypot.mdx | 105 +- .../Applications/IBM AIX systems Njmon.mdx | 105 +- .../Collectors/Applications/JMX.mdx | 105 +- .../Collectors/Applications/Kannel.mdx | 105 +- .../Applications/Lynis audit reports.mdx | 105 +- .../Collectors/Applications/Minecraft.mdx | 105 +- .../Collectors/Applications/NRPE daemon.mdx | 105 +- .../Applications/Nextcloud servers.mdx | 105 +- .../Collectors/Applications/OBS Studio.mdx | 105 +- .../Applications/OpenWeatherMap.mdx | 105 +- .../Collectors/Applications/ProFTPD.mdx | 105 +- .../Applications/Prometheus endpoint.mdx | 105 +- .../Collectors/Applications/RADIUS.mdx | 105 +- .../Collectors/Applications/SABnzbd.mdx | 105 +- .../Collectors/Applications/Slurm.mdx | 105 +- .../Collectors/Applications/StatusPage.mdx | 105 +- .../Collectors/Applications/Steam.mdx | 105 +- .../Collectors/Applications/Suricata.mdx | 105 +- .../Collectors/Applications/Sysload.mdx | 105 +- .../Collectors/Applications/TACACS.mdx | 105 +- .../Applications/Tankerkoenig API.mdx | 105 +- .../Collectors/Applications/Twitch.mdx | 105 +- .../Collectors/Applications/VSCode.mdx | 105 +- .../Collectors/Applications/Vault PKI.mdx | 105 +- .../Applications/YOURLS URL Shortener.mdx | 105 +- .../Collectors/Applications/etcd.mdx | 105 +- .../Collectors/Applications/gpsd.mdx | 105 +- .../Collectors/Applications/journald.mdx | 105 +- .../Collectors/Applications/loki.mdx | 105 +- .../Collectors/Applications/mtail.mdx | 105 +- .../AWS EC2 Compute instances.mdx | 105 +- .../Collectors/Cloud and DevOps/AWS Quota.mdx | 105 +- .../Collectors/Cloud and DevOps/BOSH.mdx | 105 +- .../Cloud Foundry Firehose.mdx | 105 +- .../Cloud and DevOps/Cloud Foundry.mdx | 105 +- .../Cloud and DevOps/CloudWatch.mdx | 105 +- .../Collectors/Cloud and DevOps/Concourse.mdx | 105 +- .../Collectors/Cloud and DevOps/Dynatrace.mdx | 105 +- .../Collectors/Cloud and DevOps/GCP GCE.mdx | 105 +- .../Cloud and DevOps/GitLab Runner.mdx | 105 +- .../Google Cloud Platform.mdx | 105 +- .../Cloud and DevOps/Google Stackdriver.mdx | 105 +- .../Collectors/Cloud and DevOps/Hubble.mdx | 105 +- .../Collectors/Cloud and DevOps/Jenkins.mdx | 105 +- .../Collectors/Cloud and DevOps/Linode.mdx | 105 +- .../Collectors/Cloud and DevOps/Spacelift.mdx | 105 +- .../Collectors/Cloud and DevOps/Zerto.mdx | 105 +- .../Collectors/Collectors.mdx | 4 + .../Containers and VMs/AWS ECS Containers.mdx | 4 + .../Containers and VMs/Cilium Agent.mdx | 105 +- .../Containers and VMs/Cilium Operator.mdx | 105 +- .../Containers and VMs/Cilium Proxy.mdx | 105 +- .../Containers and VMs/Containers.mdx | 6 +- .../Containers and VMs/Docker Containers.mdx | 4 + .../Collectors/Containers and VMs/Hyper-V.mdx | 4 +- .../Kubernetes Containers.mdx | 2 +- .../Containers and VMs/LXC Containers.mdx | 4 + .../Libvirt VMs and Containers.mdx | 4 + .../Collectors/Containers and VMs/Mesos.mdx | 105 +- .../Containers and VMs/Nomad Containers.mdx | 4 + .../Containers and VMs/OpenStack VMs.mdx | 4 + .../Containers and VMs/Podman Containers.mdx | 4 + .../Collectors/Containers and VMs/Podman.mdx | 105 +- .../Containers and VMs/Proxmox VE.mdx | 105 +- .../Proxmox VMs and Containers.mdx | 4 + .../Containers and VMs/Virtual Machines.mdx | 4 + .../containerd Containers.mdx | 4 + .../Containers and VMs/oVirt VMs.mdx | 4 + .../systemd-nspawn Containers.mdx | 4 + .../Collectors/Databases/4D Server.mdx | 105 +- .../Collectors/Databases/AWS RDS.mdx | 105 +- .../Databases/ClusterControl CMON.mdx | 105 +- .../Collectors/Databases/HANA.mdx | 105 +- .../Collectors/Databases/IBM MQ.mdx | 105 +- .../Collectors/Databases/InfluxDB.mdx | 105 +- .../Databases/Kafka Consumer Lag.mdx | 105 +- .../Collectors/Databases/Kafka ZooKeeper.mdx | 105 +- .../Collectors/Databases/Kafka.mdx | 105 +- .../Collectors/Databases/Meilisearch.mdx | 105 +- .../Collectors/Databases/Patroni.mdx | 105 +- .../Collectors/Databases/Pgpool-II.mdx | 105 +- .../Collectors/Databases/Redis Queue.mdx | 105 +- .../Collectors/Databases/ScyllaDB.mdx | 105 +- .../Collectors/Databases/Sphinx.mdx | 105 +- .../Collectors/Databases/Vertica.mdx | 105 +- .../Collectors/Databases/Warp10.mdx | 105 +- .../Collectors/Databases/mosquitto.mdx | 105 +- .../Collectors/Databases/pgBackRest.mdx | 105 +- .../Hardware and Sensors/AMD CPU & GPU.mdx | 105 +- .../Christ Elektronik CLM5IP power panel.mdx | 105 +- .../Hardware and Sensors/CraftBeerPi.mdx | 105 +- .../Dutch Electricity Smart Meter.mdx | 105 +- .../Elgato Key Light devices..mdx | 105 +- .../Energomera smart power meters.mdx | 105 +- .../IBM CryptoExpress CEX cards.mdx | 105 +- .../IBM Z Hardware Management Console.mdx | 105 +- .../Jarvis Standing Desk.mdx | 105 +- .../Hardware and Sensors/Modbus protocol.mdx | 105 +- .../Nature Remo E lite devices.mdx | 105 +- .../Hardware and Sensors/Netatmo sensors.mdx | 105 +- .../Personal Weather Station.mdx | 105 +- .../Hardware and Sensors/Philips Hue.mdx | 105 +- .../Hardware and Sensors/Pimoroni Enviro+.mdx | 105 +- .../Hardware and Sensors/Powerpal devices.mdx | 105 +- .../Hardware and Sensors/Radio Thermostat.mdx | 105 +- .../Hardware and Sensors/Raritan PDU.mdx | 105 +- .../Hardware and Sensors/SMA Inverters.mdx | 105 +- .../Salicru EQX inverter.mdx | 105 +- .../Hardware and Sensors/Sense Energy.mdx | 105 +- .../Shelly humidity sensor.mdx | 105 +- .../Hardware and Sensors/Siemens S7 PLC.mdx | 105 +- .../Hardware and Sensors/Smart meters SML.mdx | 105 +- .../Solar logging stick.mdx | 105 +- .../Solis Ginlong 5G inverters.mdx | 105 +- .../Sunspec Solar Energy.mdx | 105 +- .../Tado smart heating solution.mdx | 105 +- .../Tesla Wall Connector.mdx | 105 +- .../Hardware and Sensors/Tesla vehicle.mdx | 105 +- .../Hardware and Sensors/Xiaomi Mi Flora.mdx | 105 +- .../Collectors/Networking/8430FT modem.mdx | 105 +- .../Networking/Bird Routing Daemon.mdx | 105 +- .../Collectors/Networking/Clash.mdx | 105 +- .../Collectors/Networking/DNSBL.mdx | 105 +- .../Collectors/Networking/FRRouting.mdx | 105 +- .../Collectors/Networking/Fastd.mdx | 105 +- .../Networking/Freifunk network.mdx | 105 +- .../Networking/Hitron CODA Cable Modem.mdx | 105 +- .../Collectors/Networking/Keepalived.mdx | 105 +- .../Networking/Network Connections.mdx | 50 +- .../Collectors/Networking/Networking.mdx | 4 + .../Collectors/Networking/NextDNS.mdx | 105 +- .../Collectors/Networking/Open vSwitch.mdx | 105 +- .../Networking/OpenROADM devices.mdx | 105 +- .../Collectors/Networking/RIPE Atlas.mdx | 105 +- .../Networking/SNMP trap listener.mdx | 669 ++++ .../Collectors/Networking/SONiC NOS.mdx | 107 +- .../Networking/Socket statistics.mdx | 2 +- .../Networking/SoftEther VPN Server.mdx | 107 +- .../Networking/Softnet Statistics.mdx | 2 +- .../Collectors/Networking/Starlink SpaceX.mdx | 107 +- .../Collectors/Networking/Synproxy.mdx | 2 +- .../Collectors/Networking/Timex.mdx | 2 +- .../Collectors/Networking/Tor.mdx | 2 +- .../Networking/Ubiquiti UFiber OLT.mdx | 107 +- .../Collectors/Networking/Unbound.mdx | 2 +- .../Networking/Windows Network Protocols.mdx | 2 +- .../Collectors/Networking/WireGuard.mdx | 2 +- .../Wireless network interfaces.mdx | 2 +- .../Collectors/Networking/strongSwan.mdx | 107 +- .../Collectors/Networking/tc QoS classes.mdx | 2 +- .../Operating Systems/Applications.mdx | 4 + .../Operating Systems/FreeBSD RCTL-RACCT.mdx | 105 +- .../Collectors/Operating Systems/OpenRC.mdx | 105 +- .../Operating Systems/Systemd Services.mdx | 6 +- .../Operating Systems/eBPF Cachestat.mdx | 34 - .../Dell PowerStore.mdx | 40 + .../Storage and Filesystems/EOS.mdx | 105 +- .../Storage and Filesystems/FreeBSD NFS.mdx | 105 +- .../Generic storage enclosure tool.mdx | 105 +- .../IBM Spectrum Virtualize.mdx | 105 +- .../Storage and Filesystems/IBM Spectrum.mdx | 105 +- .../Lustre metadata.mdx | 105 +- .../Storage and Filesystems/MogileFS.mdx | 105 +- .../NetApp Solidfire.mdx | 105 +- .../Netapp ONTAP API.mdx | 105 +- .../Storage and Filesystems/Storidge.mdx | 105 +- .../Synology ActiveBackup.mdx | 105 +- .../Collectors/Synthetic Testing/Blackbox.mdx | 105 +- .../Synthetic Testing/MQTT Blackbox.mdx | 105 +- .../Synthetic Testing/Site 24x7.mdx | 105 +- .../Synthetic Testing/Uptimerobot.mdx | 105 +- .../Web Servers and Proxies/APIcast.mdx | 105 +- .../Web Servers and Proxies/Gobetween.mdx | 105 +- .../Service Discovery/SNMP.mdx | 2 +- docs/Dashboards and Charts/Tabs/Nodes.mdx | 8 +- docs/Netdata Agent/Configuration/Daemon.mdx | 16 +- ...re Netdata for cybersecurity platforms.mdx | 36 + docs/Netdata Agent/Node Identities.mdx | 12 + .../Node States and Transitions.mdx | 11 + .../Node Types and Lifecycle Reference.mdx | 66 + .../Parent-Child Configuration Reference.mdx | 9 +- docs/Welcome to Netdata/Monitor Anything.mdx | 9 +- ingest/generated_map.yaml | 29 +- ingest/one_commit_back_file-dict.yaml | 2918 +++++++++-------- 208 files changed, 19167 insertions(+), 1712 deletions(-) create mode 100644 docs/Collecting Metrics/Collectors/Networking/SNMP trap listener.mdx diff --git a/docs/Alerts & Notifications/Alert Configuration Reference.mdx b/docs/Alerts & Notifications/Alert Configuration Reference.mdx index 445c40ac2d..405f1f83a8 100644 --- a/docs/Alerts & Notifications/Alert Configuration Reference.mdx +++ b/docs/Alerts & Notifications/Alert Configuration Reference.mdx @@ -1038,7 +1038,7 @@ Several stock health configurations use host variables to reference dimensions f ##### Prometheus Collector Variables -For metrics collected by the go.d `prometheus` collector, each unique Prometheus label set usually produces a separate chart. The chart ID is built from the metric name followed by `-label=value` pairs for every label (e.g. `kubelet_volume_stats_used_bytes-persistentvolumeclaim=my-pvc`). In the Netdata chart registry, the prefix comes from the go.d job `FullName`: it is `prometheus.-` only when the job name is literally `prometheus`; otherwise it is `prometheus_.-` (for example, `prometheus_local.-` or `prometheus_kubelet.-`). For summary and histogram metric families, the collector may also emit related chart IDs such as ``, `_sum`, and `_count`, so verify the exact chart ID you want to reference. +For metrics collected by the go.d `prometheus` collector, each unique Prometheus label set usually produces a separate chart. The chart ID is built from the metric name followed by `-label=value` pairs for every label (e.g. `kubelet_volume_stats_used_bytes-persistentvolumeclaim=my-pvc`); characters in a label value that are not chart-ID-safe, such as `.`, are replaced with `_` in the chart ID, while the chart's label keeps the original value (so `addr="10.0.0.1"` yields `…-addr=10_0_0_1`). In the Netdata chart registry, the prefix comes from the go.d job `FullName`: it is `prometheus.-` only when the job name is literally `prometheus`; otherwise it is `prometheus_.-` (for example, `prometheus_local.-` or `prometheus_kubelet.-`). Summary and histogram families also emit separate `_sum` and `_count` charts; the suffix is part of the metric name, so the IDs are `_sum-` and `_count-` (just `_sum` / `_count` when the series has no labels), while histogram buckets are dimensions of the base `` chart. Verify the exact chart ID you want to reference. Because Prometheus chart IDs typically contain hyphens and `=` characters, use the `${...}` brace form to reference them in `calc`/`warn`/`crit` expressions — the unbraced `$var` form stops parsing at `-`. Apply the same rule for both the common `prometheus_` prefix and the special-case plain `prometheus` prefix, including any `_sum` or `_count` chart variants. diff --git a/docs/Alerts & Notifications/Notifications/Agent Dispatched Notifications/Agent Notifications Reference.mdx b/docs/Alerts & Notifications/Notifications/Agent Dispatched Notifications/Agent Notifications Reference.mdx index 7a66ad8cd5..06f7681bef 100644 --- a/docs/Alerts & Notifications/Notifications/Agent Dispatched Notifications/Agent Notifications Reference.mdx +++ b/docs/Alerts & Notifications/Notifications/Agent Dispatched Notifications/Agent Notifications Reference.mdx @@ -100,6 +100,7 @@ Use the `edit-config` script to safely edit configuration files. It automaticall ::: 1. Open the Agent's health notification config: + ```bash sudo ./edit-config health_alarm_notify.conf ``` @@ -109,6 +110,7 @@ Use the `edit-config` script to safely edit configuration files. It automaticall 3. Define recipients per **role** (see below). 4. Restart the Agent for changes to take effect: + ```bash sudo systemctl restart netdata ``` @@ -286,7 +288,7 @@ role_recipients_email[sysadmin]="disabled" If left empty, the default recipient for that method is used. -
+
Alert Severity Filtering
You can limit certain recipients to only receive **critical** alerts: @@ -298,11 +300,47 @@ role_recipients_email[sysadmin]="user1@example.com user2@example.com|critical" This setup: - Sends all alerts to `user1@example.com` -- Sends only critical-related alerts to `user2@example.com` +- Sends notifications to `user2@example.com` only once the alarm reaches CRITICAL, then continues sending status changes (including WARNING and CLEAR) until the alarm is cleared. Works for all supported methods: email, Slack, Telegram, Twilio, Discord, etc.
+
+Controlling Recovered (CLEAR) Notifications
+ +When an alert returns to normal, Netdata sends a **CLEAR** (recovered) notification. You can control when and whether these are sent. + +**Default behavior:** Netdata suppresses CLEAR notifications when the alert was never in a WARNING or CRITICAL state. If `old_status` was not WARNING or CRITICAL and the alert transitions to CLEAR, no notification is sent. This prevents noise from alerts that flap without ever reaching a problem state. + +**Enable CLEAR for all transitions:** If your downstream system handles deduplication, set `clear_alarm_always` in `health_alarm_notify.conf` to override the default suppression and send a CLEAR notification regardless of the previous status: + +```ini +clear_alarm_always='YES' +``` + +**Filter by CRITICAL history with the `|critical` modifier:** As described in [Alert Severity Filtering](#alert-severity-filtering) above, `|critical` forwards notifications only for alerts that have reached CRITICAL status. This affects both WARNING and CLEAR: + +- **WARNING** notifications are suppressed unless the alarm has previously reached CRITICAL. +- **CLEAR** notifications are only sent when the alert previously passed through CRITICAL. If the alert only went through WARNING → CLEAR, the CLEAR is not forwarded. + +```ini +role_recipients_email[sysadmin]="admin@example.com|critical" +``` + +**Suppress all CLEAR notifications:** Use the `|noclear` modifier to completely block CLEAR notifications for a recipient while still receiving WARNING and CRITICAL alerts: + +```ini +role_recipients_email[sysadmin]="admin@example.com|noclear" +``` + +You can combine modifiers. This example notifies only for alarms that have reached CRITICAL (WARNING is suppressed until then), and excludes CLEAR notifications entirely: + +```ini +role_recipients_email[sysadmin]="admin@example.com|critical|noclear" +``` + +
+
Proxy Settings
@@ -411,21 +449,25 @@ Here are solutions for common alert notification issues: ### Email Notifications Not Working 1. Verify your email configuration: + ```bash grep -E "SEND_EMAIL|DEFAULT_RECIPIENT_EMAIL" /etc/netdata/health_alarm_notify.conf ``` 2. Check if the system can send mail: + ```bash echo "Test" | mail -s "Test Email" your@email.com ``` 3. Look for errors in the Netdata log: + ```bash tail -f /var/log/netdata/error.log | grep "alarm notify" ``` 4. Test with debugging enabled: + ```bash sudo su -s /bin/bash netdata export NETDATA_ALARM_NOTIFY_DEBUG=1 @@ -435,11 +477,13 @@ Here are solutions for common alert notification issues: ### Slack Notifications Failing 1. Verify your webhook URL is correct: + ```bash grep -E "SLACK_WEBHOOK_URL" /etc/netdata/health_alarm_notify.conf ``` 2. Check for network connectivity to Slack: + ```bash curl -X POST -H "Content-type: application/json" --data '{"text":"Test"}' YOUR_WEBHOOK_URL ``` @@ -449,11 +493,13 @@ Here are solutions for common alert notification issues: ### PagerDuty Integration Issues 1. Verify your service key: + ```bash grep -E "PAGERDUTY_SERVICE_KEY" /etc/netdata/health_alarm_notify.conf ``` 2. Test the PagerDuty API directly: + ```bash curl -H "Content-Type: application/json" -X POST -d '{"service_key":"YOUR_SERVICE_KEY","event_type":"trigger","description":"Test"}' https://events.pagerduty.com/generic/2010-04-15/create_event.json ``` diff --git a/docs/Alerts & Notifications/Notifications/Centralized Cloud Notifications/Webhook.mdx b/docs/Alerts & Notifications/Notifications/Centralized Cloud Notifications/Webhook.mdx index 0372c43615..5f41e2a898 100644 --- a/docs/Alerts & Notifications/Notifications/Centralized Cloud Notifications/Webhook.mdx +++ b/docs/Alerts & Notifications/Notifications/Centralized Cloud Notifications/Webhook.mdx @@ -105,13 +105,13 @@ By default, the following headers will be sent in the HTTP request Netdata webhook integration supports 3 different authentication mechanisms: -##### Mutual TLS authentication (recommended) +##### Mutual TLS authentication -In mutual Transport Layer Security (mTLS) authentication, the client and the server authenticate each other using X.509 certificates. This ensures that the client is connecting to the intended server, and that the server is only accepting connections from authorized clients. +Netdata always sends a client certificate with every webhook request, regardless of which authentication method is selected in the UI. This means mTLS is available on all webhook integrations by default — no additional configuration is needed on the Netdata side to enable it. -This is the default authentication mechanism used if no other method is selected. +The authentication method you select (no auth, basic, or bearer) controls only whether an Authorization header is included in the request. It does not affect the client certificate behavior. -To take advantage of mutual TLS, you can configure your server to verify Netdata's client certificate. In order to achieve this, the Netdata client sending the notification supports mutual TLS (mTLS) to identify itself with a client certificate that your server can validate. +If you want to verify Netdata's client certificate on your end, configure your server to validate it using the Netdata CA certificate below. The steps to perform this validation are as follows: diff --git a/docs/Collecting Metrics/Collectors configuration.mdx b/docs/Collecting Metrics/Collectors configuration.mdx index b207094f06..ee36ae0fa3 100644 --- a/docs/Collecting Metrics/Collectors configuration.mdx +++ b/docs/Collecting Metrics/Collectors configuration.mdx @@ -58,7 +58,7 @@ You can modify how often collectors gather metrics to optimize CPU usage. This c 1. Open `netdata.conf` using [`edit-config`](/docs/netdata-agent/configuration#edit-configuration-files). 2. Set the `update every` value (default is `1`, meaning one-second intervals): ```text - [global] + [db] update every = 2 ``` diff --git a/docs/Collecting Metrics/Collectors/Applications/Alamos FE2 server.mdx b/docs/Collecting Metrics/Collectors/Applications/Alamos FE2 server.mdx index 368a35e631..7d3c209555 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Alamos FE2 server.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Alamos FE2 server.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + +
@@ -286,6 +340,55 @@ jobs: ```
+###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/AuthLog.mdx b/docs/Collecting Metrics/Collectors/Applications/AuthLog.mdx index a5e59bc99c..8ba6a2c127 100644 --- a/docs/Collecting Metrics/Collectors/Applications/AuthLog.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/AuthLog.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/BungeeCord.mdx b/docs/Collecting Metrics/Collectors/Applications/BungeeCord.mdx index 0c27ebb4fd..4555e0c887 100644 --- a/docs/Collecting Metrics/Collectors/Applications/BungeeCord.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/BungeeCord.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Celery.mdx b/docs/Collecting Metrics/Collectors/Applications/Celery.mdx index 531a98c032..e1e8c6d22e 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Celery.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Celery.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Chia.mdx b/docs/Collecting Metrics/Collectors/Applications/Chia.mdx index 0f0b5ef669..72d00704a6 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Chia.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Chia.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/ClamAV daemon.mdx b/docs/Collecting Metrics/Collectors/Applications/ClamAV daemon.mdx index c1ade8e652..ba9be19967 100644 --- a/docs/Collecting Metrics/Collectors/Applications/ClamAV daemon.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/ClamAV daemon.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Clamscan results.mdx b/docs/Collecting Metrics/Collectors/Applications/Clamscan results.mdx index d8170679f6..85810d7ba2 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Clamscan results.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Clamscan results.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Collectd.mdx b/docs/Collecting Metrics/Collectors/Applications/Collectd.mdx index 38570e2cd7..c671c7ac4b 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Collectd.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Collectd.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Crowdsec.mdx b/docs/Collecting Metrics/Collectors/Applications/Crowdsec.mdx index 15a18ec76b..c515e7f68d 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Crowdsec.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Crowdsec.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Cryptowatch.mdx b/docs/Collecting Metrics/Collectors/Applications/Cryptowatch.mdx index 4e41d521a5..e75c4030b8 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Cryptowatch.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Cryptowatch.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/DMARC.mdx b/docs/Collecting Metrics/Collectors/Applications/DMARC.mdx index cd7302a32f..0456acec7b 100644 --- a/docs/Collecting Metrics/Collectors/Applications/DMARC.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/DMARC.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Discourse.mdx b/docs/Collecting Metrics/Collectors/Applications/Discourse.mdx index da5efdcd90..ecd133067d 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Discourse.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Discourse.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/GitHub API rate limit.mdx b/docs/Collecting Metrics/Collectors/Applications/GitHub API rate limit.mdx index 4cda87ac32..8e4b7fad88 100644 --- a/docs/Collecting Metrics/Collectors/Applications/GitHub API rate limit.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/GitHub API rate limit.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/GitHub repository.mdx b/docs/Collecting Metrics/Collectors/Applications/GitHub repository.mdx index 6589f52a74..0ff07438d9 100644 --- a/docs/Collecting Metrics/Collectors/Applications/GitHub repository.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/GitHub repository.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Google Pagespeed.mdx b/docs/Collecting Metrics/Collectors/Applications/Google Pagespeed.mdx index d416574c60..a9c21c397e 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Google Pagespeed.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Google Pagespeed.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Grafana.mdx b/docs/Collecting Metrics/Collectors/Applications/Grafana.mdx index 8e3ed62481..e5ff212b2e 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Grafana.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Grafana.mdx @@ -90,11 +90,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -151,6 +154,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -282,6 +336,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Graylog Server.mdx b/docs/Collecting Metrics/Collectors/Applications/Graylog Server.mdx index 3c259d7f0f..859676aa2c 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Graylog Server.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Graylog Server.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Halon.mdx b/docs/Collecting Metrics/Collectors/Applications/Halon.mdx index 929e4cc719..5b117831bf 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Halon.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Halon.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Homebridge.mdx b/docs/Collecting Metrics/Collectors/Applications/Homebridge.mdx index 103a4ebf8c..1fc1f70586 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Homebridge.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Homebridge.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Homey.mdx b/docs/Collecting Metrics/Collectors/Applications/Homey.mdx index 02492b6de1..8679ce41c7 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Homey.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Homey.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Honeypot.mdx b/docs/Collecting Metrics/Collectors/Applications/Honeypot.mdx index 46a5e431b9..1c611a8f91 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Honeypot.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Honeypot.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/IBM AIX systems Njmon.mdx b/docs/Collecting Metrics/Collectors/Applications/IBM AIX systems Njmon.mdx index 0c4c3831e3..444fcfe431 100644 --- a/docs/Collecting Metrics/Collectors/Applications/IBM AIX systems Njmon.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/IBM AIX systems Njmon.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/JMX.mdx b/docs/Collecting Metrics/Collectors/Applications/JMX.mdx index f4251a7993..f037833c06 100644 --- a/docs/Collecting Metrics/Collectors/Applications/JMX.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/JMX.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Kannel.mdx b/docs/Collecting Metrics/Collectors/Applications/Kannel.mdx index 933697e1bc..61f3163814 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Kannel.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Kannel.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Lynis audit reports.mdx b/docs/Collecting Metrics/Collectors/Applications/Lynis audit reports.mdx index 1a2c4ea3e9..e4a68ec82d 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Lynis audit reports.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Lynis audit reports.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Minecraft.mdx b/docs/Collecting Metrics/Collectors/Applications/Minecraft.mdx index 8d981a29e9..938eb48d89 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Minecraft.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Minecraft.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/NRPE daemon.mdx b/docs/Collecting Metrics/Collectors/Applications/NRPE daemon.mdx index 4c8d1eefa8..9c74416eb0 100644 --- a/docs/Collecting Metrics/Collectors/Applications/NRPE daemon.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/NRPE daemon.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Nextcloud servers.mdx b/docs/Collecting Metrics/Collectors/Applications/Nextcloud servers.mdx index 77d7cbf243..873c0aa7cc 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Nextcloud servers.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Nextcloud servers.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/OBS Studio.mdx b/docs/Collecting Metrics/Collectors/Applications/OBS Studio.mdx index d1bd23b807..3babdced16 100644 --- a/docs/Collecting Metrics/Collectors/Applications/OBS Studio.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/OBS Studio.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/OpenWeatherMap.mdx b/docs/Collecting Metrics/Collectors/Applications/OpenWeatherMap.mdx index 2988245c86..50aeaa1957 100644 --- a/docs/Collecting Metrics/Collectors/Applications/OpenWeatherMap.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/OpenWeatherMap.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/ProFTPD.mdx b/docs/Collecting Metrics/Collectors/Applications/ProFTPD.mdx index 43a7c80c61..9093513324 100644 --- a/docs/Collecting Metrics/Collectors/Applications/ProFTPD.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/ProFTPD.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Prometheus endpoint.mdx b/docs/Collecting Metrics/Collectors/Applications/Prometheus endpoint.mdx index 33419aabd0..3169efd2a3 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Prometheus endpoint.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Prometheus endpoint.mdx @@ -91,11 +91,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -152,6 +155,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -283,6 +337,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/RADIUS.mdx b/docs/Collecting Metrics/Collectors/Applications/RADIUS.mdx index 3fafa202cf..d3508ccb07 100644 --- a/docs/Collecting Metrics/Collectors/Applications/RADIUS.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/RADIUS.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/SABnzbd.mdx b/docs/Collecting Metrics/Collectors/Applications/SABnzbd.mdx index 566bc31ed0..b17f616550 100644 --- a/docs/Collecting Metrics/Collectors/Applications/SABnzbd.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/SABnzbd.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Slurm.mdx b/docs/Collecting Metrics/Collectors/Applications/Slurm.mdx index 35e67f7a79..9b8a755831 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Slurm.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Slurm.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/StatusPage.mdx b/docs/Collecting Metrics/Collectors/Applications/StatusPage.mdx index ff4072457c..87f4bd4820 100644 --- a/docs/Collecting Metrics/Collectors/Applications/StatusPage.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/StatusPage.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Steam.mdx b/docs/Collecting Metrics/Collectors/Applications/Steam.mdx index e27968a002..469501ce54 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Steam.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Steam.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Suricata.mdx b/docs/Collecting Metrics/Collectors/Applications/Suricata.mdx index 2f683ebcba..c5da859ad9 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Suricata.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Suricata.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Sysload.mdx b/docs/Collecting Metrics/Collectors/Applications/Sysload.mdx index 88583dc5a1..6b988e2f3b 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Sysload.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Sysload.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/TACACS.mdx b/docs/Collecting Metrics/Collectors/Applications/TACACS.mdx index b6e5db3553..38c78fc1ac 100644 --- a/docs/Collecting Metrics/Collectors/Applications/TACACS.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/TACACS.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Tankerkoenig API.mdx b/docs/Collecting Metrics/Collectors/Applications/Tankerkoenig API.mdx index 074f8bdfe1..25a9e10fc9 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Tankerkoenig API.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Tankerkoenig API.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Twitch.mdx b/docs/Collecting Metrics/Collectors/Applications/Twitch.mdx index 92bb3745ff..998640e3c0 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Twitch.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Twitch.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/VSCode.mdx b/docs/Collecting Metrics/Collectors/Applications/VSCode.mdx index 207fc43a54..36a6717ed7 100644 --- a/docs/Collecting Metrics/Collectors/Applications/VSCode.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/VSCode.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/Vault PKI.mdx b/docs/Collecting Metrics/Collectors/Applications/Vault PKI.mdx index af8c9eb409..5c629e96e9 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Vault PKI.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Vault PKI.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/YOURLS URL Shortener.mdx b/docs/Collecting Metrics/Collectors/Applications/YOURLS URL Shortener.mdx index e56664968c..b66da69b9f 100644 --- a/docs/Collecting Metrics/Collectors/Applications/YOURLS URL Shortener.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/YOURLS URL Shortener.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/etcd.mdx b/docs/Collecting Metrics/Collectors/Applications/etcd.mdx index 1dfbc07198..6d93815356 100644 --- a/docs/Collecting Metrics/Collectors/Applications/etcd.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/etcd.mdx @@ -90,11 +90,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -151,6 +154,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -282,6 +336,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/gpsd.mdx b/docs/Collecting Metrics/Collectors/Applications/gpsd.mdx index ea83b60c7d..dcc81d6b81 100644 --- a/docs/Collecting Metrics/Collectors/Applications/gpsd.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/gpsd.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/journald.mdx b/docs/Collecting Metrics/Collectors/Applications/journald.mdx index eb48804abc..cd49c446aa 100644 --- a/docs/Collecting Metrics/Collectors/Applications/journald.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/journald.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/loki.mdx b/docs/Collecting Metrics/Collectors/Applications/loki.mdx index 04c4828790..89dfaa9432 100644 --- a/docs/Collecting Metrics/Collectors/Applications/loki.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/loki.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Applications/mtail.mdx b/docs/Collecting Metrics/Collectors/Applications/mtail.mdx index 79fd96f3b4..e104642b64 100644 --- a/docs/Collecting Metrics/Collectors/Applications/mtail.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/mtail.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS EC2 Compute instances.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS EC2 Compute instances.mdx index db54d327dd..b01c4ab498 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS EC2 Compute instances.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS EC2 Compute instances.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS Quota.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS Quota.mdx index 39c67c38c9..5b07f632c6 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS Quota.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS Quota.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/BOSH.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/BOSH.mdx index 77d6f760ba..a04b7f7e5c 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/BOSH.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/BOSH.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud Foundry Firehose.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud Foundry Firehose.mdx index 7687b7459e..6259f2a5ef 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud Foundry Firehose.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud Foundry Firehose.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud Foundry.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud Foundry.mdx index cb1eac26f9..36187b8301 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud Foundry.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud Foundry.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/CloudWatch.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/CloudWatch.mdx index b53e023617..cacb56b603 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/CloudWatch.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/CloudWatch.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Concourse.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Concourse.mdx index 93745d1077..66d06dc4b0 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Concourse.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Concourse.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Dynatrace.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Dynatrace.mdx index fa5f41c3df..3e14aa1906 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Dynatrace.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Dynatrace.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/GCP GCE.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/GCP GCE.mdx index abfccb6ec5..646ef5aa85 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/GCP GCE.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/GCP GCE.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/GitLab Runner.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/GitLab Runner.mdx index 3d231d5294..1105fc0f07 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/GitLab Runner.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/GitLab Runner.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Cloud Platform.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Cloud Platform.mdx index 1f6caa8656..368ba2acaf 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Cloud Platform.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Cloud Platform.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Stackdriver.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Stackdriver.mdx index 283dec46b9..915e4da287 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Stackdriver.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Stackdriver.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Hubble.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Hubble.mdx index 5c7667045e..b709597c0b 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Hubble.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Hubble.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Jenkins.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Jenkins.mdx index 29c47130c0..12dcd62f16 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Jenkins.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Jenkins.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Linode.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Linode.mdx index a52b2c8792..d564de7a32 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Linode.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Linode.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Spacelift.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Spacelift.mdx index ea3a311e5a..2545107d83 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Spacelift.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Spacelift.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Zerto.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Zerto.mdx index 83a2d0d1ae..9a02dedbf1 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Zerto.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Zerto.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Collectors.mdx b/docs/Collecting Metrics/Collectors/Collectors.mdx index 9cca72d7b5..e0f5bf410b 100644 --- a/docs/Collecting Metrics/Collectors/Collectors.mdx +++ b/docs/Collecting Metrics/Collectors/Collectors.mdx @@ -1078,6 +1078,10 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; + + + + diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/AWS ECS Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/AWS ECS Containers.mdx index bdc5440bb1..b9ef5ffb88 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/AWS ECS Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/AWS ECS Containers.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Agent.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Agent.mdx index 59fc7ab030..dd692481f9 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Agent.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Agent.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Operator.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Operator.mdx index 39cb090cde..2ae4a2bfcf 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Operator.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Operator.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Proxy.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Proxy.mdx index 63b1d74595..fb1fb1237b 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Proxy.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Cilium Proxy.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Containers.mdx index 991820d8a8..9000624d46 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Containers.mdx @@ -26,7 +26,7 @@ Module: /sys/fs/cgroup ## Overview -Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups. +Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, network, and page cache activity — via Linux cgroups. @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Docker Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Docker Containers.mdx index 01a2f8c8b5..eb57aad018 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Docker Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Docker Containers.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Hyper-V.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Hyper-V.mdx index 87389a6f42..9fd8ffafe8 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Hyper-V.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Hyper-V.mdx @@ -5,7 +5,7 @@ learn_status: "Published" toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Containers and VMs" -keywords: [windows, microsoft, hyperv, virtualization, vm] +keywords: [windows, microsoft, hyperv, virtualization, vm, azure-local, azure-stack-hci] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" sidebar_position: "110" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/containers-and-vms/hyper-v" @@ -26,7 +26,7 @@ Module: PerflibHyperV ## Overview -This collector monitors website requests and logins. +This collector monitors Hyper-V virtualization metrics including virtual machine health status, root partition virtualization layer statistics (TLB flushes, address spaces, attached devices, GPA space), per-VM CPU usage, memory allocation and pressure, storage device I/O and errors, network interface traffic and packets, and virtual switch traffic, packets, and dropped packets. It queries the 'HyperV' object from Perflib in order to gather the metrics. diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Kubernetes Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Kubernetes Containers.mdx index 97a1eedaa9..27b74211f3 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Kubernetes Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Kubernetes Containers.mdx @@ -26,7 +26,7 @@ Module: /sys/fs/cgroup ## Overview -Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups. +Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, network, and page cache activity — via Linux cgroups. diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/LXC Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/LXC Containers.mdx index 829bab849a..f7e5fc4280 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/LXC Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/LXC Containers.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Libvirt VMs and Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Libvirt VMs and Containers.mdx index 5d82dd19e6..a52bab5bde 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Libvirt VMs and Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Libvirt VMs and Containers.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Mesos.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Mesos.mdx index d759c35bdf..d9bba64ab4 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Mesos.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Mesos.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Nomad Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Nomad Containers.mdx index 2da82ef0a5..f069bab23b 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Nomad Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Nomad Containers.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/OpenStack VMs.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/OpenStack VMs.mdx index 0192d600e1..4a85947c6a 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/OpenStack VMs.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/OpenStack VMs.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Podman Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Podman Containers.mdx index c0607f6312..08d6b2a701 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Podman Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Podman Containers.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Podman.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Podman.mdx index 7bc72e147e..372702d4d7 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Podman.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Podman.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VE.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VE.mdx index a0399518f2..6e3ae45f01 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VE.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VE.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VMs and Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VMs and Containers.mdx index 4a9ba99ff4..fcef1420fd 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VMs and Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VMs and Containers.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Virtual Machines.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Virtual Machines.mdx index 63b91f19ad..57c9d87079 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Virtual Machines.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Virtual Machines.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/containerd Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/containerd Containers.mdx index da7f7705f4..adb746fb76 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/containerd Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/containerd Containers.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/oVirt VMs.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/oVirt VMs.mdx index 5a6da54a4f..cb5d1eaae1 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/oVirt VMs.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/oVirt VMs.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/systemd-nspawn Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/systemd-nspawn Containers.mdx index 1bb5558405..05c15a8308 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/systemd-nspawn Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/systemd-nspawn Containers.mdx @@ -146,6 +146,10 @@ Metrics: | cgroup.io_full_pressure | some10, some60, some300 | percentage | | cgroup.io_full_pressure_stall_time | time | ms | | cgroup.pids_current | pids | pids | +| cgroup.cachestat_ratio | ratio | % | +| cgroup.cachestat_dirties | dirty | page/s | +| cgroup.cachestat_hits | hit | hits/s | +| cgroup.cachestat_misses | miss | misses/s | ### Per cgroup network device diff --git a/docs/Collecting Metrics/Collectors/Databases/4D Server.mdx b/docs/Collecting Metrics/Collectors/Databases/4D Server.mdx index f4a514b318..d6dbb33fd5 100644 --- a/docs/Collecting Metrics/Collectors/Databases/4D Server.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/4D Server.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/AWS RDS.mdx b/docs/Collecting Metrics/Collectors/Databases/AWS RDS.mdx index fec5fcf679..0ebe9e727f 100644 --- a/docs/Collecting Metrics/Collectors/Databases/AWS RDS.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/AWS RDS.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/ClusterControl CMON.mdx b/docs/Collecting Metrics/Collectors/Databases/ClusterControl CMON.mdx index 71d735e839..7bbf5300e4 100644 --- a/docs/Collecting Metrics/Collectors/Databases/ClusterControl CMON.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/ClusterControl CMON.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/HANA.mdx b/docs/Collecting Metrics/Collectors/Databases/HANA.mdx index 4755b5d0be..8de2584ac6 100644 --- a/docs/Collecting Metrics/Collectors/Databases/HANA.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/HANA.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/IBM MQ.mdx b/docs/Collecting Metrics/Collectors/Databases/IBM MQ.mdx index b0c1cdbd6e..45bfee7fb9 100644 --- a/docs/Collecting Metrics/Collectors/Databases/IBM MQ.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/IBM MQ.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/InfluxDB.mdx b/docs/Collecting Metrics/Collectors/Databases/InfluxDB.mdx index b6bc02b19c..74d0500526 100644 --- a/docs/Collecting Metrics/Collectors/Databases/InfluxDB.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/InfluxDB.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/Kafka Consumer Lag.mdx b/docs/Collecting Metrics/Collectors/Databases/Kafka Consumer Lag.mdx index 80d4d9ac70..482b9c7593 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Kafka Consumer Lag.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Kafka Consumer Lag.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/Kafka ZooKeeper.mdx b/docs/Collecting Metrics/Collectors/Databases/Kafka ZooKeeper.mdx index e3ec0007fb..ac88c628c1 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Kafka ZooKeeper.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Kafka ZooKeeper.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/Kafka.mdx b/docs/Collecting Metrics/Collectors/Databases/Kafka.mdx index 36f74806bc..afb8527108 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Kafka.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Kafka.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/Meilisearch.mdx b/docs/Collecting Metrics/Collectors/Databases/Meilisearch.mdx index 90b4c801f4..fa6f76841f 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Meilisearch.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Meilisearch.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/Patroni.mdx b/docs/Collecting Metrics/Collectors/Databases/Patroni.mdx index d573f1c4cf..5a45c5f0e0 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Patroni.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Patroni.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/Pgpool-II.mdx b/docs/Collecting Metrics/Collectors/Databases/Pgpool-II.mdx index ca1ad75f3c..f80060f1d0 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Pgpool-II.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Pgpool-II.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/Redis Queue.mdx b/docs/Collecting Metrics/Collectors/Databases/Redis Queue.mdx index 0c86896509..0f5b299280 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Redis Queue.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Redis Queue.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/ScyllaDB.mdx b/docs/Collecting Metrics/Collectors/Databases/ScyllaDB.mdx index aa06d4e750..9f2d961189 100644 --- a/docs/Collecting Metrics/Collectors/Databases/ScyllaDB.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/ScyllaDB.mdx @@ -90,11 +90,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -151,6 +154,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -282,6 +336,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/Sphinx.mdx b/docs/Collecting Metrics/Collectors/Databases/Sphinx.mdx index 14cb940d24..cd8f04e031 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Sphinx.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Sphinx.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/Vertica.mdx b/docs/Collecting Metrics/Collectors/Databases/Vertica.mdx index 18e87ec0bf..af77cf8700 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Vertica.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Vertica.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/Warp10.mdx b/docs/Collecting Metrics/Collectors/Databases/Warp10.mdx index 3ba11f2715..89aa422d29 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Warp10.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Warp10.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/mosquitto.mdx b/docs/Collecting Metrics/Collectors/Databases/mosquitto.mdx index 74bd3846e5..49c9d27dd4 100644 --- a/docs/Collecting Metrics/Collectors/Databases/mosquitto.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/mosquitto.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Databases/pgBackRest.mdx b/docs/Collecting Metrics/Collectors/Databases/pgBackRest.mdx index 2181005a55..dadad58df0 100644 --- a/docs/Collecting Metrics/Collectors/Databases/pgBackRest.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/pgBackRest.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/AMD CPU & GPU.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/AMD CPU & GPU.mdx index c2556de6e4..b7cc78ec88 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/AMD CPU & GPU.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/AMD CPU & GPU.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Christ Elektronik CLM5IP power panel.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Christ Elektronik CLM5IP power panel.mdx index 800a49c28e..daf8ec63c0 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Christ Elektronik CLM5IP power panel.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Christ Elektronik CLM5IP power panel.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/CraftBeerPi.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/CraftBeerPi.mdx index 821fbbd58f..b94597ddd8 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/CraftBeerPi.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/CraftBeerPi.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Dutch Electricity Smart Meter.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Dutch Electricity Smart Meter.mdx index 40525208b9..5fc9111a39 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Dutch Electricity Smart Meter.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Dutch Electricity Smart Meter.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Elgato Key Light devices..mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Elgato Key Light devices..mdx index fd9a582876..9ec3d592c0 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Elgato Key Light devices..mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Elgato Key Light devices..mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Energomera smart power meters.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Energomera smart power meters.mdx index 5d78ec67cf..29374a26cd 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Energomera smart power meters.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Energomera smart power meters.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/IBM CryptoExpress CEX cards.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/IBM CryptoExpress CEX cards.mdx index 09db8fe666..a7d7078fe1 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/IBM CryptoExpress CEX cards.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/IBM CryptoExpress CEX cards.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/IBM Z Hardware Management Console.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/IBM Z Hardware Management Console.mdx index 408e7f5e45..8e66ea928f 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/IBM Z Hardware Management Console.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/IBM Z Hardware Management Console.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Jarvis Standing Desk.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Jarvis Standing Desk.mdx index 87fbbb734d..421c41a97f 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Jarvis Standing Desk.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Jarvis Standing Desk.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Modbus protocol.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Modbus protocol.mdx index 0fd27b01b4..2b096dc2a1 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Modbus protocol.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Modbus protocol.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Nature Remo E lite devices.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Nature Remo E lite devices.mdx index d6e7dffe25..1cded235ce 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Nature Remo E lite devices.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Nature Remo E lite devices.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Netatmo sensors.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Netatmo sensors.mdx index a9d38bbc3b..c4975f9a84 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Netatmo sensors.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Netatmo sensors.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Personal Weather Station.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Personal Weather Station.mdx index 2f05aad1e7..3edf9e235c 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Personal Weather Station.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Personal Weather Station.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Philips Hue.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Philips Hue.mdx index 8d80c7db06..3e56a871de 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Philips Hue.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Philips Hue.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Pimoroni Enviro+.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Pimoroni Enviro+.mdx index 69544bd9bc..6d0f6f17b0 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Pimoroni Enviro+.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Pimoroni Enviro+.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Powerpal devices.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Powerpal devices.mdx index 6f6cd83ded..f91688d0d5 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Powerpal devices.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Powerpal devices.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Radio Thermostat.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Radio Thermostat.mdx index cedc554648..3dc318192d 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Radio Thermostat.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Radio Thermostat.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Raritan PDU.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Raritan PDU.mdx index 7705ab8265..6a7f9b58cd 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Raritan PDU.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Raritan PDU.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/SMA Inverters.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/SMA Inverters.mdx index e9dc48ea0f..5e1c87560e 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/SMA Inverters.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/SMA Inverters.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Salicru EQX inverter.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Salicru EQX inverter.mdx index 3535479e3e..6bf07aaa73 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Salicru EQX inverter.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Salicru EQX inverter.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sense Energy.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sense Energy.mdx index 1da7cc1f7e..c315974b7e 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sense Energy.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sense Energy.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Shelly humidity sensor.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Shelly humidity sensor.mdx index 7a280e1a77..4eabe27a04 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Shelly humidity sensor.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Shelly humidity sensor.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Siemens S7 PLC.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Siemens S7 PLC.mdx index 0423eb3799..2f366ab40a 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Siemens S7 PLC.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Siemens S7 PLC.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Smart meters SML.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Smart meters SML.mdx index 81071e118e..30af3f9ce6 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Smart meters SML.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Smart meters SML.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solar logging stick.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solar logging stick.mdx index 507b857eea..147d50a330 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solar logging stick.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solar logging stick.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solis Ginlong 5G inverters.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solis Ginlong 5G inverters.mdx index ab42ae767f..3b0b773549 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solis Ginlong 5G inverters.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solis Ginlong 5G inverters.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sunspec Solar Energy.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sunspec Solar Energy.mdx index 93d1cc2929..72b7178f04 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sunspec Solar Energy.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sunspec Solar Energy.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tado smart heating solution.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tado smart heating solution.mdx index 18e4ecdf0b..870152eaa2 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tado smart heating solution.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tado smart heating solution.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla Wall Connector.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla Wall Connector.mdx index 00fdd66232..421643f693 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla Wall Connector.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla Wall Connector.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla vehicle.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla vehicle.mdx index d791c05dc7..ade763e8d9 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla vehicle.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla vehicle.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Xiaomi Mi Flora.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Xiaomi Mi Flora.mdx index d11f192b66..2ff4874b4a 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Xiaomi Mi Flora.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Xiaomi Mi Flora.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/8430FT modem.mdx b/docs/Collecting Metrics/Collectors/Networking/8430FT modem.mdx index 27677d2481..2cee1d7bc0 100644 --- a/docs/Collecting Metrics/Collectors/Networking/8430FT modem.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/8430FT modem.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Bird Routing Daemon.mdx b/docs/Collecting Metrics/Collectors/Networking/Bird Routing Daemon.mdx index b9872dc2a7..6848d4c8bf 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Bird Routing Daemon.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Bird Routing Daemon.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Clash.mdx b/docs/Collecting Metrics/Collectors/Networking/Clash.mdx index 5095f1743b..6459e8e526 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Clash.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Clash.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/DNSBL.mdx b/docs/Collecting Metrics/Collectors/Networking/DNSBL.mdx index 40839e33eb..04846087c6 100644 --- a/docs/Collecting Metrics/Collectors/Networking/DNSBL.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/DNSBL.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/FRRouting.mdx b/docs/Collecting Metrics/Collectors/Networking/FRRouting.mdx index 8ae07ebc5a..4122f2298f 100644 --- a/docs/Collecting Metrics/Collectors/Networking/FRRouting.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/FRRouting.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Fastd.mdx b/docs/Collecting Metrics/Collectors/Networking/Fastd.mdx index 3735dc019a..3293634a68 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Fastd.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Fastd.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Freifunk network.mdx b/docs/Collecting Metrics/Collectors/Networking/Freifunk network.mdx index 098daaefd8..3e887b7ea2 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Freifunk network.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Freifunk network.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Hitron CODA Cable Modem.mdx b/docs/Collecting Metrics/Collectors/Networking/Hitron CODA Cable Modem.mdx index 3cf412e7d4..b5232edaa1 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Hitron CODA Cable Modem.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Hitron CODA Cable Modem.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Keepalived.mdx b/docs/Collecting Metrics/Collectors/Networking/Keepalived.mdx index c7b3ee6ebe..239ac78afd 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Keepalived.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Keepalived.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Network Connections.mdx b/docs/Collecting Metrics/Collectors/Networking/Network Connections.mdx index 6a94c29385..30f024c118 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Network Connections.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Network Connections.mdx @@ -5,7 +5,7 @@ learn_status: "Published" toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" -keywords: [network, connections, sockets, tcp, udp, ports] +keywords: [network, connections, sockets, tcp, udp, ports, freebsd] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" sidebar_position: "350" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/network-connections" @@ -31,10 +31,15 @@ Module: network-viewer.plugin This plugin reads the system's socket tables to enumerate all active network connections, including TCP and UDP sockets in all states, for both IPv4 and IPv6. +On Linux it consumes `NETLINK_INET_DIAG` and the `/proc` socket tables; +on FreeBSD it walks `KERN_PROC_FILEDESC` and consults `net.inet.tcp.pcblist` +to attribute sockets to processes. + This collector is only supported on the following platforms: - Linux +- FreeBSD This collector only supports collecting metrics from a single instance of this integration. @@ -92,7 +97,8 @@ There are no alerts configured by default for this integration. ## Live Data -This plugin exposes a real-time function for viewing active network connections. +This plugin exposes real-time functions for viewing active network connections and, +on FreeBSD, system-wide TCP and UDP stack statistics. ### Network Connections @@ -103,7 +109,8 @@ Provides both aggregated and detailed views of TCP and UDP connections for IPv4 including connection direction (listen, inbound, outbound, local), process information, and TCP performance metrics (RTT, retransmissions). -Connections are classified as system or container based on network namespace. +On Linux, connections are classified as system or container based on network namespace. +On FreeBSD, namespaces are not exposed to userspace and the classification is omitted. | Aspect | Description | @@ -126,6 +133,43 @@ This function has no parameters. +| Column | Type | Unit | Visibility | Description | +|:-------|:-----|:-----|:-----------|:------------| + +### Network Protocols + +Shows FreeBSD TCP and UDP stack statistics grouped by transport protocol. + +Each row covers one transport (TCP or UDP) and reports IPv4+IPv6 combined +traffic counters (received, sent, errors), TCP-specific connection counters +(active opens, currently established, passive opens, resets, total segments, +retransmitted segments), and the UDP-specific datagrams-with-no-port counter. + +Values are per-second deltas sampled from `net.inet.tcp.stats`, +`net.inet.tcp.states`, and `net.inet.udp.stats`. The first call after the +plugin starts returns zeros because there is no previous sample to diff against. + + +| Aspect | Description | +|:-------|:------------| +| Name | `Network-viewer.plugin:network-protocols` | +| Require Cloud | no | +| Performance | | +| Security | | +| Availability | FreeBSD only. | + +#### Prerequisites + +No additional configuration is required. + +#### Parameters + +This function has no parameters. + +#### Returns + + + | Column | Type | Unit | Visibility | Description | |:-------|:-----|:-----|:-----------|:------------| diff --git a/docs/Collecting Metrics/Collectors/Networking/Networking.mdx b/docs/Collecting Metrics/Collectors/Networking/Networking.mdx index faba7855e5..5f86993b5a 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Networking.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Networking.mdx @@ -174,6 +174,10 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; + + + + diff --git a/docs/Collecting Metrics/Collectors/Networking/NextDNS.mdx b/docs/Collecting Metrics/Collectors/Networking/NextDNS.mdx index 4f52487d29..998f87b627 100644 --- a/docs/Collecting Metrics/Collectors/Networking/NextDNS.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/NextDNS.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Open vSwitch.mdx b/docs/Collecting Metrics/Collectors/Networking/Open vSwitch.mdx index 240f4e54ac..9eefb70b19 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Open vSwitch.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Open vSwitch.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/OpenROADM devices.mdx b/docs/Collecting Metrics/Collectors/Networking/OpenROADM devices.mdx index 822fa4962c..79a6622c24 100644 --- a/docs/Collecting Metrics/Collectors/Networking/OpenROADM devices.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/OpenROADM devices.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/RIPE Atlas.mdx b/docs/Collecting Metrics/Collectors/Networking/RIPE Atlas.mdx index 0977ab3c64..5cddff126b 100644 --- a/docs/Collecting Metrics/Collectors/Networking/RIPE Atlas.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/RIPE Atlas.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/SNMP trap listener.mdx b/docs/Collecting Metrics/Collectors/Networking/SNMP trap listener.mdx new file mode 100644 index 0000000000..29aba18051 --- /dev/null +++ b/docs/Collecting Metrics/Collectors/Networking/SNMP trap listener.mdx @@ -0,0 +1,669 @@ +--- +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp_traps/metadata.yaml" +sidebar_label: "SNMP trap listener" +learn_status: "Published" +toc_max_heading_level: "6" +toc_collapsible: "true" +learn_rel_path: "Collecting Metrics/Collectors/Networking" +keywords: [snmp, trap, inform, snmpv3, usm, syslog, network events, event monitoring, notifications, fault management, network management] +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" +sidebar_position: "540" +learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/snmp-trap-listener" +slug: "/collecting-metrics/collectors/networking/snmp-trap-listener" +--- + + + +# SNMP trap listener + + + + + +Plugin: go.d.plugin +Module: snmp_traps + + + +## Overview + +This collector listens for incoming SNMP Trap and INFORM notifications from network devices and persists them as enriched, structured log entries. + +- **Multi-protocol**: Accepts SNMPv1 Trap, SNMPv2c Trap/INFORM, and SNMPv3 Trap/INFORM with USM (user-based security model) authentication and privacy. +- **Per-job listeners**: Each job binds UDP endpoints independently, enabling per-site or per-segment trap receivers. +- **OOB profile pack**: Netdata ships with a library of pre-built trap profiles that resolve numeric OIDs to names, categories, severities, and varbind labels without manual MIB work for common equipment. +- **Dynamic engine ID discovery**: Optional runtime discovery of SNMPv3 sender engine IDs for environments where the engine ID is not known in advance. +- **Deduplication**: Optional configurable per-job dedup that suppresses repeated identical traps within a window. The first matching trap is journaled immediately; subsequent matches increment a summary counter and a periodic summary entry is written. +- **Per-OID overrides**: Operators can override the profile-assigned category, severity, and labels for specific OIDs without editing profiles. +- **Per-OID metric opt-in**: Operators can promote selected trap OIDs to dedicated Netdata metric charts for finer-grained alerting and dashboards. Each metric entry selects an OID, a context name under `snmp.trap.`, and optionally a bounded-cardinality varbind for multi-dimensional counting. +- **Direct journal storage**: Enabled by default for explicit jobs. Stores traps under the configured Netdata log directory (`/var/log/netdata/traps//` by default) and exposes the embedded `snmp:traps` Function. Direct-journal jobs appear as `__logs_sources` options. +- **OTLP/gRPC export**: Optional backend that exports traps as OTLP LogRecords. When `otlp.enabled` is `true`, traps are exported through OTLP regardless of `journal.enabled`; if direct journal storage is also enabled, both backends receive traps. +- **Self-metrics**: Per-job counters for trap events (by category and severity), processing errors (by type), and dedup suppression (when enabled). + +When direct journal storage is enabled, trap entries are written as structured systemd-journal log messages with plugin-controlled fields (`TRAP_REPORT_TYPE`, `TRAP_JOB`, `TRAP_OID`, `TRAP_NAME`, `TRAP_CATEGORY`, `TRAP_SEVERITY`, `TRAP_PDU_TYPE`, `TRAP_VERSION`, `TRAP_SOURCE_IP`, `TRAP_SOURCE_UDP_PEER`, `TRAP_SOURCE_UDP_PORT`, `TRAP_DEVICE_VENDOR`, `TRAP_INTERFACE`, `TRAP_NEIGHBORS`, `TRAP_REVERSE_DNS`, `TRAP_SUPPRESSED_COUNT`, `TRAP_SUPPRESSED_FINGERPRINTS`, `TRAP_REPORT_PERIOD_SEC`, `TRAP_DECODE_ERROR_KIND`, `TRAP_DECODE_ERROR`, `TRAP_PACKET_SIZE`, `TRAP_PACKET_SHA256`, `TRAP_LISTENER`, `TRAP_ENGINE_ID`, `TRAP_ENRICHMENT`, `TRAP_JSON`) plus profile-defined labels (`TRAP_TAG_*`) and decoded event varbind fields (`TRAP_VAR_*`). Non-sensitive, non-redundant event varbinds are indexed as `TRAP_VAR_*`; enum-backed varbinds also emit `_RAW` with the numeric value. `TRAP_ENRICHMENT` records the source-attribution and enrichment decisions for audit/debug, and `TRAP_JSON` stores the structured varbind payload plus `netdata_packet_sequence`, a per-job receive counter assigned once per UDP datagram. Query traps with the embedded `snmp:traps` Function through Netdata Cloud or directly via the Agent HTTP API. The Function selects all direct-journal jobs by default and can narrow to one listener with `selections.__logs_sources=[""]`. OTLP-only jobs do not create local journal files and therefore do not appear as log sources. + +**Closed 8-category / 8-severity taxonomy** (from the OOB profile pack): + +| Category | Description | +|----------|-------------| +| `state_change` | Link up/down, operational state transitions | +| `config_change` | Configuration modifications | +| `security` | Security events (intrusion, ACL, etc.) | +| `auth` | Authentication and authorization events | +| `license` | License-state events | +| `mobility` | Roaming, handoff, wireless client events | +| `diagnostic` | Tests, health checks, probes | +| `unknown` | Unmatched or unclassified traps | + +| Severity | Description | +|----------|-------------| +| `emerg` | System unusable | +| `alert` | Immediate action required | +| `crit` | Critical condition | +| `err` | Error condition | +| `warning` | Warning condition | +| `notice` | Normal but significant condition | +| `info` | Informational | +| `debug` | Debug-level message | + + +**Profile locations** + +| Type | Default path | Notes | +|------|--------------|-------| +| **Stock profiles** | `/usr/lib/netdata/conf.d/go.d/snmp.trap-profiles/default/` | Shipped with Netdata; packages store vendor files as `.yaml.zst` | +| **User profiles** | `/etc/netdata/go.d/snmp.trap-profiles/` | Place custom or converted `.yaml` profiles here | + +> Depending on installation, paths may be prefixed with `/opt/netdata`. + +A **trap profile** defines per-OID mappings: +- Category and severity +- Trap name and description +- Varbind labels for structured enrichment + +**At runtime, the collector**: +1. Receives a trap PDU on a bound UDP endpoint +2. Validates the SNMP version, community/USM, and source against the job configuration +3. Resolves the trap OID against operator profiles and lazily-loaded stock profile files to get a name, category, severity, and varbind labels +4. Enriches the entry with optional reverse DNS (`TRAP_REVERSE_DNS` annotation, never `_HOSTNAME`) and dedup logic (if enabled) +5. Writes the structured entry to the per-job direct journal when enabled, and exports via OTLP when configured +6. Increments the per-job self-metrics (events by category and severity, errors by type) + +**Custom MIB workflow**: Operators with device-specific MIBs not covered by the OOB profiles can use the installed `/usr/libexec/netdata/plugins.d/snmp-trap-profile-gen` helper to convert MIBs into trap profile YAMLs offline. The helper writes profiles under `snmp-trap-profile-gen-output/profiles/`; copy the needed YAML files to `/etc/netdata/go.d/snmp.trap-profiles/`. Active SNMP trap jobs automatically reload user-supplied profile changes and keep the last valid profile index if a changed file is invalid. Stock profile updates are picked up after trap jobs stop/start or the Netdata Agent restarts. If no trap job is active, the next job creation loads and validates the profile files. See [SNMP trap profile format](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/config/go.d/snmp.trap-profiles/profile-format.md) for the YAML schema. + +Example conversion for a MIB module not shipped in the OOB pack: +```sh +/usr/libexec/netdata/plugins.d/snmp-trap-profile-gen generate \ + --source-dir /path/to/vendor-mibs \ + --mib NAGIOS-NOTIFY-MIB \ + --out-dir ./snmp-trap-profile-gen-output +``` + + +This collector is only supported on the following platforms: + +- linux + +This collector supports collecting metrics from multiple instances of this integration, including remote instances. + +Binding to the standard SNMP trap port (UDP/162) requires `CAP_NET_BIND_SERVICE` or root. +Netdata packages grant this capability to `go.d.plugin` and allow it in `netdata.service`. + + +### Default Behavior + +#### Auto-Detection + +SNMP trap collection is not auto-detected. The collector must be explicitly configured as a job under `go.d/snmp_traps.conf`. + + +#### Limits + +BER decode limits protect the UDP-exposed parser: datagrams are capped at 8 KiB, varbinds at 256 per PDU, BER nesting depth at 8, encoded OID length at 128 bytes, OctetString values at 1024 bytes, and decode time at 1 ms per PDU. +Accepted-source decode failures are written as `TRAP_REPORT_TYPE=decode_error` rows with sanitized error details, source address/port, listener endpoint when known, sniffed SNMP version when known, packet size, and packet SHA-256. Raw packet bytes are not written because SNMP community strings and binary payloads can appear in received datagrams. +Deduplication, when enabled, uses a per-job fingerprint cache capped by `dedup.cache_max_entries` (default 100000). + + +#### Performance Impact + +The collector is event-driven and does not poll devices. CPU cost is proportional to the received trap rate. +Profile OID lookups use hash tables. Deduplication, when enabled, adds a configurable fingerprint cache. +For high-volume environments, size the dedup cache and journal rotation according to sustained trap volume and retention requirements. OTLP-only jobs avoid local journal storage but do not appear as sources in the embedded local logs viewer. + + +## Setup + + +You can configure the **snmp_traps** collector in two ways: + +| Method | Best for | How to | +|-----------------------|------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------| +| [**UI**](#via-ui) | Fast setup without editing files | Go to **Nodes → Configure this node → Collectors → Jobs**, search for **snmp_traps**, then click **+** to add a job. | +| [**File**](#via-file) | If you prefer configuring via file, or need to automate deployments (e.g., with Ansible) | Edit `go.d/snmp_traps.conf` and add a job. | + +:::important + +UI configuration requires paid Netdata Cloud plan. + +::: + + +### Prerequisites + +#### Prepare SNMP trap sources + +Configure the network devices sending traps: +- Set the trap destination to the Netdata host's IP address and the UDP port bound by the listener job. +- Ensure the SNMP community (v1/v2c) or USM credentials (v3) match the job configuration. +- For v3 traps, configure the device's engine ID and USM user with the matching auth and privacy protocols. + + +#### Verify Netdata log directory access + +Direct-journal jobs write under the configured Netdata log directory (`/var/log/netdata/traps/` by default, or `${NETDATA_LOG_DIR}/traps/` at runtime). +Job creation fails if the configured Netdata log directory is missing or unusable. For OTLP-only jobs, set `journal.enabled: false` and `otlp.enabled: true`. + + +#### Add custom trap profiles (optional) + +If the stock trap profiles do not cover a device, convert vendor MIBs with the installed `/usr/libexec/netdata/plugins.d/snmp-trap-profile-gen` helper and place the resulting YAML profiles under `/etc/netdata/go.d/snmp.trap-profiles/`. +This is the supported workflow for adding custom trap profile coverage. +Profile YAML syntax is documented in [SNMP trap profile format](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/config/go.d/snmp.trap-profiles/profile-format.md). + + + +### Configuration + +#### Options + +The following options can be defined globally: update_every, autodetection_retry. + + +
+Config options + + + +| Group | Option | Description | Default | Required | +|:------|:-----|:------------|:--------|:---------:| +| **Collection** | update_every | Framework collection interval for self-metrics. Trap packet reception is event-driven and does not depend on this interval. | 1 | no | +| **Listener** | [listen](#option-listener-listen) | Network endpoints this listener binds during job creation. | | yes | +| **SNMP** | [versions](#option-snmp-versions) | Accepted trap protocol versions. | [v1, v2c] | no | +| **SNMPv1/2c** | communities | SNMPv1/v2c community allowlist. Empty accepts all communities. | [] | no | +| **SNMPv3** | [usm_users](#option-snmpv3-usm-users) | SNMPv3 USM users with auth and privacy protocols. | [] | no | +| | engine_id_whitelist | Static SNMPv3 engine IDs accepted for v3 Trap PDUs (hex strings). Required when v3 is enabled and `dynamic_engine_id_discovery` is disabled. | [] | no | +| | local_engine_id | Receiver-local SNMPv3 engine ID for v3 INFORM authentication (hex string, 5-32 bytes). When omitted, Netdata generates and persists a stable per-job value. | | no | +| | dynamic_engine_id_discovery | When enabled, the listener discovers v3 Trap sender engine IDs at runtime and hot-registers new (engineID, username) pairs after the retry authenticates and decodes a v3 Trap. Static `engine_id_whitelist` must be empty. | no | no | +| | dynamic_engine_id_max_pairs | Maximum in-memory dynamic (engineID, username) pairs per job. 0 or unset uses the default of 4096. | 4096 | no | +| **Enrichment** | reverse_dns | Optional source-IP PTR annotation emitted as `TRAP_REVERSE_DNS`. Disabled by default and not used for authoritative identity. | enabled: false | no | +| **Security** | [source](#option-security-source) | Source-attribution controls for forwarded traps. UDP peer is authoritative unless the peer matches an explicit trusted relay CIDR. | trusted_relays: [] | no | +| | allowlist | Pre-decode source-IP CIDR allowlist. Empty accepts IPv4 and IPv6 from all sources. | source_cidrs: ["0.0.0.0/0", "::/0"] | no | +| **Rate limiting** | [rate_limit](#option-rate-limiting-rate-limit) | Per-source token-bucket rate limiting. Default off. | | no | +| **Deduplication** | [dedup](#option-deduplication-dedup) | Optional per-job trap deduplication. Disabled by default. | | no | +| **Direct journal** | [journal](#option-direct-journal-journal) | Direct local journal storage for received traps. Enabled by default for explicit jobs. | enabled: true | no | +| **OTLP export** | [otlp](#option-otlp-export-otlp) | Optional backend that exports traps as OTLP/gRPC LogRecords. Disabled by default. | | no | +| **Retention** | [retention](#option-retention-retention) | Per-job direct journal retention and rotation policy. Ignored when `journal.enabled` is `false`. | | no | +| **Overrides** | [overrides](#option-overrides-overrides) | Per-OID category, severity, and label overrides on top of profile defaults. | [] | no | +| **Per-OID metrics** | [metrics](#option-per-oid-metrics-metrics) | Promote selected trap OIDs to dedicated metric charts for finer-grained alerting. | [] | no | +| **Virtual node** | vnode | Associates this trap listener job with a Virtual Node. | | no | + + +##### listen + +- `receive_buffer`: UDP socket receive buffer requested during job creation, in bytes (default 4194304; set 0 to keep the operating system default; maximum 268435456). +Each endpoint has: +- `protocol`: Transport protocol (`udp` only). +- `address`: Local IP address to bind (e.g., `0.0.0.0` for all interfaces). +- `port`: UDP port number (default 162). Port 162 requires `CAP_NET_BIND_SERVICE` or root. + + + +##### versions + +Supported values: `v1`, `v2c`, `v3`. All three can be combined. + + + +##### usm_users + +Each user has: +- `username`: SNMPv3 USM security name (required). +- `engine_id`: Authoritative engine ID in hex (e.g., `80001f8880e5a5c0d6c7b8a9`). Required for static v3 jobs. May be omitted when `dynamic_engine_id_discovery` is enabled. +- `auth_proto`: Authentication protocol (`none`, `md5`, `sha`, `sha224`, `sha256`, `sha384`, `sha512`). +- `auth_key`: Authentication passphrase (use a Netdata secret reference). Required when `auth_proto` is not `none`; minimum 8 characters. +- `priv_proto`: Privacy protocol (`none`, `des`, `aes`, `aes192`, `aes256`, `aes192c`, `aes256c`). +- `priv_key`: Privacy passphrase (use a Netdata secret reference). Required when `priv_proto` is not `none`; minimum 8 characters. + + + +##### source + +- `trusted_relays`: CIDR list of SNMP trap relays/proxies whose `snmpTrapAddress.0` PDU source address may override the UDP peer. Leave empty for direct listeners. + + + +##### rate_limit + +- `enabled`: Enable per-source rate limiting (default `false`). +- `per_source_pps`: Maximum traps per second from a single source IP (default 1000). +- `mode`: Action when exceeded — `drop` (discard trap) or `sample` (allow but count as `rate_limited`). + + + +##### dedup + +- `enabled`: Enable dedup (default `false`). +- `window_sec`: Dedup window in seconds (default 5). +- `cache_max_entries`: Maximum fingerprints kept in memory (default 100000). +- `key_varbinds`: Additional varbind names to include in the dedup fingerprint (default `[]`, fingerprint is source device + trap OID only). + + + +##### journal + +- `enabled`: Write traps to local direct journal files under the configured Netdata log directory (`/var/log/netdata/traps//` by default, or `${NETDATA_LOG_DIR}/traps//` at runtime) and expose the job as a `__logs_sources` option in the embedded `snmp:traps` Function. +- Set `enabled: false` only when another output backend, such as OTLP, is enabled. + + + +##### otlp + +- `enabled`: Enable OTLP/gRPC Logs export. When `true`, traps are exported through OTLP regardless of `journal.enabled`; if direct journal storage is also enabled, both backends receive traps. +- `endpoint`: OTLP/gRPC endpoint. `http://host:port` uses plaintext gRPC; `https://host:port` uses TLS (default `http://127.0.0.1:4317`). Use `https://` for remote collectors when trap contents should be protected in transit. +- `headers`: Optional OTLP metadata headers (values may use Netdata secret references). +- `request_timeout`: Timeout for connection preflight and export calls (default `5s`). +- `flush_interval`: Maximum time to buffer records before export (default `200ms`). +- `batch_size`: Maximum LogRecords per export request (default 512). +- `queue_capacity`: Maximum records buffered per job (default 10000). + + + +##### retention + +- `max_size`: Maximum total bytes across all journal files (default `10GB`). Set `null` to disable size-based eviction. +- `max_duration`: Maximum age of the oldest journal file before deletion (default `null`, age-based eviction disabled). +- `rotation_size`: Maximum size of a single journal file before rotation (default `null` = auto, `max_size/20` clamped 5MB-200MB). +- `rotation_duration`: Maximum age of a single journal file before rotation (default `null`, time-based rotation disabled). Set a duration such as `24h` to enable time-based rotation. + + + +##### overrides + +Each override entry requires an `oid` (numeric OID). Optional fields: `category` (one of the 8 categories), `severity` (one of the 8 severities), `labels` (free-form key-value pairs). + + + +##### metrics + +Each entry requires: +- `oid`: Numeric trap OID to emit as a metric. +- `context`: Metric context name (must start with `snmp.trap.`). +- `dimension_from_varbind` (optional): Symbolic varbind name used as dimension value. Must reference an enum-backed varbind with \<= 64 values, a boolean/truthvalue, or a numeric range with \<= 64 values. + + + +
+ + +#### via UI + +Configure the **snmp_traps** collector from the Netdata web interface: + +1. Go to **Nodes**. +2. Select the node **where you want the snmp_traps data-collection job to run** and click the :gear: (**Configure this node**). That node will run the data collection. +3. The **Collectors → Jobs** view opens by default. +4. In the Search box, type _snmp_traps_ (or scroll the list) to locate the **snmp_traps** collector. +5. Click the **+** next to the **snmp_traps** collector to add a new job. +6. Fill in the job fields, then click **Test** to verify the configuration and **Submit** to save. + - **Test** runs the job with the provided settings and shows whether data can be collected. + - If it fails, an error message appears with details (for example, connection refused, timeout, or command execution errors), so you can adjust and retest. + + +#### via File + +The configuration file name for this integration is `go.d/snmp_traps.conf`. + +The file format is YAML. Generally, the structure is: + +```yaml +update_every: 1 +autodetection_retry: 0 +jobs: + - name: some_name1 + - name: some_name2 +``` +You can edit the configuration file using the [`edit-config`](/docs/netdata-agent/configuration#edit-configuration-files) script from the +Netdata [config directory](/docs/netdata-agent/configuration#locate-your-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config go.d/snmp_traps.conf +``` + +##### Examples + +###### Basic (SNMPv1/v2c) + +A single job listening on the standard trap port. Accepts any SNMPv1/v2c community. +The allowlist is left open (`0.0.0.0/0` and `::/0`) — restrict it for production. + + +
+Config + +```yaml +jobs: + - name: local + listen: + receive_buffer: 4194304 + endpoints: + - protocol: udp + address: 0.0.0.0 + port: 162 + versions: + - v1 + - v2c + +``` +
+ +###### OTLP-only export + +A job that disables direct journal creation and exports traps only through OTLP. +This job does not appear as a local `__logs_sources` option because no direct journal files are written. + + +
+Config + +```yaml +jobs: + - name: local-otel + listen: + endpoints: + - protocol: udp + address: 0.0.0.0 + port: 162 + journal: + enabled: false + otlp: + enabled: true + endpoint: "http://127.0.0.1:4317" + +``` +
+ +###### SNMPv3 with static USM + +A job accepting v3 traps from a known device. The USM user has a static engine ID, +and the engine ID whitelist is explicitly set. Auth and privacy keys use Netdata secret references. + + +
+Config + +```yaml +jobs: + - name: core-router + listen: + endpoints: + - protocol: udp + address: 0.0.0.0 + port: 162 + versions: + - v3 + usm_users: + - username: trapmon + engine_id: 80001f8880e5a5c0d6c7b8a9 + auth_proto: sha256 + auth_key: "${env:SNMP_V3_AUTH_KEY}" + priv_proto: aes + priv_key: "${env:SNMP_V3_PRIV_KEY}" + engine_id_whitelist: + - 80001f8880e5a5c0d6c7b8a9 + +``` +
+ +###### Dynamic engine ID discovery + +For environments where v3 sender engine IDs are not known in advance. +The listener discovers them at runtime from raw SNMPv3 context and hot-registers +new (engineID, username) pairs after the first successful authentication and decode. +The USM user omits `engine_id`; the whitelist must be empty. + + +
+Config + +```yaml +jobs: + - name: dynamic-v3 + listen: + endpoints: + - protocol: udp + address: 0.0.0.0 + port: 162 + versions: + - v3 + usm_users: + - username: trapmon + auth_proto: sha256 + auth_key: "${env:SNMP_V3_AUTH_KEY}" + priv_proto: aes + priv_key: "${env:SNMP_V3_PRIV_KEY}" + dynamic_engine_id_discovery: true + dynamic_engine_id_max_pairs: 4096 + +``` +
+ +###### With dedup and per-OID metrics + +A job with dedup enabled (window 10 seconds) and two per-OID metric opt-ins. +The first metric counts trap events for OID `1.3.6.1.4.1.9.9.43.2.0.1` under the context +`snmp.trap.cisco_config_changes`. The second breaks down a linkDown trap by the +`ccmHistoryEventTerminalType` varbind dimension. + + +
+Config + +```yaml +jobs: + - name: campus-core + listen: + endpoints: + - protocol: udp + address: 0.0.0.0 + port: 162 + dedup: + enabled: true + window_sec: 10 + metrics: + - oid: 1.3.6.1.4.1.9.9.43.2.0.1 + context: snmp.trap.cisco_config_changes + - oid: 1.3.6.1.4.1.9.9.43.2.0.2 + context: snmp.trap.cisco_config_change_terminal + dimension_from_varbind: ccmHistoryEventTerminalType + +``` +
+ + + +## Alerts + + +The following alerts are available: + +| Alert name | On metric | Description | +|:------------|:----------|:------------| +| [ snmp_trap_emergency_events ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.severity | The SNMP trap listener is receiving emergency-severity traps. | +| [ snmp_trap_alert_events ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.severity | The SNMP trap listener is receiving alert-severity traps that require immediate attention on the sending device. | +| [ snmp_trap_critical_events ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.severity | The SNMP trap listener is receiving critical-severity traps. | +| [ snmp_trap_error_events ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.severity | The SNMP trap listener is receiving error-severity traps at high rate. | +| [ snmp_trap_warning_event_storm ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.severity | The SNMP trap listener is receiving warning-severity traps at storm-level rate. | +| [ snmp_trap_decode_errors ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener has decode errors. | +| [ snmp_trap_template_unresolved ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener received traps whose profile templates referenced missing varbinds or fields. | +| [ snmp_trap_malformed_pdus ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener is receiving structurally invalid trap PDUs. | +| [ snmp_trap_allowlist_drops ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener is dropping traps because the sender IP is outside the configured allowlist. | +| [ snmp_trap_rate_limited ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener is receiving traps above the configured per-source rate limit. | +| [ snmp_trap_auth_failures ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener has authentication failures. | +| [ snmp_trap_usm_failures ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener has USM failures. | +| [ snmp_trap_unknown_engine_id ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener is receiving v3 traps from engine IDs outside the static whitelist, or first-time dynamic engine ID registrations when dynamic discovery is enabled. | +| [ snmp_trap_inform_response_failures ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener failed to send INFORM acknowledgements back to senders. | +| [ snmp_trap_binary_encoded_fields ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener wrote structured fields with binary journal encoding. | +| [ snmp_trap_profile_load_failures ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener failed to load or reload trap profiles. | +| [ snmp_trap_journal_write_failures ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener failed to write traps to the systemd-journal. | +| [ snmp_trap_otlp_export_failures ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener failed to export traps through OTLP. | +| [ snmp_trap_listener_read_failures ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.errors | The SNMP trap listener failed to read UDP packets from a bound socket. | +| [ snmp_trap_high_dedup_suppression ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp_traps.conf) | snmp.trap.dedup_suppressed | The SNMP trap listener is suppressing a high volume of duplicate traps. | + + +## Metrics + +Metrics grouped by *scope*. + +The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels. + +Metrics are grouped per job and scoped by `job_name`. The collector emits four static metric contexts plus optional operator-opted-in per-OID metric contexts. + +**Static contexts:** + +- `snmp.trap.events`: Trap events received, split by category. The `stacked` chart type gives a visual burst profile across categories. +- `snmp.trap.severity`: Trap events received, split by severity. The `stacked` chart type gives a visual burst profile across the closed 8-severity taxonomy (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`, `debug`). +- `snmp.trap.errors`: Processing errors by type. Stacked chart for quick identification of dominant error categories. +- `snmp.trap.dedup_suppressed`: Per-second rate of traps suppressed by dedup (only emitted when dedup is enabled on the job). + +**Dynamic contexts** (operator opt-in): + +Operators can promote selected trap OIDs to dedicated metric charts via the `metrics` configuration section. +Each entry emits under a `snmp.trap.` context (e.g., `snmp.trap.cisco_config_changes`). +When `dimension_from_varbind` is specified, the chart has one dimension per distinct varbind value. +When omitted, a single `count` dimension is emitted. + +The `dynamic_context_prefixes` entry below covers all operator-created contexts under the `snmp.trap.` prefix. + + +### Per job + +Per-job self-metrics for a SNMP trap listener job. + +Labels: + +| Label | Description | +|:-----------|:----------------| +| job_name | The job name as defined in `go.d/snmp_traps.conf`. | + +Metrics: + +| Metric | Dimensions | Unit | +|:------|:----------|:----| +| snmp.trap.events | state_change, config_change, security, auth, license, mobility, diagnostic, unknown | events/s | +| snmp.trap.severity | emerg, alert, crit, err, warning, notice, info, debug | events/s | +| snmp.trap.errors | unknown_oid, decode_failed, template_unresolved, malformed_pdu, dropped_allowlist, rate_limited, auth_failures, usm_failures, unknown_engine_id, inform_response_failed, binary_encoded, profile_load_failed, journal_write_failed, otlp_export_failed, listener_read_failed | errors/s | +| snmp.trap.dedup_suppressed | suppressed | events/s | + + + +## Troubleshooting + +### Debug Mode + +**Important**: Debug mode is not supported for data collection jobs created via the UI using the Dyncfg feature. + +To troubleshoot issues with the `snmp_traps` collector, run the `go.d.plugin` with the debug option enabled. The output +should give you clues as to why the collector isn't working. + +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. + + ```bash + cd /usr/libexec/netdata/plugins.d/ + ``` + +- Switch to the `netdata` user. + + ```bash + sudo -u netdata -s + ``` + +- Run the `go.d.plugin` to debug the collector: + + ```bash + ./go.d.plugin -d -m snmp_traps + ``` + + To debug a specific job: + + ```bash + ./go.d.plugin -d -m snmp_traps -j jobName + ``` + +### Getting Logs + +If you're encountering problems with the `snmp_traps` collector, follow these steps to retrieve logs and identify potential issues: + +- **Run the command** specific to your system (systemd, non-systemd, or Docker container). +- **Examine the output** for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem. + +#### System with systemd + +Use the following command to view logs generated since the last Netdata service restart: + +```bash +journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep snmp_traps +``` + +#### System without systemd + +Locate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name: + +```bash +grep snmp_traps /var/log/netdata/collector.log +``` + +**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues. + +#### Docker Container + +If your Netdata runs in a Docker container named "netdata" (replace if different), use this command: + +```bash +docker logs netdata 2>&1 | grep snmp_traps +``` + +### Port binding fails (permission denied) + +Standard SNMP trap port (UDP/162) requires `CAP_NET_BIND_SERVICE`. + +Netdata packages grant this capability to `go.d.plugin` automatically. If running from source +or in a custom deployment, grant it manually: +```bash +sudo setcap CAP_NET_BIND_SERVICE=eip /usr/libexec/netdata/plugins.d/go.d.plugin +``` +Alternatively, use a port >= 1024 (e.g., `1062`) and redirect traffic through a firewall. + + +### SNMPv3 traps not decoded (unknown_engine_id) + +In static mode, the sender engine ID is not in `engine_id_whitelist`. Add the sender engine ID +to the whitelist, or switch to `dynamic_engine_id_discovery: true` with an empty whitelist. + +In dynamic mode, the first accepted `(engineID, username)` pair increments this once as +operator visibility. Repeated or rejected increments usually indicate cap exhaustion, +invalid sender state, or an unauthorized sender. + + +### USM authentication failures + +Check that the USM user's `auth_proto`, `auth_key`, `priv_proto`, and `priv_key` match the +sender device's configuration. Verify engine ID matches. Use Netdata secret references for keys. + + +### journal retention eating disk space + +The default direct journal retention uses size-based eviction (`max_size: 10GB`) with no time-based age limit. +For high-trap environments, reduce `max_size` or enable `max_duration` to age-out old entries. +OTLP-only jobs can set `journal.enabled: false`; they do not create local journal files and do not appear as sources in the local logs Function. diff --git a/docs/Collecting Metrics/Collectors/Networking/SONiC NOS.mdx b/docs/Collecting Metrics/Collectors/Networking/SONiC NOS.mdx index 1124c0df85..737daf9c10 100644 --- a/docs/Collecting Metrics/Collectors/Networking/SONiC NOS.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/SONiC NOS.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "570" +sidebar_position: "580" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/sonic-nos" slug: "/collecting-metrics/collectors/networking/sonic-nos" --- @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Socket statistics.mdx b/docs/Collecting Metrics/Collectors/Networking/Socket statistics.mdx index f2615075b6..191e0a902d 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Socket statistics.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Socket statistics.mdx @@ -7,7 +7,7 @@ toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" keywords: [sockets] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "540" +sidebar_position: "550" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/socket-statistics" slug: "/collecting-metrics/collectors/networking/socket-statistics" --- diff --git a/docs/Collecting Metrics/Collectors/Networking/SoftEther VPN Server.mdx b/docs/Collecting Metrics/Collectors/Networking/SoftEther VPN Server.mdx index 96be357ed9..a0804c92ec 100644 --- a/docs/Collecting Metrics/Collectors/Networking/SoftEther VPN Server.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/SoftEther VPN Server.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "550" +sidebar_position: "560" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/softether-vpn-server" slug: "/collecting-metrics/collectors/networking/softether-vpn-server" --- @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Softnet Statistics.mdx b/docs/Collecting Metrics/Collectors/Networking/Softnet Statistics.mdx index 0f874e1a9f..cde3a073fe 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Softnet Statistics.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Softnet Statistics.mdx @@ -7,7 +7,7 @@ toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" keywords: [softnet] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "560" +sidebar_position: "570" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/softnet-statistics" slug: "/collecting-metrics/collectors/networking/softnet-statistics" --- diff --git a/docs/Collecting Metrics/Collectors/Networking/Starlink SpaceX.mdx b/docs/Collecting Metrics/Collectors/Networking/Starlink SpaceX.mdx index 8d93e76f6c..d35e89caa3 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Starlink SpaceX.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Starlink SpaceX.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "580" +sidebar_position: "590" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/starlink-spacex" slug: "/collecting-metrics/collectors/networking/starlink-spacex" --- @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Synproxy.mdx b/docs/Collecting Metrics/Collectors/Networking/Synproxy.mdx index c35fcb9a5b..83f84adafa 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Synproxy.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Synproxy.mdx @@ -7,7 +7,7 @@ toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" keywords: [synproxy] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "600" +sidebar_position: "610" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/synproxy" slug: "/collecting-metrics/collectors/networking/synproxy" --- diff --git a/docs/Collecting Metrics/Collectors/Networking/Timex.mdx b/docs/Collecting Metrics/Collectors/Networking/Timex.mdx index f5a776e515..52f7ebe6e2 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Timex.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Timex.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "620" +sidebar_position: "630" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/timex" slug: "/collecting-metrics/collectors/networking/timex" --- diff --git a/docs/Collecting Metrics/Collectors/Networking/Tor.mdx b/docs/Collecting Metrics/Collectors/Networking/Tor.mdx index 50aea5235b..6a44ed9f5c 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Tor.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Tor.mdx @@ -7,7 +7,7 @@ toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" keywords: [tor, traffic, vpn] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "630" +sidebar_position: "640" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/tor" slug: "/collecting-metrics/collectors/networking/tor" --- diff --git a/docs/Collecting Metrics/Collectors/Networking/Ubiquiti UFiber OLT.mdx b/docs/Collecting Metrics/Collectors/Networking/Ubiquiti UFiber OLT.mdx index 3c1c5da513..1957d86887 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Ubiquiti UFiber OLT.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Ubiquiti UFiber OLT.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "640" +sidebar_position: "650" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/ubiquiti-ufiber-olt" slug: "/collecting-metrics/collectors/networking/ubiquiti-ufiber-olt" --- @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/Unbound.mdx b/docs/Collecting Metrics/Collectors/Networking/Unbound.mdx index 0ece2b79d8..8e36cd9c82 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Unbound.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Unbound.mdx @@ -7,7 +7,7 @@ toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" keywords: [unbound, dns] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "650" +sidebar_position: "660" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/unbound" slug: "/collecting-metrics/collectors/networking/unbound" --- diff --git a/docs/Collecting Metrics/Collectors/Networking/Windows Network Protocols.mdx b/docs/Collecting Metrics/Collectors/Networking/Windows Network Protocols.mdx index ec5748a280..d7f3295d24 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Windows Network Protocols.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Windows Network Protocols.mdx @@ -7,7 +7,7 @@ toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" keywords: [network, tcp, udp, windows, perflib, segments, datagrams] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "660" +sidebar_position: "670" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/windows-network-protocols" slug: "/collecting-metrics/collectors/networking/windows-network-protocols" --- diff --git a/docs/Collecting Metrics/Collectors/Networking/WireGuard.mdx b/docs/Collecting Metrics/Collectors/Networking/WireGuard.mdx index 57621d9bd3..4112311726 100644 --- a/docs/Collecting Metrics/Collectors/Networking/WireGuard.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/WireGuard.mdx @@ -7,7 +7,7 @@ toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" keywords: [wireguard, vpn, security] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "670" +sidebar_position: "680" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/wireguard" slug: "/collecting-metrics/collectors/networking/wireguard" --- diff --git a/docs/Collecting Metrics/Collectors/Networking/Wireless network interfaces.mdx b/docs/Collecting Metrics/Collectors/Networking/Wireless network interfaces.mdx index 823262375e..e3e35015a1 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Wireless network interfaces.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Wireless network interfaces.mdx @@ -7,7 +7,7 @@ toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" keywords: [wireless devices] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "680" +sidebar_position: "690" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/wireless-network-interfaces" slug: "/collecting-metrics/collectors/networking/wireless-network-interfaces" --- diff --git a/docs/Collecting Metrics/Collectors/Networking/strongSwan.mdx b/docs/Collecting Metrics/Collectors/Networking/strongSwan.mdx index aa7f7a1024..42a6e0e145 100644 --- a/docs/Collecting Metrics/Collectors/Networking/strongSwan.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/strongSwan.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "590" +sidebar_position: "600" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/strongswan" slug: "/collecting-metrics/collectors/networking/strongswan" --- @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Networking/tc QoS classes.mdx b/docs/Collecting Metrics/Collectors/Networking/tc QoS classes.mdx index 717fe37a6d..7e47146031 100644 --- a/docs/Collecting Metrics/Collectors/Networking/tc QoS classes.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/tc QoS classes.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "610" +sidebar_position: "620" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/networking/tc-qos-classes" slug: "/collecting-metrics/collectors/networking/tc-qos-classes" --- diff --git a/docs/Collecting Metrics/Collectors/Operating Systems/Applications.mdx b/docs/Collecting Metrics/Collectors/Operating Systems/Applications.mdx index dc8f3658b7..f52df28e60 100644 --- a/docs/Collecting Metrics/Collectors/Operating Systems/Applications.mdx +++ b/docs/Collecting Metrics/Collectors/Operating Systems/Applications.mdx @@ -110,6 +110,10 @@ Metrics: | app.mem_private_usage | mem | MiB | | app.vmem_usage | vmem | MiB | | app.mem_page_faults | minor, major | pgfaults/s | +| app.ebpf_cachestat_hit_ratio | ratio | % | +| app.ebpf_cachestat_dirty_pages | pages | page/s | +| app.ebpf_cachestat_access | hits | hits/s | +| app.ebpf_cachestat_misses | misses | misses/s | | app.swap_usage | swap | MiB | | app.disk_physical_io | reads, writes | KiB/s | | app.disk_logical_io | reads, writes | KiB/s | diff --git a/docs/Collecting Metrics/Collectors/Operating Systems/FreeBSD RCTL-RACCT.mdx b/docs/Collecting Metrics/Collectors/Operating Systems/FreeBSD RCTL-RACCT.mdx index 3c53a7eb40..40474c724c 100644 --- a/docs/Collecting Metrics/Collectors/Operating Systems/FreeBSD RCTL-RACCT.mdx +++ b/docs/Collecting Metrics/Collectors/Operating Systems/FreeBSD RCTL-RACCT.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Operating Systems/OpenRC.mdx b/docs/Collecting Metrics/Collectors/Operating Systems/OpenRC.mdx index f70372d078..d697c3b923 100644 --- a/docs/Collecting Metrics/Collectors/Operating Systems/OpenRC.mdx +++ b/docs/Collecting Metrics/Collectors/Operating Systems/OpenRC.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Operating Systems/Systemd Services.mdx b/docs/Collecting Metrics/Collectors/Operating Systems/Systemd Services.mdx index da66bff42e..d8d9d7855b 100644 --- a/docs/Collecting Metrics/Collectors/Operating Systems/Systemd Services.mdx +++ b/docs/Collecting Metrics/Collectors/Operating Systems/Systemd Services.mdx @@ -26,7 +26,7 @@ Module: /sys/fs/cgroup ## Overview -Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups. +Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, network, and page cache activity — via Linux cgroups. @@ -118,5 +118,9 @@ Metrics: | systemd.service.disk.queued_iops | read, write | operations/s | | systemd.service.disk.merged_iops | read, write | operations/s | | systemd.service.pids.current | pids | pids | +| systemd.service.cachestat_ratio | ratio | % | +| systemd.service.cachestat_dirties | dirty | page/s | +| systemd.service.cachestat_hits | hit | hits/s | +| systemd.service.cachestat_misses | miss | misses/s | diff --git a/docs/Collecting Metrics/Collectors/Operating Systems/eBPF Cachestat.mdx b/docs/Collecting Metrics/Collectors/Operating Systems/eBPF Cachestat.mdx index 232f23fbe2..a103273213 100644 --- a/docs/Collecting Metrics/Collectors/Operating Systems/eBPF Cachestat.mdx +++ b/docs/Collecting Metrics/Collectors/Operating Systems/eBPF Cachestat.mdx @@ -149,40 +149,6 @@ The scope defines the instance that the metric belongs to. An instance is unique -### Per eBPF Cachestat instance - -These metrics show total number of calls to functions inside kernel. - -This scope has no labels. - -Metrics: - -| Metric | Dimensions | Unit | -|:------|:----------|:----| -| mem.cachestat_ratio | ratio | % | -| mem.cachestat_dirties | dirty | page/s | -| mem.cachestat_hits | hit | hits/s | -| mem.cachestat_misses | miss | misses/s | - -### Per apps - -These Metrics show grouped information per apps group. - -Labels: - -| Label | Description | -|:-----------|:----------------| -| app_group | The name of the group defined in the configuration. | - -Metrics: - -| Metric | Dimensions | Unit | -|:------|:----------|:----| -| app.ebpf_cachestat_hit_ratio | ratio | % | -| app.ebpf_cachestat_dirty_pages | pages | page/s | -| app.ebpf_cachestat_access | hits | hits/s | -| app.ebpf_cachestat_misses | misses | misses/s | - ### Per cgroup diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Dell PowerStore.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Dell PowerStore.mdx index d9d4f6c261..13a3abbf96 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Dell PowerStore.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Dell PowerStore.mdx @@ -262,6 +262,35 @@ jobs: ``` +###### With virtual node + +Associate the PowerStore job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes) so its metrics appear under a separate host in Netdata Cloud. + +First, define the vnode in `/etc/netdata/vnodes/vnodes.conf`: + +```yaml +- hostname: my_powerstore + guid: +``` + +Then reference that hostname in the collector job's `vnode` field. The `vnode` value must match the `hostname` in vnodes.conf exactly (case-sensitive). + + +
+Config + +```yaml +jobs: + - name: ps-san + url: https://10.0.0.1 + username: monitor + password: monitor123 + tls_skip_verify: yes + vnode: my_powerstore + +``` +
+ ## Alerts @@ -539,4 +568,15 @@ automatically re-authenticates on 403, but if you see persistent 403 errors: 3. Ensure no IP-based access controls are blocking the Netdata Agent host. +### Virtual node not found + +If the collector reports that a vnode does not exist: + +1. Verify the vnode hostname is defined in `/etc/netdata/vnodes/vnodes.conf`. +2. Ensure the `vnode` field in the collector job exactly matches the `hostname` + in vnodes.conf — the match is case-sensitive. +3. Confirm the vnodes.conf file uses valid YAML format with correct `guid` values + (a valid UUID string). + + diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/EOS.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/EOS.mdx index 245f1ea544..cb05af8573 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/EOS.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/EOS.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/FreeBSD NFS.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/FreeBSD NFS.mdx index 56c726eb90..27b10fa8c4 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/FreeBSD NFS.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/FreeBSD NFS.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Generic storage enclosure tool.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Generic storage enclosure tool.mdx index 280ddbe705..a674119b10 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Generic storage enclosure tool.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Generic storage enclosure tool.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/IBM Spectrum Virtualize.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/IBM Spectrum Virtualize.mdx index ff80656bc4..4d5dbd89ef 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/IBM Spectrum Virtualize.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/IBM Spectrum Virtualize.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/IBM Spectrum.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/IBM Spectrum.mdx index 95779bb6d1..16e0ff2e32 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/IBM Spectrum.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/IBM Spectrum.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Lustre metadata.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Lustre metadata.mdx index 074e7339c6..17a09c43ef 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Lustre metadata.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Lustre metadata.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/MogileFS.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/MogileFS.mdx index 0a95b1acfb..33ed8fc78f 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/MogileFS.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/MogileFS.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/NetApp Solidfire.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/NetApp Solidfire.mdx index bdb5fc82de..dc467bf696 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/NetApp Solidfire.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/NetApp Solidfire.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Netapp ONTAP API.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Netapp ONTAP API.mdx index c217e37dc5..a723fca331 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Netapp ONTAP API.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Netapp ONTAP API.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Storidge.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Storidge.mdx index cf62f3189f..14bf08aa1d 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Storidge.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Storidge.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Synology ActiveBackup.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Synology ActiveBackup.mdx index fd7cb37381..46cbc874b4 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Synology ActiveBackup.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Synology ActiveBackup.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Synthetic Testing/Blackbox.mdx b/docs/Collecting Metrics/Collectors/Synthetic Testing/Blackbox.mdx index 446da4207f..030924d83f 100644 --- a/docs/Collecting Metrics/Collectors/Synthetic Testing/Blackbox.mdx +++ b/docs/Collecting Metrics/Collectors/Synthetic Testing/Blackbox.mdx @@ -95,11 +95,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -156,6 +159,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -287,6 +341,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Synthetic Testing/MQTT Blackbox.mdx b/docs/Collecting Metrics/Collectors/Synthetic Testing/MQTT Blackbox.mdx index a208a9d37d..6434c966c4 100644 --- a/docs/Collecting Metrics/Collectors/Synthetic Testing/MQTT Blackbox.mdx +++ b/docs/Collecting Metrics/Collectors/Synthetic Testing/MQTT Blackbox.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Synthetic Testing/Site 24x7.mdx b/docs/Collecting Metrics/Collectors/Synthetic Testing/Site 24x7.mdx index fb2561e01a..4025fff05f 100644 --- a/docs/Collecting Metrics/Collectors/Synthetic Testing/Site 24x7.mdx +++ b/docs/Collecting Metrics/Collectors/Synthetic Testing/Site 24x7.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Synthetic Testing/Uptimerobot.mdx b/docs/Collecting Metrics/Collectors/Synthetic Testing/Uptimerobot.mdx index 14d16f4b00..cca094eca8 100644 --- a/docs/Collecting Metrics/Collectors/Synthetic Testing/Uptimerobot.mdx +++ b/docs/Collecting Metrics/Collectors/Synthetic Testing/Uptimerobot.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Web Servers and Proxies/APIcast.mdx b/docs/Collecting Metrics/Collectors/Web Servers and Proxies/APIcast.mdx index 0dec179583..00ff37c540 100644 --- a/docs/Collecting Metrics/Collectors/Web Servers and Proxies/APIcast.mdx +++ b/docs/Collecting Metrics/Collectors/Web Servers and Proxies/APIcast.mdx @@ -94,11 +94,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -155,6 +158,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -286,6 +340,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Gobetween.mdx b/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Gobetween.mdx index 6eb8d33709..1af780947a 100644 --- a/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Gobetween.mdx +++ b/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Gobetween.mdx @@ -90,11 +90,14 @@ The following options can be defined globally: update_every, autodetection_retry | | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | | **Target** | url | Target endpoint URL. | | yes | | | timeout | HTTP request timeout (seconds). | 10 | no | +| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | +| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | | **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | | **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | | | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | | **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | label_prefix | Optional prefix added to all labels of all charts. Labels will be formatted as `prefix_name`. | | no | +| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | +| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | | **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | | | password | Password for Basic HTTP authentication. | | no | | | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | @@ -151,6 +154,57 @@ fallback_type: ``` + +##### relabeling + +A list of relabeling blocks. Each block applies a list of Prometheus +`metric_relabel_configs` rules to the metrics whose name matches `match`. See the +[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) +for the full action set and more examples. + +- `match`: Netdata simple patterns matched against the full metric name — including + any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact + `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading + `!` negates). Use `*` to target every metric. Required. +- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, + `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to + the scraped samples before charts are built. + +Relabeling that would corrupt a histogram or summary — splitting it, dropping a +component, mutating the `le`/`quantile` label, or merging two families — is rejected. + +```yaml +relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' +``` + + + +##### profiles + +Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: + +- `auto` (default): every profile whose `match` hits at least one scraped metric. +- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). +- `combined`: `auto` plus the profiles named in `mode_combined.entries`. +- `none`: no profiles — generic autogen charts only (the pre-profile behavior). + +Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. + +```yaml +profiles: + mode: exact + mode_exact: + entries: + - name: haproxy +``` + + @@ -282,6 +336,55 @@ jobs: ``` +###### Metric relabeling + +Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. + +
+Config + +```yaml +jobs: + - name: local + url: http://127.0.0.1:9090/metrics + relabeling: + - match: 'http_*' + metric_relabel_configs: + - source_labels: [code] + regex: '(\d)\d\d' + target_label: code_class + replacement: '${1}xx' + +``` +
+ +###### Rename labels that collide with Netdata's reserved labels + +When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, +`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those +names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. +Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). + + +
+Config + +```yaml +jobs: + - name: coredns + url: http://127.0.0.1:9153/metrics + relabeling: + - match: '*' + metric_relabel_configs: + - regex: '(instance|family)' + action: labelmap + replacement: 'coredns_$1' + - regex: '(instance|family)' + action: labeldrop + +``` +
+ ## Alerts diff --git a/docs/Collecting Metrics/Service Discovery/SNMP.mdx b/docs/Collecting Metrics/Service Discovery/SNMP.mdx index f00bd12456..2d05c621a5 100644 --- a/docs/Collecting Metrics/Service Discovery/SNMP.mdx +++ b/docs/Collecting Metrics/Service Discovery/SNMP.mdx @@ -272,7 +272,7 @@ Available inside both `match` expressions and `config_template` bodies. All vari | `.SysInfo.Contact` | string | Value of `sysContact.0`. May be empty. | | `.SysInfo.Name` | string | Value of `sysName.0` (typically the device hostname or FQDN). Defaults to the literal string `unknown` when the device does not return one. | | `.SysInfo.Location` | string | Value of `sysLocation.0`. May be empty. | -| `.SysInfo.Organization` | string | Vendor or organization parsed from `sysObjectID` against the embedded enterprise-numbers table. Defaults to `Unknown` when the OID is not in the table. | +| `.SysInfo.Organization` | string | Vendor or organization parsed from `sysObjectID` against the bundled enterprise-numbers table. Defaults to `Unknown` when the OID is not in the table. | | `.SysInfo.Vendor` | string | Vendor name inferred from `sysObjectID` and `sysDescr` via the bundled overrides. Empty when no override matches. | | `.SysInfo.Category` | string | Device category (e.g. `router`, `switch`, `printer`). Sourced from the bundled SNMP overrides; empty when no override matches the device. The set of category values is determined by the overrides, not a closed enum. | | `.SysInfo.Model` | string | Device model inferred from `sysObjectID` and `sysDescr` via the bundled overrides. Empty when no override matches. | diff --git a/docs/Dashboards and Charts/Tabs/Nodes.mdx b/docs/Dashboards and Charts/Tabs/Nodes.mdx index a4706e48c3..0d63482e55 100644 --- a/docs/Dashboards and Charts/Tabs/Nodes.mdx +++ b/docs/Dashboards and Charts/Tabs/Nodes.mdx @@ -28,4 +28,10 @@ All configurations on this page are persistent and visible to all users in the R | **Node hierarchy (right bar)** | Displays a hierarchy of the nodes based on the selected ordering, making it easier to locate specific nodes by name. | | **Filters sub-tab** | Allows filtering of nodes by:
• Host labels
• [Node status](/docs/netdata-cloud/node-states-and-transitions)
• Netdata version
• Individual nodes | | **Alerts sub-tab** | Displays Room alerts and additional details for each alert. | -| **Info sub-tab** | Shows detailed node information when you click the info (`i`) icon next to a node's name. | +| **Info sub-tab** | Shows detailed node information when you click the info (`i`) icon next to a node's name. | + +:::tip + +To customize the hostname displayed for a node (for example, to replace a local IP address with a meaningful name), see [Hostname Override](/docs/netdata-agent/node-identities#hostname-override). + +::: diff --git a/docs/Netdata Agent/Configuration/Daemon.mdx b/docs/Netdata Agent/Configuration/Daemon.mdx index bc8acf2f0c..65a91fcc4e 100644 --- a/docs/Netdata Agent/Configuration/Daemon.mdx +++ b/docs/Netdata Agent/Configuration/Daemon.mdx @@ -56,7 +56,7 @@ After you modify `netdata.conf`, you need to [restart Netdata](/docs/netdata-age ## Customizing Your Node Name -You can change the display name of your Netdata node by customizing the hostname setting: +To override the auto-detected hostname and control how your node appears in Dashboards, Netdata Cloud, alert notifications, and streaming Parent nodes: 1. Edit your `netdata.conf` file: ```bash @@ -64,18 +64,13 @@ You can change the display name of your Netdata node by customizing the hostname sudo ./edit-config netdata.conf ``` -2. Add or modify the hostname in the `[global]` section: +2. Add or modify the `hostname` in the `[global]` section: ```ini [global] hostname = YOUR_CUSTOM_NODE_NAME ``` -3. Restart Netdata to apply the changes: - ```bash - sudo systemctl restart netdata - ``` - -The custom hostname will appear in dashboards, alerts, and when streaming to parent nodes. +3. [Restart Netdata](/docs/netdata-agent/maintenance/service-control) to apply the changes. ## Configuration Section Details @@ -228,6 +223,7 @@ Specific Alerts are configured in per-collector config files under the `health.d | in memory max Health log entries | 1000 | Size of the Alert history held in RAM | | script to execute on alarm | `/usr/libexec/netdata/plugins.d/alarm-notify.sh` | The script that sends Alert notifications. Note that in versions before 1.16, the plugins.d directory may be installed in a different location in certain OSs (e.g. under `/usr/lib/netdata`). | | run at least every | `10s` | Controls how often all Alert conditions should be evaluated. | +| notification execution timeout | `2m` | How long a notification command (e.g. `alarm-notify.sh`) may run before it is killed. Protects Alert evaluation from hung notification processes. Set to `0` to wait forever. | | postpone alarms during hibernation for | `1m` | Prevents false Alerts. May need to be increased if you get Alerts during hibernation. | | Health log retention | `5d` | Specifies the history of Alert events (in seconds) kept in the Agent's sqlite database. | | enabled alarms | * | Defines which Alerts to load from both user and stock directories. This is a [simple pattern](/docs/developer-and-contributor-corner/libnetdata/simple-patterns) list of Alert or template names. Can be used to disable specific Alerts. For example, `enabled alarms = !oom_kill *` will load all Alerts except `oom_kill`. | @@ -265,7 +261,7 @@ By default, Netdata will enable monitoring metrics for disks, memory, and networ :::tip -Use `yes` instead of `auto` in plugin configuration sections to enable these charts permanently. You can also set the `enable zero metrics` option to `yes` in the `[global]` section which enables charts with zero metrics for all internal Netdata plugins. +Use `yes` instead of `auto` in plugin configuration sections to enable these charts permanently. You can also set the `enable zero metrics` option to `yes` in the `[db]` section which enables charts with zero metrics for all internal Netdata plugins. ::: @@ -275,7 +271,7 @@ External plugins will have only two options at `netdata.conf`: | setting | default | info | |:---------------:|:--------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| update every | the value of `[global].update every` setting | The frequency in seconds the plugin should collect values. For more information check the [performance guide](/docs/netdata-agent/configuration/performance-optimization). | +| update every | the value of `[db].update every` setting | The frequency in seconds the plugin should collect values. For more information check the [performance guide](/docs/netdata-agent/configuration/performance-optimization). | | command options | - | Additional command line options to pass to the plugin. | External plugins that need additional configuration may support a dedicated file in `/etc/netdata`. Check their documentation. diff --git a/docs/Netdata Agent/Configuration/Securing Agents/Configure Netdata for cybersecurity platforms.mdx b/docs/Netdata Agent/Configuration/Securing Agents/Configure Netdata for cybersecurity platforms.mdx index 01f81d185e..4a30a1d74a 100644 --- a/docs/Netdata Agent/Configuration/Securing Agents/Configure Netdata for cybersecurity platforms.mdx +++ b/docs/Netdata Agent/Configuration/Securing Agents/Configure Netdata for cybersecurity platforms.mdx @@ -30,6 +30,42 @@ If you are not sure which model to use, start with the smallest exposed surface: 2. Use **access through a security platform** if you must publish the local dashboard to users. 3. Use **private management network access** only when you already have a trusted admin network. +## Required endpoints and ports + +For firewall and proxy allowlisting, your Netdata Agents need the following network access: + +| Direction | Port | Protocol | Purpose | +|-----------|-----------|-----------|--------------------------------------------------------| +| Inbound | 19999/TCP | TCP | Local dashboard access and streaming from Child Agents | +| Outbound | 19999/TCP | TCP | Streaming to a Parent Agent (Child Agents only) | +| Outbound | 443/TCP | WSS/HTTPS | Agent-Cloud Link (ACLK) and node claiming | + +:::note + +Port `19999` is the default, configurable via `[web] port` in `netdata.conf`, and is multiplexed: the same port handles both dashboard HTTP requests and the Netdata streaming protocol (a custom binary protocol over TCP). The server auto-detects which protocol the client is using based on the initial handshake. From a firewall perspective, both are simply TCP on port `19999`. + +You can disable inbound access on port `19999` by setting `mode = none` in `netdata.conf` when using Cloud-only access. This also disables inbound streaming. See [Configure Cloud-only access](#configure-cloud-only-access) for details. + +::: + +### Outbound domain allowlist + +Allow the following Netdata Cloud domains through your firewall or proxy: + +| Domain | Purpose | +|----------------------|---------------------------| +| `app.netdata.cloud` | Netdata Cloud application | +| `api.netdata.cloud` | Netdata Cloud API | +| `mqtt.netdata.cloud` | Agent-Cloud Link MQTT | + +:::important + +Prefer **domain-based allowlisting** over IP-based rules. IP addresses can change without notice and vary based on your geographic location due to CDN-edge servers. + +::: + +For broader firewall design principles and recommended network architecture, see [Network rules your cybersecurity platform should enforce](#network-rules-your-cybersecurity-platform-should-enforce) below. + ## Configure Cloud-only access Use this pattern when your security platform mainly controls outbound traffic and users access dashboards via Netdata Cloud instead of connecting directly to port `19999`. diff --git a/docs/Netdata Agent/Node Identities.mdx b/docs/Netdata Agent/Node Identities.mdx index ce02fcac2f..b0cba00c4a 100644 --- a/docs/Netdata Agent/Node Identities.mdx +++ b/docs/Netdata Agent/Node Identities.mdx @@ -232,6 +232,18 @@ If you customized `[directories]` in `netdata.conf`: ::: +## Hostname Override + +By default, Netdata auto-detects the system hostname. When the system hostname is configured as an IP address (common on some cloud VMs or home servers), nodes appear in Dashboards and Netdata Cloud with that raw IP instead of a readable name. + +:::info + +This setting changes the **display name** only — it does not affect the node's identity (Machine GUID, Node ID, or Claimed ID). + +::: + +To configure a custom hostname, see [Customizing Your Node Name](/docs/netdata-agent/configuration/daemon#customizing-your-node-name). + ## FAQ
diff --git a/docs/Netdata Cloud/Node States and Transitions.mdx b/docs/Netdata Cloud/Node States and Transitions.mdx index d7862c20f4..4e6c4f80d4 100644 --- a/docs/Netdata Cloud/Node States and Transitions.mdx +++ b/docs/Netdata Cloud/Node States and Transitions.mdx @@ -278,6 +278,17 @@ journalctl -u netdata MESSAGE_ID=6e2e3839-0676-4896-8b64-6045dbf28d66 netdatacli remove-stale-node ``` +### No alerts received when node went offline + +**Cause:** The `streaming_disconnected` and `streaming_never_connected` alerts are configured with `to: silent` by default. They trigger on the Parent dashboard but do not send notifications unless you override the delivery setting. + +**Check:** +1. Is the node marked as **permanent**? Ephemeral nodes are excluded from these alerts. Check `netdata.conf` for `is ephemeral node = yes`. +2. On the Parent dashboard, can you see the alert raised? If the alert is visible but no notification arrived, the `to: silent` default is in effect. +3. Has a Space administrator [enabled Alert notifications](/docs/alerts-&-notifications/notifications/centralized-cloud-notifications/manage-notification-methods#manage-space-notification-settings) for your Space? + +**Solution:** See [Enabling Notifications for Streaming Alerts](/docs/netdata-parents/node-types-and-lifecycle-reference#enabling-notifications-for-streaming-alerts) for step-by-step instructions covering alert override and Cloud notification setup. + ### Node reappears after deletion **Cause:** Agent is still running and configured to reconnect. diff --git a/docs/Netdata Parents/Node Types and Lifecycle Reference.mdx b/docs/Netdata Parents/Node Types and Lifecycle Reference.mdx index bb4c541a0b..25f5154a28 100644 --- a/docs/Netdata Parents/Node Types and Lifecycle Reference.mdx +++ b/docs/Netdata Parents/Node Types and Lifecycle Reference.mdx @@ -54,6 +54,72 @@ Netdata v2.3.0 introduces two alerts specific to permanent nodes: | `streaming_never_connected` | A permanent node has never connected to a Parent. | | `streaming_disconnected` | A previously connected permanent node has disconnected. | +:::important + +Both alerts are configured with `to: silent` by default. They trigger and appear on the Parent dashboard but **do not send notifications** unless you explicitly enable them. They also apply only to **permanent nodes** — ephemeral nodes are excluded. + +::: + +### Enabling Notifications for Streaming Alerts + +1. **Override each alert to send notifications.** Choose one method: + + **Via Netdata Cloud (recommended):** Use the [Alerts Configuration Manager](/docs/alerts-&-notifications/creating-alerts-with-the-alerts-configuration-manager) to edit `streaming_disconnected` and `streaming_never_connected` on the Parent node. The UI creates a dynamic configuration that takes precedence over the stock template. See [Alert Configuration Ordering](/docs/alerts-&-notifications/alert-configuration-ordering) for details. Repeat for both alerts. + + **Via config file:** On the Parent node, create or edit `/etc/netdata/health.d/streaming.conf`. An override must be a complete alert definition (see [Overriding Stock Alerts](/docs/alerts-&-notifications/overriding-stock-alerts)); change `to: silent` to a role. `sysadmin` is the convention used by the stock alerts; any string is accepted: + + ```yaml + template: streaming_disconnected + on: netdata.streaming_inbound + class: Availability + type: Streaming + component: Streaming + chart labels: type=permanent + calc: ${stale disconnected} + units: nodes + every: 10s + warn: $netdata.uptime.uptime > 30 * 60 AND $this > 0 + delay: up 5m down 5m multiplier 1.5 max 30m + summary: Permanent streaming nodes disconnected + info: Permanent child nodes disconnected from this parent. \ + If nodes are expected to disconnect, mark them as ephemeral, by editing their netdata.conf \ + and setting: [global].is ephemeral node = yes + to: sysadmin + ``` + + Repeat for `streaming_never_connected` — note that `template`, `calc`, `summary`, and `info` all differ: + + ```yaml + template: streaming_never_connected + on: netdata.streaming_inbound + class: Availability + type: Streaming + component: Streaming + chart labels: type=permanent + calc: ${stale archived} + units: nodes + every: 10s + warn: $netdata.uptime.uptime > 30 * 60 AND $this > 0 + delay: up 5m down 5m multiplier 1.5 max 30m + summary: Permanent streaming nodes never connected + info: Permanent child nodes never connected to this parent. \ + If these nodes should actually be ephemeral, run: \ + netdatacli mark-stale-nodes-ephemeral ALL_NODES + to: sysadmin + ``` + + After saving the file, reload health on the Parent: + + ```bash + sudo netdatacli reload-health + ``` + + Make sure the role you choose has recipients wired up in your notification method(s) — see [Centralized Cloud Notifications](/docs/alerts-&-notifications/notifications/centralized-cloud-notifications/centralized-cloud-notifications-reference) for Cloud setup. + +2. **Enable Cloud notifications.** An administrator must [enable Alert notifications for the Space](/docs/alerts-&-notifications/notifications/centralized-cloud-notifications/manage-notification-methods#manage-space-notification-settings). Without this step, Netdata Cloud will not forward any alert notifications. + +**See also:** [Centralized Cloud Notifications](/docs/alerts-&-notifications/notifications/centralized-cloud-notifications/centralized-cloud-notifications-reference) for notification setup, and [Node States and Transitions](/docs/netdata-cloud/node-states-and-transitions) for troubleshooting node offline states. + ## Automatic Node Instance Cleanup in Netdata Cloud Netdata Cloud automatically removes inactive nodes to keep your dashboards clean and organized. diff --git a/docs/Netdata Parents/Parent-Child Configuration Reference.mdx b/docs/Netdata Parents/Parent-Child Configuration Reference.mdx index 4c366cd807..eb856ecafc 100644 --- a/docs/Netdata Parents/Parent-Child Configuration Reference.mdx +++ b/docs/Netdata Parents/Parent-Child Configuration Reference.mdx @@ -381,7 +381,6 @@ The `netdata.conf` file is the primary configuration file for the Netdata agent. This section defines global settings for the Netdata agent. - **hostname**: The hostname used by the agent. -- **memory mode**: Choose the memory mode for data collection (e.g., `ram` or `swap`). - **error log file**: Path to the file where error logs are saved. ### [web] @@ -392,13 +391,13 @@ Configure the web interface settings here. - **port**: Set the port for the web interface (default: 19999). - **disable SSL**: Set to `yes` to disable SSL support. -### [database] +### [db] Manage database settings for data storage and retention. -- **memory mode**: Choose between in-memory or disk-based storage. -- **data retention**: Set how long to keep historical data. -- **compression**: Enable or disable data compression. +- **db** (formerly `memory mode`): Choose between in-memory or disk-based storage (e.g., `dbengine`, `ram`, `none`). +- **retention**: Set how long to keep historical data. +- **update every**: The data collection frequency in seconds. ## Complete Configuration Examples diff --git a/docs/Welcome to Netdata/Monitor Anything.mdx b/docs/Welcome to Netdata/Monitor Anything.mdx index d7ce030593..0a9905806a 100644 --- a/docs/Welcome to Netdata/Monitor Anything.mdx +++ b/docs/Welcome to Netdata/Monitor Anything.mdx @@ -155,17 +155,17 @@ Need a dedicated integration? [Submit a feature request](https://github.com/netd | [Cilium Operator](/docs/collecting-metrics/collectors/containers-and-vms/cilium-operator) | Monitor Cilium Operator metrics for efficient Kubernetes network security management. | | [Cilium Proxy](/docs/collecting-metrics/collectors/containers-and-vms/cilium-proxy) | Track Cilium Proxy metrics for enhanced network security and performance. | | [containerd Containers](/docs/collecting-metrics/collectors/containers-and-vms/containerd-containers) | Monitor containerd container resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups. | -| [Containers](/docs/collecting-metrics/collectors/containers-and-vms/containers) | Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups. | +| [Containers](/docs/collecting-metrics/collectors/containers-and-vms/containers) | Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, network, and page cache activity — via Linux cgroups. | | [Docker](/docs/collecting-metrics/collectors/containers-and-vms/docker) | This collector monitors Docker containers state, health status and more. | | [Docker Containers](/docs/collecting-metrics/collectors/containers-and-vms/docker-containers) | Monitor Docker container resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups. | | [Docker Engine](/docs/collecting-metrics/collectors/containers-and-vms/docker-engine) | This collector monitors the activity and health of Docker Engine and Docker Swarm. | | [Docker Hub repository](/docs/collecting-metrics/collectors/containers-and-vms/docker-hub-repository) | This collector keeps track of DockerHub repositories statistics such as the number of stars, pulls, current status, and more. | -| [Hyper-V](/docs/collecting-metrics/collectors/containers-and-vms/hyper-v) | This collector monitors website requests and logins. | +| [Hyper-V](/docs/collecting-metrics/collectors/containers-and-vms/hyper-v) | This collector monitors Hyper-V virtualization metrics including virtual machine health status, root partition virtualization layer statistics (TLB flushes, address spaces, attached devices, GPA space), per-VM CPU usage, memory allocation and pressure, storage device I/O and errors, network interface traffic and packets, and virtual switch traffic, packets, and dropped packets. | | [Kubelet](/docs/collecting-metrics/collectors/containers-and-vms/kubelet) | This collector monitors Kubelet instances. | | [Kubeproxy](/docs/collecting-metrics/collectors/containers-and-vms/kubeproxy) | This collector monitors Kubeproxy instances. | | [Kubernetes API Server](/docs/collecting-metrics/collectors/containers-and-vms/kubernetes-api-server) | This collector monitors Kubernetes API Server health, performance, and request metrics. | | [Kubernetes Cluster State](/docs/collecting-metrics/collectors/containers-and-vms/kubernetes-cluster-state) | This collector monitors Kubernetes Nodes, Pods and Containers. | -| [Kubernetes Containers](/docs/collecting-metrics/collectors/containers-and-vms/kubernetes-containers) | Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups. | +| [Kubernetes Containers](/docs/collecting-metrics/collectors/containers-and-vms/kubernetes-containers) | Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, network, and page cache activity — via Linux cgroups. | | [Libvirt VMs and Containers](/docs/collecting-metrics/collectors/containers-and-vms/libvirt-vms-and-containers) | Monitor libvirt-managed VM and container resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups. | | [LXC Containers](/docs/collecting-metrics/collectors/containers-and-vms/lxc-containers) | Monitor LXC/LXD/Incus container resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups. | | [Mesos](/docs/collecting-metrics/collectors/containers-and-vms/mesos) | Monitor Apache Mesos cluster manager metrics for efficient resource management and performance. | @@ -234,7 +234,7 @@ Need a dedicated integration? [Submit a feature request](https://github.com/netd | [System statistics](/docs/collecting-metrics/collectors/operating-systems/system-statistics-windows-plugin) | This collector monitors the current number of processes, threads, and context switches on Windows systems. | | [System Uptime](/docs/collecting-metrics/collectors/operating-systems/system-uptime) | The amount of time the system has been up (running). | | [system.ram](/docs/collecting-metrics/collectors/operating-systems/system.ram) | Show information about system memory usage. | -| [Systemd Services](/docs/collecting-metrics/collectors/operating-systems/systemd-services) | Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups. | +| [Systemd Services](/docs/collecting-metrics/collectors/operating-systems/systemd-services) | Monitor containers and virtual machines resource utilization — CPU, memory, disk I/O, network, and page cache activity — via Linux cgroups. | | [Systemd Units](/docs/collecting-metrics/collectors/operating-systems/systemd-units) | This collector monitors the state of Systemd units and unit files. | | [systemd-logind users](/docs/collecting-metrics/collectors/operating-systems/systemd-logind-users) | This collector monitors number of sessions and users as reported by the `org.freedesktop.login1` DBus API. | | [uptime](/docs/collecting-metrics/collectors/operating-systems/uptime) | Show period of time server is up. | @@ -309,6 +309,7 @@ Need a dedicated integration? [Submit a feature request](https://github.com/netd | [RIPE Atlas](/docs/collecting-metrics/collectors/networking/ripe-atlas) | Keep tabs on RIPE Atlas Internet measurement platform metrics for efficient network monitoring and performance. | | [SCTP Statistics](/docs/collecting-metrics/collectors/networking/sctp-statistics) | This integration provides statistics about the Stream Control Transmission Protocol (SCTP). | | [SNMP devices](/docs/collecting-metrics/collectors/networking/snmp-devices) | This collector discovers and monitors any SNMP-enabled network device. | +| [SNMP trap listener](/docs/collecting-metrics/collectors/networking/snmp-trap-listener) | This collector listens for incoming SNMP Trap and INFORM notifications from network devices and persists them as enriched, structured log entries. | | [Socket statistics](/docs/collecting-metrics/collectors/networking/socket-statistics) | This integration provides socket statistics. | | [SoftEther VPN Server](/docs/collecting-metrics/collectors/networking/softether-vpn-server) | Monitor SoftEther VPN Server metrics for efficient virtual private network (VPN) management and performance. | | [Softnet Statistics](/docs/collecting-metrics/collectors/networking/softnet-statistics) | `/proc/net/softnet_stat` provides statistics that relate to the handling of network packets by softirq. | diff --git a/ingest/generated_map.yaml b/ingest/generated_map.yaml index 31837b1066..e16723cc7e 100644 --- a/ingest/generated_map.yaml +++ b/ingest/generated_map.yaml @@ -2338,7 +2338,8 @@ sidebar_label: Hyper-V learn_status: Published learn_rel_path: Collecting Metrics/Collectors/Containers and VMs - keywords: '[''windows'', ''microsoft'', ''hyperv'', ''virtualization'', ''vm'']' + keywords: '[''windows'', ''microsoft'', ''hyperv'', ''virtualization'', ''vm'', + ''azure-local'', ''azure-stack-hci'']' description: .nan meta_yaml: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/metadata.yaml message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml @@ -3765,7 +3766,8 @@ sidebar_label: Network Connections learn_status: Published learn_rel_path: Collecting Metrics/Collectors/Networking - keywords: '[''network'', ''connections'', ''sockets'', ''tcp'', ''udp'', ''ports'']' + keywords: '[''network'', ''connections'', ''sockets'', ''tcp'', ''udp'', ''ports'', + ''freebsd'']' description: .nan meta_yaml: https://github.com/netdata/netdata/edit/master/src/collectors/network-viewer.plugin/metadata.yaml message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml @@ -3956,6 +3958,17 @@ meta_yaml: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/metadata.yaml message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp_traps/README.md + sidebar_label: SNMP trap listener + learn_status: Published + learn_rel_path: Collecting Metrics/Collectors/Networking + keywords: '[''snmp'', ''trap'', ''inform'', ''snmpv3'', ''usm'', ''syslog'', ''network + events'', ''event monitoring'', ''notifications'', ''fault management'', ''network + management'']' + description: .nan + meta_yaml: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp_traps/metadata.yaml + message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml + FILE - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/socket_statistics.md sidebar_label: Socket statistics learn_status: Published @@ -4462,22 +4475,22 @@ meta_yaml: https://github.com/netdata/netdata/edit/master/src/collectors/debugfs.plugin/metadata.yaml message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/system_statistics.md +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/system_statistics.md sidebar_label: System statistics learn_status: Published learn_rel_path: Collecting Metrics/Collectors/Operating Systems - keywords: '[''cpu utilization'', ''process counts'']' + keywords: '[''process counts'', ''threads'', ''context switch'']' description: .nan - meta_yaml: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/metadata.yaml + meta_yaml: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/metadata.yaml message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/system_statistics.md +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/system_statistics.md sidebar_label: System statistics learn_status: Published learn_rel_path: Collecting Metrics/Collectors/Operating Systems - keywords: '[''process counts'', ''threads'', ''context switch'']' + keywords: '[''cpu utilization'', ''process counts'']' description: .nan - meta_yaml: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/metadata.yaml + meta_yaml: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/metadata.yaml message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/system_uptime.md diff --git a/ingest/one_commit_back_file-dict.yaml b/ingest/one_commit_back_file-dict.yaml index a6c37625f8..b31b083846 100644 --- a/ingest/one_commit_back_file-dict.yaml +++ b/ingest/one_commit_back_file-dict.yaml @@ -1,1756 +1,1758 @@ -- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/netdata-cloud-onprem/RELEASE-NOTES.md - learn_path: /docs/netdata-cloud-on-prem/release-notes -- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/installation.md - learn_path: /docs/netdata-cloud-on-prem/installation -- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/hardening-guide.md - learn_path: /docs/netdata-cloud-on-prem/security-hardening-guide -- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/poc-without-k8s.md - learn_path: /docs/netdata-cloud-on-prem/poc-without-k8s -- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/troubleshooting.md - learn_path: /docs/netdata-cloud-on-prem/troubleshooting -- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/sbom.md - learn_path: /docs/netdata-cloud-on-prem/software-bill-of-materials -- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/netpol.md - learn_path: /docs/netdata-cloud-on-prem/kubernetes-network-policy-configuration -- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/ecr-mirror.md - learn_path: /docs/netdata-cloud-on-prem/mirroring-image-registry -- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/README.md - learn_path: /docs/netdata-cloud-on-prem -- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/image-signature-verification.md - learn_path: /docs/netdata-cloud-on-prem/container-image-signature-verification -- custom_edit_url: https://github.com/netdata/agent-service-discovery/edit/master/README.md - learn_path: /docs/collecting-metrics/service-discovery -- custom_edit_url: https://github.com/netdata/netdata-grafana-datasource-plugin/edit/master/README.md - learn_path: /docs/dashboards-and-charts/grafana-plugin -- custom_edit_url: https://github.com/netdata/helmchart/edit/master/charts/netdata/README.md - learn_path: /docs/netdata-agent/installation/kubernetes-helm-chart-reference - custom_edit_url: https://github.com/netdata/netdata/edit/master/REDISTRIBUTED.md learn_path: /docs/developer-and-contributor-corner/redistributed-software -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-authentication/integrations/scim.md - learn_path: /docs/netdata-cloud/authentication-&-authorization/cloud-authentication-&-authorization-integrations/scim -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-authentication/integrations/oidc.md - learn_path: /docs/netdata-cloud/authentication-&-authorization/cloud-authentication-&-authorization-integrations/oidc -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-authentication/integrations/okta_sso.md - learn_path: /docs/netdata-cloud/authentication-&-authorization/cloud-authentication-&-authorization-integrations/okta-sso -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/pagerduty.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/pagerduty +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/logs/integrations/windows_event_logs.md + learn_path: /docs/logs/windows-event-logs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/logs/integrations/systemd_journal_logs.md + learn_path: /docs/logs/systemd-journal-logs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/logs/integrations/opentelemetry_logs.md + learn_path: /docs/logs/opentelemetry-logs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/splunk.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/splunk +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/ilert.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/ilert - custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/amazon_sns.md learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/amazon-sns -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/opsgenie.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/opsgenie -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/splunk_victorops.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/splunk-victorops -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/webhook.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/webhook +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/discord.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/discord +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/pagerduty.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/pagerduty +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/microsoft_teams.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/microsoft-teams - custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/slack.md learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/slack -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/servicenow.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/servicenow -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/telegram.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/telegram +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/opsgenie.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/opsgenie - custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/mattermost.md learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/mattermost - custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/rocketchat.md learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/rocketchat -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/splunk.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/splunk -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/discord.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/discord -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/microsoft_teams.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/microsoft-teams - custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/netdata_mobile_app.md learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/netdata-mobile-app -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/ilert.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/ilert -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/logs/integrations/systemd_journal_logs.md - learn_path: /docs/logs/systemd-journal-logs -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/logs/integrations/windows_event_logs.md - learn_path: /docs/logs/windows-event-logs -- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/logs/integrations/opentelemetry_logs.md - learn_path: /docs/logs/opentelemetry-logs -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/Demo-Sites.md - learn_path: /docs/live-demo -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-oss-limitations.md - learn_path: /docs/security-and-privacy-design/access-control-and-feature-availability -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/fleet-configuration-management.md - learn_path: /docs/welcome-to-netdata/fleet-deployment-and-configuration-management +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/telegram.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/telegram +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/webhook.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/webhook +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/servicenow.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/servicenow +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-notifications/integrations/splunk_victorops.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/splunk-victorops +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-authentication/integrations/scim.md + learn_path: /docs/netdata-cloud/authentication-&-authorization/cloud-authentication-&-authorization-integrations/scim +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-authentication/integrations/oidc.md + learn_path: /docs/netdata-cloud/authentication-&-authorization/cloud-authentication-&-authorization-integrations/oidc +- custom_edit_url: https://github.com/netdata/netdata/edit/master/integrations/cloud-authentication/integrations/okta_sso.md + learn_path: /docs/netdata-cloud/authentication-&-authorization/cloud-authentication-&-authorization-integrations/okta-sso +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/streaming-routing.md + learn_path: /docs/netdata-parents/streaming-routing-reference - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/guidelines.md learn_path: /docs/developer-and-contributor-corner/contribute-to-the-documentation -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/scalability.md - learn_path: /docs/welcome-to-netdata/scalability -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/reporting.md - learn_path: /docs/welcome-to-netdata/reporting +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-oss-limitations.md + learn_path: /docs/security-and-privacy-design/access-control-and-feature-availability - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/nodes-ephemerality.md learn_path: /docs/netdata-parents/node-types-and-lifecycle-reference - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-enterprise-evaluation-corrected.md learn_path: /docs/welcome-to-netdata/enterprise-evaluation-guide -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/welcome-to-netdata.md - learn_path: /docs/welcome-to-netdata -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/realtime-monitoring.md - learn_path: /docs/welcome-to-netdata/real-time-monitoring - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/NIDL-Framework.md learn_path: /docs/dashboards-and-charts/nidl-framework +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/reporting.md + learn_path: /docs/welcome-to-netdata/reporting +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/scalability.md + learn_path: /docs/welcome-to-netdata/scalability +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/metric-correlations.md + learn_path: /docs/netdata-ai/troubleshooting/metric-correlations - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/top-monitoring-netdata-functions.md learn_path: /docs/live-view -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/streaming-routing.md - learn_path: /docs/netdata-parents/streaming-routing-reference +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/realtime-monitoring.md + learn_path: /docs/welcome-to-netdata/real-time-monitoring +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/Demo-Sites.md + learn_path: /docs/live-demo - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/glossary.md learn_path: /docs/developer-and-contributor-corner/glossary -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/metric-correlations.md - learn_path: /docs/netdata-ai/troubleshooting/metric-correlations +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/fleet-configuration-management.md + learn_path: /docs/welcome-to-netdata/fleet-deployment-and-configuration-management +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/welcome-to-netdata.md + learn_path: /docs/welcome-to-netdata - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/getting-started-netdata/guide.md learn_path: /docs/getting-started -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/ml-ai/anomaly-advisor.md - learn_path: /docs/netdata-ai/troubleshooting/anomaly-advisor -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/ml-ai/ai-insights.md - learn_path: /docs/netdata-ai/insights -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/ml-ai/ml-anomaly-detection/ml-accuracy.md - learn_path: /docs/netdata-ai/anomaly-detection/ml-accuracy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/ml-ai/ml-anomaly-detection/ml-anomaly-detection.md - learn_path: /docs/netdata-ai/anomaly-detection -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/functions/databases.md - learn_path: /docs/live-view/database-queries -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/functions/processes.md - learn_path: /docs/live-view/processes -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/security-and-privacy-design/netdata-cloud-security.md - learn_path: /docs/security-and-privacy-design/netdata-cloud -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/security-and-privacy-design/netdata-agent-security.md - learn_path: /docs/security-and-privacy-design/netdata-agent -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/security-and-privacy-design/README.md - learn_path: /docs/security-and-privacy-design -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/build-the-netdata-agent-yourself.md - learn_path: /docs/developer-and-contributor-corner/build-the-netdata-agent-yourself -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/collect-unbound-metrics.md - learn_path: /docs/developer-and-contributor-corner/monitor-unbound-dns-servers-with-netdata -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/monitor-debug-applications-ebpf.md - learn_path: /docs/developer-and-contributor-corner/monitor-troubleshoot-and-debug-applications-with-ebpf-metrics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/dyncfg.md - learn_path: /docs/developer-and-contributor-corner/dynamic-configuration -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/collect-apache-nginx-web-logs.md - learn_path: /docs/developer-and-contributor-corner/monitor-nginx-or-apache-web-server-log-files-with-netdata -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/style-guide.md - learn_path: /docs/developer-and-contributor-corner/contribute-to-the-documentation/netdata-style-guide -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/running-through-cf-tunnels.md - learn_path: /docs/developer-and-contributor-corner/running-a-local-dashboard-through-cloudflare-tunnels -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/monitor-hadoop-cluster.md - learn_path: /docs/developer-and-contributor-corner/monitor-a-hadoop-cluster-with-netdata -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/README.md - learn_path: /docs/developer-and-contributor-corner -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/best-practices.md - learn_path: /docs/netdata-parents/parent-configuration-best-practices -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/logs-centralization-points-with-systemd-journald/passive-journal-centralization-without-encryption.md - learn_path: /docs/logs/logs-centralization-points-with-systemd-journald/passive-journal-centralization-without-encryption -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/logs-centralization-points-with-systemd-journald/passive-journal-centralization-with-encryption-using-self-signed-certificates.md - learn_path: /docs/logs/logs-centralization-points-with-systemd-journald/passive-journal-centralization-with-encryption-using-self-signed-certificates -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/logs-centralization-points-with-systemd-journald/README.md - learn_path: /docs/logs/logs-centralization-points-with-systemd-journald -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/metrics-centralization-points/faq.md - learn_path: /docs/netdata-parents/metrics-centralization-points/faq-on-metrics-centralization-points -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/metrics-centralization-points/replication-of-past-samples.md - learn_path: /docs/netdata-parents/metrics-centralization-points/replication-of-past-samples -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/metrics-centralization-points/configuration.md - learn_path: /docs/netdata-parents/metrics-centralization-points/configuring-metrics-centralization-points -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/metrics-centralization-points/README.md - learn_path: /docs/netdata-parents/metrics-centralization-points -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/metrics-centralization-points/clustering-and-high-availability-of-netdata-parents.md - learn_path: /docs/netdata-parents/metrics-centralization-points/clustering-and-high-availability-of-netdata-parents +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/deployment-guides/README.md + learn_path: /docs/netdata-agent/quickstart-deployment +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/deployment-guides/standalone-deployment.md + learn_path: /docs/netdata-agent +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/deployment-guides/deployment-with-centralization-points.md + learn_path: /docs/netdata-parents +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/deployment-guides/deployment-strategies.md + learn_path: /docs/netdata-parents/configuration-examples - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/securing-netdata-agents.md learn_path: /docs/netdata-agent/configuration/securing-agents - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/start-stop-restart.md learn_path: /docs/netdata-agent/maintenance/service-control -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/backup-and-restore-an-agent.md - learn_path: /docs/netdata-agent/maintenance/backup-and-restore-an-agent - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configure-netdata-for-cybersecurity-platforms.md learn_path: /docs/netdata-agent/configuration/securing-agents/configure-netdata-for-cybersecurity-platforms -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts.md - learn_path: /docs/netdata-agent/configuration/organize-systems-metrics-and-alerts -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/optimize-the-netdata-agents-performance.md - learn_path: /docs/netdata-agent/configuration/performance-optimization +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/backup-and-restore-an-agent.md + learn_path: /docs/netdata-agent/maintenance/backup-and-restore-an-agent +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/using-custom-ca-certificates-with-netdata.md + learn_path: /docs/netdata-agent/configuration/using-custom-ca-certificates-with-netdata +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/README.md + learn_path: /docs/netdata-agent/configuration - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/anonymous-telemetry-events.md learn_path: /docs/netdata-agent/anonymous-telemetry-events - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/secure-your-netdata-agent-with-bearer-token.md learn_path: /docs/netdata-agent/configuration/securing-agents/bearer-token-protection +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/optimize-the-netdata-agents-performance.md + learn_path: /docs/netdata-agent/configuration/performance-optimization +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts.md + learn_path: /docs/netdata-agent/configuration/organize-systems-metrics-and-alerts - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/dynamic-configuration.md learn_path: /docs/netdata-agent/configuration/dynamic-configuration-manager -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/README.md - learn_path: /docs/netdata-agent/configuration -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/using-custom-ca-certificates-with-netdata.md - learn_path: /docs/netdata-agent/configuration/using-custom-ca-certificates-with-netdata +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-apache.md + learn_path: /docs/netdata-agent/configuration/securing-agents/running-the-agent-behind-a-reverse-proxy/apache +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/README.md + learn_path: /docs/netdata-agent/configuration/securing-agents/running-the-agent-behind-a-reverse-proxy - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-haproxy.md learn_path: /docs/netdata-agent/configuration/securing-agents/running-the-agent-behind-a-reverse-proxy/haproxy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-h2o.md - learn_path: /docs/netdata-agent/configuration/securing-agents/running-the-agent-behind-a-reverse-proxy/h2o +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-caddy.md + learn_path: /docs/netdata-agent/configuration/securing-agents/running-the-agent-behind-a-reverse-proxy/caddy - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-nginx.md learn_path: /docs/netdata-agent/configuration/securing-agents/running-the-agent-behind-a-reverse-proxy/nginx +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-h2o.md + learn_path: /docs/netdata-agent/configuration/securing-agents/running-the-agent-behind-a-reverse-proxy/h2o - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-lighttpd.md learn_path: /docs/netdata-agent/configuration/securing-agents/running-the-agent-behind-a-reverse-proxy/lighttpd-v1.4.x -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/README.md - learn_path: /docs/netdata-agent/configuration/securing-agents/running-the-agent-behind-a-reverse-proxy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-apache.md - learn_path: /docs/netdata-agent/configuration/securing-agents/running-the-agent-behind-a-reverse-proxy/apache -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-caddy.md - learn_path: /docs/netdata-agent/configuration/securing-agents/running-the-agent-behind-a-reverse-proxy/caddy - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/sizing-netdata-agents/cpu-requirements.md learn_path: /docs/netdata-agent/resource-utilization/cpu +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/sizing-netdata-agents/README.md + learn_path: /docs/netdata-agent/resource-utilization +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/sizing-netdata-agents/bandwidth-requirements.md + learn_path: /docs/netdata-agent/resource-utilization/bandwidth - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/sizing-netdata-agents/ram-requirements.md learn_path: /docs/netdata-agent/resource-utilization/ram - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/sizing-netdata-agents/disk-requirements-and-retention.md learn_path: /docs/netdata-agent/resource-utilization/disk-&-retention -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/sizing-netdata-agents/bandwidth-requirements.md - learn_path: /docs/netdata-agent/resource-utilization/bandwidth -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-agent/sizing-netdata-agents/README.md - learn_path: /docs/netdata-agent/resource-utilization -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/node-filter.md - learn_path: /docs/dashboards-and-charts/node-filter -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/import-export-print-snapshot.md - learn_path: /docs/developer-and-contributor-corner/import-export-and-print-a-snapshot -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/events-feed.md - learn_path: /docs/dashboards-and-charts/tabs/events -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/kubernetes-tab.md - learn_path: /docs/dashboards-and-charts/tabs/kubernetes -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/nodes-tab.md - learn_path: /docs/dashboards-and-charts/tabs/nodes -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/alerts-tab.md - learn_path: /docs/dashboards-and-charts/tabs/alerts -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/home-tab.md - learn_path: /docs/dashboards-and-charts/tabs -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/live-tab.md - learn_path: /docs/dashboards-and-charts/tabs/live -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/visualization-date-and-time-controls.md - learn_path: /docs/dashboards-and-charts/time-controls -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/expanded-chart-analysis.md - learn_path: /docs/dashboards-and-charts/expanded-chart-analysis -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/themes.md - learn_path: /docs/dashboards-and-charts/theme -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/dashboards-tab.md - learn_path: /docs/dashboards-and-charts/tabs/dashboards -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/anomaly-advisor-tab.md - learn_path: /docs/dashboards-and-charts/tabs/anomalies -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/netdata-charts.md - learn_path: /docs/dashboards-and-charts/charts -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/README.md - learn_path: /docs/dashboards-and-charts -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/metrics-tab-and-single-node-tabs.md - learn_path: /docs/dashboards-and-charts/tabs/metrics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/logs-tab.md - learn_path: /docs/dashboards-and-charts/tabs/logs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/functions/databases.md + learn_path: /docs/live-view/database-queries +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/functions/processes.md + learn_path: /docs/live-view/processes +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/delete/netdata/account.md + learn_path: /docs/netdata-cloud/account-deletion - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/conversations.md learn_path: /docs/netdata-ai/conversations - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/alerts-automation/alerts-automation.md learn_path: /docs/netdata-ai/alerts-automation -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/ai-chat-netdata.md - learn_path: /docs/netdata-ai/mcp/chat-with-netdata - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/README.md learn_path: /docs/netdata-ai/mcp -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/crush.md - learn_path: /docs/netdata-ai/mcp/mcp-clients/crush -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/claude-desktop.md - learn_path: /docs/netdata-ai/mcp/mcp-clients/claude-desktop +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/ai-chat-netdata.md + learn_path: /docs/netdata-ai/mcp/chat-with-netdata +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/ai-devops-copilot.md + learn_path: /docs/netdata-ai/mcp/mcp-clients +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/codex-cli.md + learn_path: /docs/netdata-ai/mcp/mcp-clients/openai-codex-cli - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/vs-code.md learn_path: /docs/netdata-ai/mcp/mcp-clients/visual-studio-code -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/opencode.md - learn_path: /docs/netdata-ai/mcp/mcp-clients/opencode -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/jetbrains-ides.md - learn_path: /docs/netdata-ai/mcp/mcp-clients/jetbrains-ides - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/cursor.md learn_path: /docs/netdata-ai/mcp/mcp-clients/cursor - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/claude-code.md learn_path: /docs/netdata-ai/mcp/mcp-clients/claude-code -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/ai-devops-copilot.md - learn_path: /docs/netdata-ai/mcp/mcp-clients +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/claude-desktop.md + learn_path: /docs/netdata-ai/mcp/mcp-clients/claude-desktop +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/jetbrains-ides.md + learn_path: /docs/netdata-ai/mcp/mcp-clients/jetbrains-ides +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/crush.md + learn_path: /docs/netdata-ai/mcp/mcp-clients/crush +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/opencode.md + learn_path: /docs/netdata-ai/mcp/mcp-clients/opencode - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/gemini-cli.md learn_path: /docs/netdata-ai/mcp/mcp-clients/gemini-cli -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/mcp/mcp-clients/codex-cli.md - learn_path: /docs/netdata-ai/mcp/mcp-clients/openai-codex-cli -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/troubleshooting/index.md - learn_path: /docs/netdata-ai/troubleshooting - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/investigations/custom-investigations.md learn_path: /docs/netdata-ai/investigations/custom-investigations -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/investigations/index.md - learn_path: /docs/netdata-ai/investigations - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/investigations/scheduled-investigations.md learn_path: /docs/netdata-ai/investigations/scheduled-investigations -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/insights/scheduled-reports.md - learn_path: /docs/netdata-ai/insights/scheduled-reports -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/insights/capacity-planning.md - learn_path: /docs/netdata-ai/insights/capacity-planning +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/investigations/index.md + learn_path: /docs/netdata-ai/investigations - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/insights/anomaly-analysis.md learn_path: /docs/netdata-ai/insights/anomaly-analysis +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/insights/capacity-planning.md + learn_path: /docs/netdata-ai/insights/capacity-planning - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/insights/infrastructure-summary.md learn_path: /docs/netdata-ai/insights/infrastructure-summary - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/insights/performance-optimization.md learn_path: /docs/netdata-ai/insights/performance-optimization -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/node-states-and-transitions.md - learn_path: /docs/netdata-cloud/node-states-and-transitions -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/view-plan-and-billing.md - learn_path: /docs/netdata-cloud/netdata-plans-&-billing -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/organize-your-infrastructure-invite-your-team.md - learn_path: /docs/netdata-cloud/spaces-and-rooms -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/node-rule-based-room-assignment.md - learn_path: /docs/netdata-cloud/spaces-and-rooms/node-rule-based-room-assignment -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/README.md - learn_path: /docs/netdata-cloud -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/authentication-and-authorization/enterprise-sso-authentication.md - learn_path: /docs/netdata-cloud/authentication-&-authorization/enterprise-sso-authentication -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/authentication-and-authorization/api-tokens.md - learn_path: /docs/netdata-cloud/authentication-&-authorization/api-tokens -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/authentication-and-authorization/role-based-access-model.md - learn_path: /docs/netdata-cloud/authentication-&-authorization/role-based-access-model -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/authentication-and-authorization/README.md - learn_path: /docs/netdata-cloud/authentication-&-authorization -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/exporting-metrics/enable-an-exporting-connector.md - learn_path: /docs/exporting-metrics/enable-an-exporting-connector -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/exporting-metrics/README.md - learn_path: /docs/exporting-metrics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/delete/netdata/account.md - learn_path: /docs/netdata-cloud/account-deletion -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/category-overview-pages/machine-learning-and-assisted-troubleshooting.md - learn_path: /docs/netdata-ai +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/insights/scheduled-reports.md + learn_path: /docs/netdata-ai/insights/scheduled-reports +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-ai/troubleshooting/index.md + learn_path: /docs/netdata-ai/troubleshooting +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/best-practices.md + learn_path: /docs/netdata-parents/parent-configuration-best-practices +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/logs-centralization-points-with-systemd-journald/README.md + learn_path: /docs/logs/logs-centralization-points-with-systemd-journald +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/logs-centralization-points-with-systemd-journald/passive-journal-centralization-without-encryption.md + learn_path: /docs/logs/logs-centralization-points-with-systemd-journald/passive-journal-centralization-without-encryption +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/logs-centralization-points-with-systemd-journald/passive-journal-centralization-with-encryption-using-self-signed-certificates.md + learn_path: /docs/logs/logs-centralization-points-with-systemd-journald/passive-journal-centralization-with-encryption-using-self-signed-certificates +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/metrics-centralization-points/replication-of-past-samples.md + learn_path: /docs/netdata-parents/metrics-centralization-points/replication-of-past-samples +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/metrics-centralization-points/README.md + learn_path: /docs/netdata-parents/metrics-centralization-points +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/metrics-centralization-points/configuration.md + learn_path: /docs/netdata-parents/metrics-centralization-points/configuring-metrics-centralization-points +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/metrics-centralization-points/faq.md + learn_path: /docs/netdata-parents/metrics-centralization-points/faq-on-metrics-centralization-points +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/observability-centralization-points/metrics-centralization-points/clustering-and-high-availability-of-netdata-parents.md + learn_path: /docs/netdata-parents/metrics-centralization-points/clustering-and-high-availability-of-netdata-parents - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/category-overview-pages/maintenance-operations-on-netdata-agents.md learn_path: /docs/netdata-agent/maintenance -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/troubleshooting/troubleshoot.md - learn_path: /docs/netdata-ai/troubleshooting/alert-troubleshooting +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/category-overview-pages/machine-learning-and-assisted-troubleshooting.md + learn_path: /docs/netdata-ai +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/running-through-cf-tunnels.md + learn_path: /docs/developer-and-contributor-corner/running-a-local-dashboard-through-cloudflare-tunnels +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/README.md + learn_path: /docs/developer-and-contributor-corner +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/collect-apache-nginx-web-logs.md + learn_path: /docs/developer-and-contributor-corner/monitor-nginx-or-apache-web-server-log-files-with-netdata +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/monitor-hadoop-cluster.md + learn_path: /docs/developer-and-contributor-corner/monitor-a-hadoop-cluster-with-netdata +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/collect-unbound-metrics.md + learn_path: /docs/developer-and-contributor-corner/monitor-unbound-dns-servers-with-netdata +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/style-guide.md + learn_path: /docs/developer-and-contributor-corner/contribute-to-the-documentation/netdata-style-guide +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/monitor-debug-applications-ebpf.md + learn_path: /docs/developer-and-contributor-corner/monitor-troubleshoot-and-debug-applications-with-ebpf-metrics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/build-the-netdata-agent-yourself.md + learn_path: /docs/developer-and-contributor-corner/build-the-netdata-agent-yourself +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/developer-and-contributor-corner/dyncfg.md + learn_path: /docs/developer-and-contributor-corner/dynamic-configuration - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/install/windows-release-channels.md learn_path: /docs/netdata-agent/installation/windows/switching-install-types-and-release-channels -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/retention-querying.md - learn_path: /docs/network-flows/retention-and-tiers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/troubleshooting/troubleshoot.md + learn_path: /docs/netdata-ai/troubleshooting/alert-troubleshooting +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/learn/unclaim-reclaim-node.md + learn_path: /docs/netdata-cloud/unclaim-and-reclaim-a-node +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/learn/switching-install-types.md + learn_path: /docs/netdata-agent/installation/linux/switch-install-types-and-release-channels +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/learn/vm-templates.md + learn_path: /docs/netdata-agent/vm-templates +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/learn/remove-node.md + learn_path: /docs/netdata-cloud/remove-agent +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/learn/node-identities.md + learn_path: /docs/netdata-agent/node-identities +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/ml-ai/anomaly-advisor.md + learn_path: /docs/netdata-ai/troubleshooting/anomaly-advisor +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/ml-ai/ai-insights.md + learn_path: /docs/netdata-ai/insights +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/ml-ai/ml-anomaly-detection/ml-accuracy.md + learn_path: /docs/netdata-ai/anomaly-detection/ml-accuracy +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/ml-ai/ml-anomaly-detection/ml-anomaly-detection.md + learn_path: /docs/netdata-ai/anomaly-detection +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/kubernetes-tab.md + learn_path: /docs/dashboards-and-charts/tabs/kubernetes +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/README.md + learn_path: /docs/dashboards-and-charts +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/logs-tab.md + learn_path: /docs/dashboards-and-charts/tabs/logs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/events-feed.md + learn_path: /docs/dashboards-and-charts/tabs/events +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/dashboards-tab.md + learn_path: /docs/dashboards-and-charts/tabs/dashboards +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/visualization-date-and-time-controls.md + learn_path: /docs/dashboards-and-charts/time-controls +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/import-export-print-snapshot.md + learn_path: /docs/developer-and-contributor-corner/import-export-and-print-a-snapshot +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/themes.md + learn_path: /docs/dashboards-and-charts/theme +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/nodes-tab.md + learn_path: /docs/dashboards-and-charts/tabs/nodes +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/alerts-tab.md + learn_path: /docs/dashboards-and-charts/tabs/alerts +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/home-tab.md + learn_path: /docs/dashboards-and-charts/tabs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/node-filter.md + learn_path: /docs/dashboards-and-charts/node-filter +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/anomaly-advisor-tab.md + learn_path: /docs/dashboards-and-charts/tabs/anomalies +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/netdata-charts.md + learn_path: /docs/dashboards-and-charts/charts +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/expanded-chart-analysis.md + learn_path: /docs/dashboards-and-charts/expanded-chart-analysis +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/live-tab.md + learn_path: /docs/dashboards-and-charts/tabs/live +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/dashboards-and-charts/metrics-tab-and-single-node-tabs.md + learn_path: /docs/dashboards-and-charts/tabs/metrics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/security-and-privacy-design/README.md + learn_path: /docs/security-and-privacy-design +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/security-and-privacy-design/netdata-cloud-security.md + learn_path: /docs/security-and-privacy-design/netdata-cloud +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/security-and-privacy-design/netdata-agent-security.md + learn_path: /docs/security-and-privacy-design/netdata-agent - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/enrichment.md learn_path: /docs/network-flows/enrichment -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/field-reference.md - learn_path: /docs/network-flows/field-reference -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/investigation-playbooks.md - learn_path: /docs/network-flows/investigation-playbooks +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/README.md + learn_path: /docs/network-flows +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/quick-start.md + learn_path: /docs/network-flows/quick-start - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/anti-patterns.md learn_path: /docs/network-flows/anti-patterns - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/installation.md learn_path: /docs/network-flows/installation -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/quick-start.md - learn_path: /docs/network-flows/quick-start +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/configuration.md + learn_path: /docs/network-flows/configuration - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/validation.md learn_path: /docs/network-flows/validation-and-data-quality +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/retention-querying.md + learn_path: /docs/network-flows/retention-and-tiers - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/troubleshooting.md learn_path: /docs/network-flows/troubleshooting -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/configuration.md - learn_path: /docs/network-flows/configuration -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/sizing-capacity.md - learn_path: /docs/network-flows/sizing-and-capacity-planning - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/intel-downloader.md learn_path: /docs/network-flows/enrichment-intel-downloader -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/README.md - learn_path: /docs/network-flows -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/visualization/time-series.md - learn_path: /docs/network-flows/visualization/time-series -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/visualization/dashboard-cards.md - learn_path: /docs/network-flows/visualization/plugin-health-charts -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/visualization/summary-sankey.md - learn_path: /docs/network-flows/visualization/sankey-and-table -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/visualization/filters-facets.md - learn_path: /docs/network-flows/visualization/filters-and-facets +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/sizing-capacity.md + learn_path: /docs/network-flows/sizing-and-capacity-planning +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/investigation-playbooks.md + learn_path: /docs/network-flows/investigation-playbooks +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/field-reference.md + learn_path: /docs/network-flows/field-reference - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/visualization/overview.md learn_path: /docs/network-flows/visualization - custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/visualization/maps-globe.md learn_path: /docs/network-flows/visualization/maps-and-globe -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/deployment-guides/deployment-strategies.md - learn_path: /docs/netdata-parents/configuration-examples -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/deployment-guides/deployment-with-centralization-points.md - learn_path: /docs/netdata-parents -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/deployment-guides/README.md - learn_path: /docs/netdata-agent/quickstart-deployment -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/deployment-guides/standalone-deployment.md - learn_path: /docs/netdata-agent -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/alerts-and-notifications/creating-alerts-with-netdata-alerts-configuration-manager.md - learn_path: /docs/alerts-&-notifications/creating-alerts-with-the-alerts-configuration-manager -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/alerts-and-notifications/notifications/README.md - learn_path: /docs/alerts-&-notifications/notifications -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/alerts-and-notifications/notifications/centralized-cloud-notifications/centralized-cloud-notifications-reference.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/centralized-cloud-notifications-reference -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/alerts-and-notifications/notifications/centralized-cloud-notifications/manage-alert-notification-silencing-rules.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/manage-alert-notification-silencing-rules -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/alerts-and-notifications/notifications/centralized-cloud-notifications/manage-notification-methods.md - learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/manage-notification-methods -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/learn/vm-templates.md - learn_path: /docs/netdata-agent/vm-templates -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/learn/switching-install-types.md - learn_path: /docs/netdata-agent/installation/linux/switch-install-types-and-release-channels -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/learn/node-identities.md - learn_path: /docs/netdata-agent/node-identities -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/learn/remove-node.md - learn_path: /docs/netdata-cloud/remove-agent -- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/learn/unclaim-reclaim-node.md - learn_path: /docs/netdata-cloud/unclaim-and-reclaim-a-node -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/claim/README.md - learn_path: /docs/netdata-cloud/connect-agent -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/plugins.d/FUNCTION_UI_DEVELOPER_GUIDE.md - learn_path: /docs/developer-and-contributor-corner/external-plugins/functions-developer-guide -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/plugins.d/README.md - learn_path: /docs/developer-and-contributor-corner/external-plugins -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/plugins.d/FUNCTION_UI_REFERENCE.md - learn_path: /docs/developer-and-contributor-corner/external-plugins/functions-v3-protocol-reference -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/exporters/shell/README.md - learn_path: /docs/exporting-metrics/shell-scripts -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/formatters/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/formatters -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/formatters/json/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/formatters/json-formatter -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/formatters/csv/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/formatters/csv-formatter -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/formatters/value/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/formatters/value-formatter -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/formatters/ssv/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/formatters/ssv-formatter -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/health/README.md - learn_path: /docs/alerts-&-notifications/health-api-calls -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/ses/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/single-or-simple-exponential-smoothing-ses -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/incremental_sum/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/incremental-sum-incremental_sum -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/countif/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/countif -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/max/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/max -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/median/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/median -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/average/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/average-or-mean -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/sum/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/sum -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/stddev/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/standard-deviation-stddev -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/des/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/double-exponential-smoothing -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/trimmed_mean/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/trimmed-mean -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/percentile/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/percentile -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/min/README.md - learn_path: /docs/developer-and-contributor-corner/rest-api/queries/min -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/server/README.md - learn_path: /docs/netdata-agent/configuration/securing-agents/web-server-reference -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/cli/README.md - learn_path: /docs/netdata-agent/agent-cli +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/visualization/summary-sankey.md + learn_path: /docs/network-flows/visualization/sankey-and-table +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/visualization/dashboard-cards.md + learn_path: /docs/network-flows/visualization/plugin-health-charts +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/visualization/filters-facets.md + learn_path: /docs/network-flows/visualization/filters-and-facets +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/network-flows/visualization/time-series.md + learn_path: /docs/network-flows/visualization/time-series +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/README.md + learn_path: /docs/netdata-cloud +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/organize-your-infrastructure-invite-your-team.md + learn_path: /docs/netdata-cloud/spaces-and-rooms +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/node-rule-based-room-assignment.md + learn_path: /docs/netdata-cloud/spaces-and-rooms/node-rule-based-room-assignment +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/view-plan-and-billing.md + learn_path: /docs/netdata-cloud/netdata-plans-&-billing +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/node-states-and-transitions.md + learn_path: /docs/netdata-cloud/node-states-and-transitions +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/authentication-and-authorization/README.md + learn_path: /docs/netdata-cloud/authentication-&-authorization +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/authentication-and-authorization/enterprise-sso-authentication.md + learn_path: /docs/netdata-cloud/authentication-&-authorization/enterprise-sso-authentication +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/authentication-and-authorization/role-based-access-model.md + learn_path: /docs/netdata-cloud/authentication-&-authorization/role-based-access-model +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-cloud/authentication-and-authorization/api-tokens.md + learn_path: /docs/netdata-cloud/authentication-&-authorization/api-tokens +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/exporting-metrics/enable-an-exporting-connector.md + learn_path: /docs/exporting-metrics/enable-an-exporting-connector +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/exporting-metrics/README.md + learn_path: /docs/exporting-metrics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/alerts-and-notifications/creating-alerts-with-netdata-alerts-configuration-manager.md + learn_path: /docs/alerts-&-notifications/creating-alerts-with-the-alerts-configuration-manager +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/alerts-and-notifications/notifications/README.md + learn_path: /docs/alerts-&-notifications/notifications +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/alerts-and-notifications/notifications/centralized-cloud-notifications/centralized-cloud-notifications-reference.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/centralized-cloud-notifications-reference +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/alerts-and-notifications/notifications/centralized-cloud-notifications/manage-alert-notification-silencing-rules.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/manage-alert-notification-silencing-rules +- custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/alerts-and-notifications/notifications/centralized-cloud-notifications/manage-notification-methods.md + learn_path: /docs/alerts-&-notifications/notifications/centralized-cloud-notifications/manage-notification-methods - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/ibm.d/modules/as400/README.md learn_path: /docs/collecting-metrics/collectors/operating-systems/ibm-i-as-400 +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/ibm.d/modules/mq/README.md + learn_path: /docs/collecting-metrics/collectors/applications/ibm-mq - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/ibm.d/modules/websphere/mp/README.md learn_path: /docs/collecting-metrics/collectors/applications/ibm-websphere-microprofile -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/ibm.d/modules/websphere/pmi/README.md - learn_path: /docs/collecting-metrics/collectors/applications/ibm-websphere-pmi - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/ibm.d/modules/websphere/jmx/README.md learn_path: /docs/collecting-metrics/collectors/applications/ibm-websphere-jmx +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/ibm.d/modules/websphere/pmi/README.md + learn_path: /docs/collecting-metrics/collectors/applications/ibm-websphere-pmi - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/ibm.d/modules/db2/README.md learn_path: /docs/collecting-metrics/collectors/databases/ibm-db2 -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/ibm.d/modules/mq/README.md - learn_path: /docs/collecting-metrics/collectors/applications/ibm-mq -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/agent/secrets/secretstore/backends/vault/README.md - learn_path: /docs/collecting-metrics/secrets-management/secret-stores/vault +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/agent/secrets/secretstore/backends/gcp/README.md + learn_path: /docs/collecting-metrics/secrets-management/secret-stores/google-secret-manager - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/agent/secrets/secretstore/backends/azure/README.md learn_path: /docs/collecting-metrics/secrets-management/secret-stores/azure-key-vault - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/agent/secrets/secretstore/backends/aws/README.md learn_path: /docs/collecting-metrics/secrets-management/secret-stores/aws-secrets-manager -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/agent/secrets/secretstore/backends/gcp/README.md - learn_path: /docs/collecting-metrics/secrets-management/secret-stores/google-secret-manager +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/agent/secrets/secretstore/backends/vault/README.md + learn_path: /docs/collecting-metrics/secrets-management/secret-stores/vault +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/scripts.d/collector/nagios/README.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/nagios-plugins-and-custom-scripts - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/README.md learn_path: /docs/developer-and-contributor-corner/external-plugins/go.d.plugin -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/uwsgi/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/uwsgi -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/isc_dhcpd/README.md - learn_path: /docs/collecting-metrics/collectors/networking/isc-dhcp -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/maxscale/README.md - learn_path: /docs/collecting-metrics/collectors/databases/maxscale -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/docker/README.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/docker -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/k8s_state/README.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/kubernetes-cluster-state +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/discovery/sdext/discoverer/dockersd/README.md + learn_path: /docs/collecting-metrics/service-discovery/docker +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/discovery/sdext/discoverer/httpsd/README.md + learn_path: /docs/collecting-metrics/service-discovery/http-endpoint +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/discovery/sdext/discoverer/netlistensd/README.md + learn_path: /docs/collecting-metrics/service-discovery/local-listening-processes +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/discovery/sdext/discoverer/snmpsd/README.md + learn_path: /docs/collecting-metrics/service-discovery/snmp +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/discovery/sdext/discoverer/k8ssd/README.md + learn_path: /docs/collecting-metrics/service-discovery/kubernetes +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/envoy/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/envoy +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/sql/README.md + learn_path: /docs/collecting-metrics/collectors/databases/sql-databases-generic +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/vcsa/README.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/vcenter-server-appliance +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/vsphere/README.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/vmware-vcenter-server +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/mongodb/README.md + learn_path: /docs/collecting-metrics/collectors/databases/mongodb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/monit/README.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/monit - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/logind/README.md learn_path: /docs/collecting-metrics/collectors/operating-systems/systemd-logind-users - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/powerdns_recursor/README.md learn_path: /docs/collecting-metrics/collectors/networking/powerdns-recursor -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/phpdaemon/README.md - learn_path: /docs/collecting-metrics/collectors/applications/phpdaemon -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/zfspool/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/zfs-pools -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/yugabytedb/README.md - learn_path: /docs/collecting-metrics/collectors/databases/yugabytedb -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/ntpd/README.md - learn_path: /docs/collecting-metrics/collectors/networking/ntpd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/scaleio/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/dell-emc-scaleio +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/openvpn/README.md + learn_path: /docs/collecting-metrics/collectors/networking/openvpn +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/hdfs/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/hadoop-distributed-file-system-hdfs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/phpfpm/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/php-fpm +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/uwsgi/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/uwsgi +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/litespeed/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/litespeed +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/openldap/README.md + learn_path: /docs/collecting-metrics/collectors/applications/openldap +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nsd/README.md + learn_path: /docs/collecting-metrics/collectors/networking/nsd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dovecot/README.md + learn_path: /docs/collecting-metrics/collectors/applications/dovecot +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/powervault/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/dell-powervault-me4-me5 +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/ap/README.md + learn_path: /docs/collecting-metrics/collectors/networking/access-points +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/cato_networks/README.md + learn_path: /docs/collecting-metrics/collectors/networking/cato-networks - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/w1sensor/README.md learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/1-wire-sensors -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/mssql/README.md - learn_path: /docs/collecting-metrics/collectors/databases/microsoft-sql-server -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dnsmasq_dhcp/README.md - learn_path: /docs/collecting-metrics/collectors/networking/dnsmasq-dhcp -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nats/README.md - learn_path: /docs/collecting-metrics/collectors/databases/nats -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/cockroachdb/README.md - learn_path: /docs/collecting-metrics/collectors/databases/cockroachdb -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nginxplus/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/nginx-plus - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dmcache/README.md learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/dmcache-devices -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/apache/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/apache -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/apache/integrations/httpd.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/httpd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/redis/README.md - learn_path: /docs/collecting-metrics/collectors/databases/redis -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/icecast/README.md - learn_path: /docs/collecting-metrics/collectors/applications/icecast -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/powerdns/README.md - learn_path: /docs/collecting-metrics/collectors/networking/powerdns-authoritative-server -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/sql/README.md - learn_path: /docs/collecting-metrics/collectors/databases/sql-databases-generic +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/lvm/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/lvm-logical-volumes +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nginx/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/nginx +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/tor/README.md + learn_path: /docs/collecting-metrics/collectors/networking/tor +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/panos/README.md + learn_path: /docs/collecting-metrics/collectors/networking/palo-alto-networks-pan-os +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dockerhub/README.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/docker-hub-repository +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/tengine/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/tengine +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dnsmasq_dhcp/README.md + learn_path: /docs/collecting-metrics/collectors/networking/dnsmasq-dhcp +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/yugabytedb/README.md + learn_path: /docs/collecting-metrics/collectors/databases/yugabytedb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/phpdaemon/README.md + learn_path: /docs/collecting-metrics/collectors/applications/phpdaemon +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/rabbitmq/README.md + learn_path: /docs/collecting-metrics/collectors/databases/rabbitmq +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/systemdunits/README.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/systemd-units +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/smartctl/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/s.m.a.r.t. +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/ceph/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ceph +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/squidlog/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/squid-log-files +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/traefik/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/traefik +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/rspamd/README.md + learn_path: /docs/collecting-metrics/collectors/applications/rspamd - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/intelgpu/README.md learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/intel-gpu -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/vernemq/README.md - learn_path: /docs/collecting-metrics/collectors/databases/vernemq -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/pihole/README.md - learn_path: /docs/collecting-metrics/collectors/networking/pi-hole -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/hddtemp/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/hdd-temperature -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/hpssa/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/hpe-smart-arrays -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/adaptecraid/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/adaptec-raid -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/postgres/README.md - learn_path: /docs/collecting-metrics/collectors/databases/postgresql -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/oracledb/README.md - learn_path: /docs/collecting-metrics/collectors/databases/oracle-db -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/exim/README.md - learn_path: /docs/collecting-metrics/collectors/applications/exim -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/boinc/README.md - learn_path: /docs/collecting-metrics/collectors/applications/boinc -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/apcupsd/README.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/apc-ups +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/ethtool/README.md + learn_path: /docs/collecting-metrics/collectors/networking/optical-modules +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/typesense/README.md + learn_path: /docs/collecting-metrics/collectors/databases/typesense +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/couchbase/README.md + learn_path: /docs/collecting-metrics/collectors/databases/couchbase +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/redis/README.md + learn_path: /docs/collecting-metrics/collectors/databases/redis +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/ipfs/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ipfs - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/ping/README.md learn_path: /docs/collecting-metrics/collectors/synthetic-testing/ping -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/wireguard/README.md - learn_path: /docs/collecting-metrics/collectors/networking/wireguard -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/rspamd/README.md - learn_path: /docs/collecting-metrics/collectors/applications/rspamd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/proxysql/README.md - learn_path: /docs/collecting-metrics/collectors/databases/proxysql -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/profile-format.md - learn_path: /docs/collecting-metrics/snmp-profile-format -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/README.md - learn_path: /docs/collecting-metrics/collectors/networking/snmp-devices -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/upsd/README.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/ups-nut -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nvidia_smi/README.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/nvidia-gpu -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/lighttpd/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/lighttpd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/storcli/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/storecli-raid -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/rethinkdb/README.md - learn_path: /docs/collecting-metrics/collectors/databases/rethinkdb -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/rabbitmq/README.md - learn_path: /docs/collecting-metrics/collectors/databases/rabbitmq -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dnsdist/README.md - learn_path: /docs/collecting-metrics/collectors/networking/dnsdist -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/elasticsearch/README.md - learn_path: /docs/collecting-metrics/collectors/databases/elasticsearch -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/elasticsearch/integrations/opensearch.md - learn_path: /docs/collecting-metrics/collectors/databases/opensearch -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/haproxy/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/haproxy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/clickhouse/README.md - learn_path: /docs/collecting-metrics/collectors/databases/clickhouse -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/openldap/README.md - learn_path: /docs/collecting-metrics/collectors/applications/openldap -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nginxunit/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/nginx-unit -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/ceph/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ceph -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_functions.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-functions -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_mysql_flexible_server.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-mysql-flexible-server -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_storage_account.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-storage-account -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_data_explorer_cluster.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-data-explorer-cluster -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_cognitive_services.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-cognitive-services -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_sql_elastic_pool.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-sql-elastic-pool -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_container_apps.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-container-apps -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_kubernetes_service_cluster.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-kubernetes-service-cluster -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_event_grid_topic.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-event-grid-topic -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_app_service.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-app-service -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_postgresql_flexible_server.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-postgresql-flexible-server -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_virtual_machine.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-virtual-machine -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_container_instances.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-container-instances -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_firewall.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-firewall -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_sql_database.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-sql-database -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_container_registry.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-container-registry -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_key_vault.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-key-vault -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_expressroute_gateway.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-expressroute-gateway -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_monitor.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-monitor -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_log_analytics_workspace.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-log-analytics-workspace -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_nat_gateway.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-nat-gateway -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_front_door.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-front-door -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_load_balancer.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-load-balancer -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_api_management.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-api-management -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_synapse_analytics_workspace.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-synapse-analytics-workspace -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_vpn_gateway.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-vpn-gateway -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_data_factory.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-data-factory -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_event_hubs_namespace.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-event-hubs-namespace -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_cache_for_redis.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-cache-for-redis -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_cosmos_db_account.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-cosmos-db-account -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_virtual_machine_scale_set.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-virtual-machine-scale-set -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_logic_apps_workflow.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-logic-apps-workflow -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_application_gateway.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-application-gateway -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_iot_hub.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-iot-hub -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_machine_learning_workspace.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-machine-learning-workspace -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_sql_managed_instance.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-sql-managed-instance -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_expressroute_circuit.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-expressroute-circuit -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_service_bus_namespace.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-service-bus-namespace -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_application_insights.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-application-insights -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_stream_analytics_job.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-stream-analytics-job -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/docker_engine/README.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/docker-engine -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nginx/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/nginx -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/k8s_kubelet/README.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/kubelet -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/phpfpm/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/php-fpm -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/vcsa/README.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/vcenter-server-appliance -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/tor/README.md - learn_path: /docs/collecting-metrics/collectors/networking/tor -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dockerhub/README.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/docker-hub-repository -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/squidlog/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/squid-log-files -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/tomcat/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/tomcat -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/x509check/README.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/x.509-certificate -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/puppet/README.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/puppet -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/vsphere/README.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/vmware-vcenter-server -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/portcheck/README.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/tcp-udp-endpoints -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/pgbouncer/README.md - learn_path: /docs/collecting-metrics/collectors/databases/pgbouncer -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/litespeed/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/litespeed -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/httpcheck/README.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/http-endpoints -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/monit/README.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/monit -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/freeradius/README.md - learn_path: /docs/collecting-metrics/collectors/applications/freeradius -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/openvpn/README.md - learn_path: /docs/collecting-metrics/collectors/networking/openvpn -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/samba/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/samba -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dnsmasq/README.md - learn_path: /docs/collecting-metrics/collectors/networking/dnsmasq -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/hdfs/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/hadoop-distributed-file-system-hdfs -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/mysql/README.md - learn_path: /docs/collecting-metrics/collectors/databases/mysql -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/mysql/integrations/percona_mysql.md - learn_path: /docs/collecting-metrics/collectors/databases/percona-mysql -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/mysql/integrations/mariadb.md - learn_path: /docs/collecting-metrics/collectors/databases/mariadb -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/scaleio/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/dell-emc-scaleio -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/lvm/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/lvm-logical-volumes -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/panos/README.md - learn_path: /docs/collecting-metrics/collectors/networking/palo-alto-networks-pan-os -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/whoisquery/README.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/domain-expiration-date -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/ipfs/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ipfs -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/traefik/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/traefik -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/activemq/README.md - learn_path: /docs/collecting-metrics/collectors/databases/activemq -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/systemdunits/README.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/systemd-units -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/geth/README.md - learn_path: /docs/collecting-metrics/collectors/applications/go-ethereum -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/memcached/README.md - learn_path: /docs/collecting-metrics/collectors/databases/memcached -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dovecot/README.md - learn_path: /docs/collecting-metrics/collectors/applications/dovecot -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/cato_networks/README.md - learn_path: /docs/collecting-metrics/collectors/networking/cato-networks -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/filecheck/README.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/files-and-directories -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/couchdb/README.md - learn_path: /docs/collecting-metrics/collectors/databases/couchdb -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/weblog/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/web-server-log-files -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/fluentd/README.md - learn_path: /docs/collecting-metrics/collectors/applications/fluentd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/docker/README.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/docker - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/beanstalk/README.md learn_path: /docs/collecting-metrics/collectors/databases/beanstalk -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/logstash/README.md - learn_path: /docs/collecting-metrics/collectors/applications/logstash -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/sensors/README.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/linux-sensors -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/k8s_kubeproxy/README.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/kubeproxy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/typesense/README.md - learn_path: /docs/collecting-metrics/collectors/databases/typesense -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dcgm/README.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/nvidia-data-center-gpu-manager-dcgm -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/smartctl/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/s.m.a.r.t. -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/zookeeper/README.md - learn_path: /docs/collecting-metrics/collectors/applications/zookeeper -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nsd/README.md - learn_path: /docs/collecting-metrics/collectors/networking/nsd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dnsquery/README.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/dns-query -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/pulsar/README.md - learn_path: /docs/collecting-metrics/collectors/databases/apache-pulsar -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/spigotmc/README.md - learn_path: /docs/collecting-metrics/collectors/applications/spigotmc -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/unbound/README.md - learn_path: /docs/collecting-metrics/collectors/networking/unbound -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/consul/README.md - learn_path: /docs/collecting-metrics/collectors/applications/consul -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/riakkv/README.md - learn_path: /docs/collecting-metrics/collectors/databases/riak-kv -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nginxvts/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/nginx-vts -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/ethtool/README.md - learn_path: /docs/collecting-metrics/collectors/networking/optical-modules -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/postfix/README.md - learn_path: /docs/collecting-metrics/collectors/applications/postfix -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/openvpn_status_log/README.md - learn_path: /docs/collecting-metrics/collectors/networking/openvpn-status-log -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/varnish/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/varnish -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/envoy/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/envoy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/supervisord/README.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/supervisor -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/megacli/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/megacli-megaraid -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/squid/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/squid -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/pika/README.md - learn_path: /docs/collecting-metrics/collectors/databases/pika -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/tengine/README.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/tengine -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/fail2ban/README.md - learn_path: /docs/collecting-metrics/collectors/applications/fail2ban -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/powerstore/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/dell-powerstore -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/ap/README.md - learn_path: /docs/collecting-metrics/collectors/networking/access-points -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/gearman/README.md - learn_path: /docs/collecting-metrics/collectors/applications/gearman -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/coredns/README.md - learn_path: /docs/collecting-metrics/collectors/networking/coredns -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/k8s_apiserver/README.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/kubernetes-api-server -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/powervault/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/dell-powervault-me4-me5 -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nvme/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/nvme-devices -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/couchbase/README.md - learn_path: /docs/collecting-metrics/collectors/databases/couchbase +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dnsmasq/README.md + learn_path: /docs/collecting-metrics/collectors/networking/dnsmasq - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/README.md learn_path: /docs/collecting-metrics/collectors/applications/prometheus-endpoint -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/nrpe_daemon.md - learn_path: /docs/collecting-metrics/collectors/applications/nrpe-daemon +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/podman.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/podman +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/crowdsec.md + learn_path: /docs/collecting-metrics/collectors/applications/crowdsec +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/clamav_daemon.md + learn_path: /docs/collecting-metrics/collectors/applications/clamav-daemon +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/yourls_url_shortener.md + learn_path: /docs/collecting-metrics/collectors/applications/yourls-url-shortener +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/salicru_eqx_inverter.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/salicru-eqx-inverter +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/patroni.md + learn_path: /docs/collecting-metrics/collectors/databases/patroni +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/aws_quota.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/aws-quota +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/dynatrace.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/dynatrace +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/steam.md + learn_path: /docs/collecting-metrics/collectors/applications/steam +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ripe_atlas.md + learn_path: /docs/collecting-metrics/collectors/networking/ripe-atlas +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/openrc.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/openrc +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/jenkins.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/jenkins +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sma_inverters.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/sma-inverters +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/gcp_gce.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/gcp-gce +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/strongswan.md + learn_path: /docs/collecting-metrics/collectors/networking/strongswan +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/dmarc.md + learn_path: /docs/collecting-metrics/collectors/applications/dmarc - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/fastd.md learn_path: /docs/collecting-metrics/collectors/networking/fastd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/siemens_s7_plc.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/siemens-s7-plc -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/shelly_humidity_sensor.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/shelly-humidity-sensor -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/jmx.md - learn_path: /docs/collecting-metrics/collectors/applications/jmx -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/powerpal_devices.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/powerpal-devices -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/aws_rds.md - learn_path: /docs/collecting-metrics/collectors/databases/aws-rds -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/google_cloud_platform.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/google-cloud-platform -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sunspec_solar_energy.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/sunspec-solar-energy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sphinx.md - learn_path: /docs/collecting-metrics/collectors/databases/sphinx -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/blackbox.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/blackbox -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/hubble.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/hubble -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ibm_cryptoexpress_cex_cards.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/ibm-cryptoexpress-cex-cards -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/solis_ginlong_5g_inverters.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/solis-ginlong-5g-inverters -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/pimoroni_enviro+.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/pimoroni-enviro+ +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/openroadm_devices.md + learn_path: /docs/collecting-metrics/collectors/networking/openroadm-devices +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ibm_z_hardware_management_console.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/ibm-z-hardware-management-console +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/tankerkoenig_api.md + learn_path: /docs/collecting-metrics/collectors/applications/tankerkoenig-api - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ibm_spectrum.md learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ibm-spectrum -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cilium_operator.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/cilium-operator -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/radio_thermostat.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/radio-thermostat -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/frrouting.md - learn_path: /docs/collecting-metrics/collectors/networking/frrouting -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/freifunk_network.md - learn_path: /docs/collecting-metrics/collectors/networking/freifunk-network -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/clamscan_results.md - learn_path: /docs/collecting-metrics/collectors/applications/clamscan-results -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/pgpool-ii.md - learn_path: /docs/collecting-metrics/collectors/databases/pgpool-ii -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/patroni.md - learn_path: /docs/collecting-metrics/collectors/databases/patroni +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/vertica.md + learn_path: /docs/collecting-metrics/collectors/databases/vertica +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/github_repository.md + learn_path: /docs/collecting-metrics/collectors/applications/github-repository +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sabnzbd.md + learn_path: /docs/collecting-metrics/collectors/applications/sabnzbd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/kafka_zookeeper.md + learn_path: /docs/collecting-metrics/collectors/databases/kafka-zookeeper +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/dutch_electricity_smart_meter.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/dutch-electricity-smart-meter +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/freebsd_nfs.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/freebsd-nfs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/spacelift.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/spacelift +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/solar_logging_stick.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/solar-logging-stick +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/grafana.md + learn_path: /docs/collecting-metrics/collectors/applications/grafana +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/4d_server.md + learn_path: /docs/collecting-metrics/collectors/databases/4d-server +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/blackbox.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/blackbox +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/nrpe_daemon.md + learn_path: /docs/collecting-metrics/collectors/applications/nrpe-daemon +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/honeypot.md + learn_path: /docs/collecting-metrics/collectors/applications/honeypot +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/craftbeerpi.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/craftbeerpi +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/radius.md + learn_path: /docs/collecting-metrics/collectors/applications/radius +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/elgato_key_light_devices..md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/elgato-key-light-devices. +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/redis_queue.md + learn_path: /docs/collecting-metrics/collectors/databases/redis-queue - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cilium_agent.md learn_path: /docs/collecting-metrics/collectors/containers-and-vms/cilium-agent -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/vault_pki.md - learn_path: /docs/collecting-metrics/collectors/applications/vault-pki +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/linode.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/linode +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/bosh.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/bosh +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/personal_weather_station.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/personal-weather-station +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/gpsd.md + learn_path: /docs/collecting-metrics/collectors/applications/gpsd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sonic_nos.md + learn_path: /docs/collecting-metrics/collectors/networking/sonic-nos - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/warp10.md learn_path: /docs/collecting-metrics/collectors/databases/warp10 -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/openrc.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/openrc -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/radius.md - learn_path: /docs/collecting-metrics/collectors/applications/radius -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/christ_elektronik_clm5ip_power_panel.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/christ-elektronik-clm5ip-power-panel -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/storidge.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/storidge -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/xiaomi_mi_flora.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/xiaomi-mi-flora +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/8430ft_modem.md + learn_path: /docs/collecting-metrics/collectors/networking/8430ft-modem +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/generic_storage_enclosure_tool.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/generic-storage-enclosure-tool +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/bird_routing_daemon.md + learn_path: /docs/collecting-metrics/collectors/networking/bird-routing-daemon +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/concourse.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/concourse +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/shelly_humidity_sensor.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/shelly-humidity-sensor - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/collectd.md learn_path: /docs/collecting-metrics/collectors/applications/collectd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/keepalived.md - learn_path: /docs/collecting-metrics/collectors/networking/keepalived -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ibm_z_hardware_management_console.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/ibm-z-hardware-management-console -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/dynatrace.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/dynatrace -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/discourse.md - learn_path: /docs/collecting-metrics/collectors/applications/discourse -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/google_stackdriver.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/google-stackdriver -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/openroadm_devices.md - learn_path: /docs/collecting-metrics/collectors/networking/openroadm-devices -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/netatmo_sensors.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/netatmo-sensors - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sysload.md learn_path: /docs/collecting-metrics/collectors/applications/sysload -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/site_24x7.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/site-24x7 -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ibm_mq.md - learn_path: /docs/collecting-metrics/collectors/databases/ibm-mq -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/clamav_daemon.md - learn_path: /docs/collecting-metrics/collectors/applications/clamav-daemon -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/scylladb.md - learn_path: /docs/collecting-metrics/collectors/databases/scylladb -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/energomera_smart_power_meters.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/energomera-smart-power-meters +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/influxdb.md + learn_path: /docs/collecting-metrics/collectors/databases/influxdb - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/mqtt_blackbox.md learn_path: /docs/collecting-metrics/collectors/synthetic-testing/mqtt-blackbox -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/github_repository.md - learn_path: /docs/collecting-metrics/collectors/applications/github-repository -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/nature_remo_e_lite_devices.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/nature-remo-e-lite-devices +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/site_24x7.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/site-24x7 +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/aws_rds.md + learn_path: /docs/collecting-metrics/collectors/databases/aws-rds +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cloudwatch.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/cloudwatch +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cryptowatch.md + learn_path: /docs/collecting-metrics/collectors/applications/cryptowatch +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/aws_ec2_compute_instances.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/aws-ec2-compute-instances +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/gobetween.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/gobetween +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/hubble.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/hubble +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sphinx.md + learn_path: /docs/collecting-metrics/collectors/databases/sphinx +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/proxmox_ve.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/proxmox-ve - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/tesla_wall_connector.md learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/tesla-wall-connector -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/redis_queue.md - learn_path: /docs/collecting-metrics/collectors/databases/redis-queue -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/freebsd_rctl-racct.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/freebsd-rctl-racct -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sma_inverters.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/sma-inverters -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/salicru_eqx_inverter.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/salicru-eqx-inverter -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/open_vswitch.md - learn_path: /docs/collecting-metrics/collectors/networking/open-vswitch -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cilium_proxy.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/cilium-proxy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/mosquitto.md - learn_path: /docs/collecting-metrics/collectors/databases/mosquitto - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/graylog_server.md learn_path: /docs/collecting-metrics/collectors/applications/graylog-server -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/8430ft_modem.md - learn_path: /docs/collecting-metrics/collectors/networking/8430ft-modem -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/synology_activebackup.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/synology-activebackup -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/kafka.md - learn_path: /docs/collecting-metrics/collectors/databases/kafka +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/proftpd.md + learn_path: /docs/collecting-metrics/collectors/applications/proftpd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/clash.md + learn_path: /docs/collecting-metrics/collectors/networking/clash +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/alamos_fe2_server.md + learn_path: /docs/collecting-metrics/collectors/applications/alamos-fe2-server +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/mesos.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/mesos +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/lustre_metadata.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/lustre-metadata +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/vscode.md + learn_path: /docs/collecting-metrics/collectors/applications/vscode - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ubiquiti_ufiber_olt.md learn_path: /docs/collecting-metrics/collectors/networking/ubiquiti-ufiber-olt -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cloud_foundry_firehose.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/cloud-foundry-firehose -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/personal_weather_station.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/personal-weather-station -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/dmarc.md - learn_path: /docs/collecting-metrics/collectors/applications/dmarc -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/jarvis_standing_desk.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/jarvis-standing-desk -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/lynis_audit_reports.md - learn_path: /docs/collecting-metrics/collectors/applications/lynis-audit-reports -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/kafka_consumer_lag.md - learn_path: /docs/collecting-metrics/collectors/databases/kafka-consumer-lag -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/4d_server.md - learn_path: /docs/collecting-metrics/collectors/databases/4d-server +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/discourse.md + learn_path: /docs/collecting-metrics/collectors/applications/discourse +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/solis_ginlong_5g_inverters.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/solis-ginlong-5g-inverters +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/scylladb.md + learn_path: /docs/collecting-metrics/collectors/databases/scylladb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/tado_smart_heating_solution.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/tado-smart-heating-solution - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/openweathermap.md learn_path: /docs/collecting-metrics/collectors/applications/openweathermap -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/smart_meters_sml.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/smart-meters-sml -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/apicast.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/apicast -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sabnzbd.md - learn_path: /docs/collecting-metrics/collectors/applications/sabnzbd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/suricata.md - learn_path: /docs/collecting-metrics/collectors/applications/suricata -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/meilisearch.md - learn_path: /docs/collecting-metrics/collectors/databases/meilisearch -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/homebridge.md - learn_path: /docs/collecting-metrics/collectors/applications/homebridge -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/generic_storage_enclosure_tool.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/generic-storage-enclosure-tool +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/github_api_rate_limit.md + learn_path: /docs/collecting-metrics/collectors/applications/github-api-rate-limit - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/softether_vpn_server.md learn_path: /docs/collecting-metrics/collectors/networking/softether-vpn-server -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/gobetween.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/gobetween -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/mtail.md - learn_path: /docs/collecting-metrics/collectors/applications/mtail -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/proftpd.md - learn_path: /docs/collecting-metrics/collectors/applications/proftpd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/chia.md - learn_path: /docs/collecting-metrics/collectors/applications/chia -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/minecraft.md - learn_path: /docs/collecting-metrics/collectors/applications/minecraft -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/vertica.md - learn_path: /docs/collecting-metrics/collectors/databases/vertica -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/homey.md - learn_path: /docs/collecting-metrics/collectors/applications/homey -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/eos.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/eos -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/freebsd_nfs.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/freebsd-nfs - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/hana.md learn_path: /docs/collecting-metrics/collectors/databases/hana -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/podman.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/podman -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ibm_spectrum_virtualize.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ibm-spectrum-virtualize -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/bird_routing_daemon.md - learn_path: /docs/collecting-metrics/collectors/networking/bird-routing-daemon -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/etcd.md - learn_path: /docs/collecting-metrics/collectors/applications/etcd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cloud_foundry.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/cloud-foundry -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/amd_cpu_&_gpu.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/amd-cpu-&-gpu -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/grafana.md - learn_path: /docs/collecting-metrics/collectors/applications/grafana -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/statuspage.md - learn_path: /docs/collecting-metrics/collectors/applications/statuspage -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/gpsd.md - learn_path: /docs/collecting-metrics/collectors/applications/gpsd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/bosh.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/bosh -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/twitch.md - learn_path: /docs/collecting-metrics/collectors/applications/twitch -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/tankerkoenig_api.md - learn_path: /docs/collecting-metrics/collectors/applications/tankerkoenig-api -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/strongswan.md - learn_path: /docs/collecting-metrics/collectors/networking/strongswan -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/journald.md - learn_path: /docs/collecting-metrics/collectors/applications/journald -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/gcp_gce.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/gcp-gce -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/kannel.md - learn_path: /docs/collecting-metrics/collectors/applications/kannel -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/gitlab_runner.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/gitlab-runner -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/github_api_rate_limit.md - learn_path: /docs/collecting-metrics/collectors/applications/github-api-rate-limit -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/steam.md - learn_path: /docs/collecting-metrics/collectors/applications/steam -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/tado_smart_heating_solution.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/tado-smart-heating-solution -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/bungeecord.md - learn_path: /docs/collecting-metrics/collectors/applications/bungeecord -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ibm_aix_systems_njmon.md - learn_path: /docs/collecting-metrics/collectors/applications/ibm-aix-systems-njmon -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/starlink_spacex.md - learn_path: /docs/collecting-metrics/collectors/networking/starlink-spacex -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/craftbeerpi.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/craftbeerpi -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/slurm.md - learn_path: /docs/collecting-metrics/collectors/applications/slurm -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/dutch_electricity_smart_meter.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/dutch-electricity-smart-meter -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/kafka_zookeeper.md - learn_path: /docs/collecting-metrics/collectors/databases/kafka-zookeeper +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/clustercontrol_cmon.md + learn_path: /docs/collecting-metrics/collectors/databases/clustercontrol-cmon +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/freifunk_network.md + learn_path: /docs/collecting-metrics/collectors/networking/freifunk-network +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/uptimerobot.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/uptimerobot +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cloud_foundry.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/cloud-foundry +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/twitch.md + learn_path: /docs/collecting-metrics/collectors/applications/twitch +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/hitron_coda_cable_modem.md + learn_path: /docs/collecting-metrics/collectors/networking/hitron-coda-cable-modem +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/christ_elektronik_clm5ip_power_panel.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/christ-elektronik-clm5ip-power-panel +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/freebsd_rctl-racct.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/freebsd-rctl-racct +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sunspec_solar_energy.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/sunspec-solar-energy +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cilium_proxy.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/cilium-proxy +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/zerto.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/zerto +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/philips_hue.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/philips-hue +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/kafka.md + learn_path: /docs/collecting-metrics/collectors/databases/kafka +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/open_vswitch.md + learn_path: /docs/collecting-metrics/collectors/networking/open-vswitch +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/google_stackdriver.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/google-stackdriver - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/loki.md learn_path: /docs/collecting-metrics/collectors/applications/loki +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/statuspage.md + learn_path: /docs/collecting-metrics/collectors/applications/statuspage +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/etcd.md + learn_path: /docs/collecting-metrics/collectors/applications/etcd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/lynis_audit_reports.md + learn_path: /docs/collecting-metrics/collectors/applications/lynis-audit-reports +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/jarvis_standing_desk.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/jarvis-standing-desk +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/nextcloud_servers.md + learn_path: /docs/collecting-metrics/collectors/applications/nextcloud-servers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/jmx.md + learn_path: /docs/collecting-metrics/collectors/applications/jmx +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/siemens_s7_plc.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/siemens-s7-plc +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/radio_thermostat.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/radio-thermostat +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/smart_meters_sml.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/smart-meters-sml +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/chia.md + learn_path: /docs/collecting-metrics/collectors/applications/chia +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/storidge.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/storidge - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/obs_studio.md learn_path: /docs/collecting-metrics/collectors/applications/obs-studio -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/uptimerobot.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/uptimerobot -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/yourls_url_shortener.md - learn_path: /docs/collecting-metrics/collectors/applications/yourls-url-shortener -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/vscode.md - learn_path: /docs/collecting-metrics/collectors/applications/vscode +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/kannel.md + learn_path: /docs/collecting-metrics/collectors/applications/kannel +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/xiaomi_mi_flora.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/xiaomi-mi-flora +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/starlink_spacex.md + learn_path: /docs/collecting-metrics/collectors/networking/starlink-spacex +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/minecraft.md + learn_path: /docs/collecting-metrics/collectors/applications/minecraft +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sense_energy.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/sense-energy - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/halon.md learn_path: /docs/collecting-metrics/collectors/applications/halon -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/influxdb.md - learn_path: /docs/collecting-metrics/collectors/databases/influxdb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/journald.md + learn_path: /docs/collecting-metrics/collectors/applications/journald +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ibm_spectrum_virtualize.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ibm-spectrum-virtualize +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/homebridge.md + learn_path: /docs/collecting-metrics/collectors/applications/homebridge +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/modbus_protocol.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/modbus-protocol +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/dnsbl.md + learn_path: /docs/collecting-metrics/collectors/networking/dnsbl +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/eos.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/eos +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/tesla_vehicle.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/tesla-vehicle +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/google_cloud_platform.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/google-cloud-platform +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/tacacs.md + learn_path: /docs/collecting-metrics/collectors/applications/tacacs - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/pgbackrest.md learn_path: /docs/collecting-metrics/collectors/databases/pgbackrest -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cloudwatch.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/cloudwatch -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/philips_hue.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/philips-hue -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sense_energy.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/sense-energy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/hitron_coda_cable_modem.md - learn_path: /docs/collecting-metrics/collectors/networking/hitron-coda-cable-modem - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/authlog.md learn_path: /docs/collecting-metrics/collectors/applications/authlog -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cryptowatch.md - learn_path: /docs/collecting-metrics/collectors/applications/cryptowatch -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/honeypot.md - learn_path: /docs/collecting-metrics/collectors/applications/honeypot -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/alamos_fe2_server.md - learn_path: /docs/collecting-metrics/collectors/applications/alamos-fe2-server -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/netapp_ontap_api.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/netapp-ontap-api -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/dnsbl.md - learn_path: /docs/collecting-metrics/collectors/networking/dnsbl -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/celery.md - learn_path: /docs/collecting-metrics/collectors/applications/celery +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/amd_cpu_&_gpu.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/amd-cpu-&-gpu +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/clamscan_results.md + learn_path: /docs/collecting-metrics/collectors/applications/clamscan-results +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cloud_foundry_firehose.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/cloud-foundry-firehose - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/netapp_solidfire.md learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/netapp-solidfire +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/slurm.md + learn_path: /docs/collecting-metrics/collectors/applications/slurm +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cilium_operator.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/cilium-operator +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/synology_activebackup.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/synology-activebackup +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/frrouting.md + learn_path: /docs/collecting-metrics/collectors/networking/frrouting +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/mtail.md + learn_path: /docs/collecting-metrics/collectors/applications/mtail +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/raritan_pdu.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/raritan-pdu +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/kafka_consumer_lag.md + learn_path: /docs/collecting-metrics/collectors/databases/kafka-consumer-lag - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/mogilefs.md learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/mogilefs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ibm_aix_systems_njmon.md + learn_path: /docs/collecting-metrics/collectors/applications/ibm-aix-systems-njmon +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/bungeecord.md + learn_path: /docs/collecting-metrics/collectors/applications/bungeecord +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/vault_pki.md + learn_path: /docs/collecting-metrics/collectors/applications/vault-pki +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/mosquitto.md + learn_path: /docs/collecting-metrics/collectors/databases/mosquitto +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/keepalived.md + learn_path: /docs/collecting-metrics/collectors/networking/keepalived +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ibm_cryptoexpress_cex_cards.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/ibm-cryptoexpress-cex-cards +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/meilisearch.md + learn_path: /docs/collecting-metrics/collectors/databases/meilisearch +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/pgpool-ii.md + learn_path: /docs/collecting-metrics/collectors/databases/pgpool-ii +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/netatmo_sensors.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/netatmo-sensors +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/gitlab_runner.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/gitlab-runner +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/homey.md + learn_path: /docs/collecting-metrics/collectors/applications/homey +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/energomera_smart_power_meters.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/energomera-smart-power-meters - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/nextdns.md learn_path: /docs/collecting-metrics/collectors/networking/nextdns - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/google_pagespeed.md learn_path: /docs/collecting-metrics/collectors/applications/google-pagespeed -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/sonic_nos.md - learn_path: /docs/collecting-metrics/collectors/networking/sonic-nos -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/crowdsec.md - learn_path: /docs/collecting-metrics/collectors/applications/crowdsec -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/elgato_key_light_devices..md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/elgato-key-light-devices. -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/mesos.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/mesos -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/raritan_pdu.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/raritan-pdu -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/aws_quota.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/aws-quota -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/jenkins.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/jenkins -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/modbus_protocol.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/modbus-protocol -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/linode.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/linode -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/proxmox_ve.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/proxmox-ve -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/spacelift.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/spacelift -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/nextcloud_servers.md - learn_path: /docs/collecting-metrics/collectors/applications/nextcloud-servers -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/tacacs.md - learn_path: /docs/collecting-metrics/collectors/applications/tacacs -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/clustercontrol_cmon.md - learn_path: /docs/collecting-metrics/collectors/databases/clustercontrol-cmon -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/lustre_metadata.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/lustre-metadata -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ripe_atlas.md - learn_path: /docs/collecting-metrics/collectors/networking/ripe-atlas -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/zerto.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/zerto -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/tesla_vehicle.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/tesla-vehicle -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/aws_ec2_compute_instances.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/aws-ec2-compute-instances -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/clash.md - learn_path: /docs/collecting-metrics/collectors/networking/clash -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/solar_logging_stick.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/solar-logging-stick -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/concourse.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/concourse +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/suricata.md + learn_path: /docs/collecting-metrics/collectors/applications/suricata +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/celery.md + learn_path: /docs/collecting-metrics/collectors/applications/celery +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/netapp_ontap_api.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/netapp-ontap-api +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/apicast.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/apicast +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/nature_remo_e_lite_devices.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/nature-remo-e-lite-devices +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/pimoroni_enviro+.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/pimoroni-enviro+ +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/ibm_mq.md + learn_path: /docs/collecting-metrics/collectors/databases/ibm-mq +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/powerpal_devices.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/powerpal-devices +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/k8s_kubeproxy/README.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/kubeproxy +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/spigotmc/README.md + learn_path: /docs/collecting-metrics/collectors/applications/spigotmc +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nginxvts/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/nginx-vts +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dnsquery/README.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/dns-query +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nginxunit/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/nginx-unit +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nvidia_smi/README.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/nvidia-gpu +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/consul/README.md + learn_path: /docs/collecting-metrics/collectors/applications/consul +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/coredns/README.md + learn_path: /docs/collecting-metrics/collectors/networking/coredns +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/oracledb/README.md + learn_path: /docs/collecting-metrics/collectors/databases/oracle-db +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/apache/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/apache +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/apache/integrations/httpd.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/httpd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/weblog/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/web-server-log-files +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nginxplus/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/nginx-plus +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/wireguard/README.md + learn_path: /docs/collecting-metrics/collectors/networking/wireguard +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/megacli/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/megacli-megaraid +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dnsdist/README.md + learn_path: /docs/collecting-metrics/collectors/networking/dnsdist +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/pulsar/README.md + learn_path: /docs/collecting-metrics/collectors/databases/apache-pulsar +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/lighttpd/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/lighttpd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/memcached/README.md + learn_path: /docs/collecting-metrics/collectors/databases/memcached +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/tomcat/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/tomcat +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nats/README.md + learn_path: /docs/collecting-metrics/collectors/databases/nats +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/icecast/README.md + learn_path: /docs/collecting-metrics/collectors/applications/icecast +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/pika/README.md + learn_path: /docs/collecting-metrics/collectors/databases/pika +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/varnish/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/varnish +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/whoisquery/README.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/domain-expiration-date +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/logstash/README.md + learn_path: /docs/collecting-metrics/collectors/applications/logstash +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/supervisord/README.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/supervisor +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/pgbouncer/README.md + learn_path: /docs/collecting-metrics/collectors/databases/pgbouncer +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/activemq/README.md + learn_path: /docs/collecting-metrics/collectors/databases/activemq +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/mysql/README.md + learn_path: /docs/collecting-metrics/collectors/databases/mysql +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/mysql/integrations/percona_mysql.md + learn_path: /docs/collecting-metrics/collectors/databases/percona-mysql +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/mysql/integrations/mariadb.md + learn_path: /docs/collecting-metrics/collectors/databases/mariadb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/gearman/README.md + learn_path: /docs/collecting-metrics/collectors/applications/gearman +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/httpcheck/README.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/http-endpoints +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/samba/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/samba +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/squid/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/squid +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/vernemq/README.md + learn_path: /docs/collecting-metrics/collectors/databases/vernemq +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/exim/README.md + learn_path: /docs/collecting-metrics/collectors/applications/exim +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/apcupsd/README.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/apc-ups +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/hddtemp/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/hdd-temperature +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/k8s_apiserver/README.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/kubernetes-api-server +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/zfspool/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/zfs-pools +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/docker_engine/README.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/docker-engine +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/profile-format.md + learn_path: /docs/collecting-metrics/snmp-profile-format +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/README.md + learn_path: /docs/collecting-metrics/collectors/networking/snmp-devices +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/x509check/README.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/x.509-certificate +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/ntpd/README.md + learn_path: /docs/collecting-metrics/collectors/networking/ntpd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp_traps/README.md + learn_path: /docs/collecting-metrics/collectors/networking/snmp-trap-listener - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/chrony/README.md learn_path: /docs/collecting-metrics/collectors/networking/chrony -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/mongodb/README.md - learn_path: /docs/collecting-metrics/collectors/databases/mongodb -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/cassandra/README.md - learn_path: /docs/collecting-metrics/collectors/databases/cassandra -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/discovery/sdext/discoverer/httpsd/README.md - learn_path: /docs/collecting-metrics/service-discovery/http-endpoint -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/discovery/sdext/discoverer/snmpsd/README.md - learn_path: /docs/collecting-metrics/service-discovery/snmp -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/discovery/sdext/discoverer/netlistensd/README.md - learn_path: /docs/collecting-metrics/service-discovery/local-listening-processes -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/discovery/sdext/discoverer/dockersd/README.md - learn_path: /docs/collecting-metrics/service-discovery/docker -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/discovery/sdext/discoverer/k8ssd/README.md - learn_path: /docs/collecting-metrics/service-discovery/kubernetes -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/scripts.d/collector/nagios/README.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/nagios-plugins-and-custom-scripts -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/registry/CONFIGURATION.md - learn_path: /docs/netdata-agent/configuration/registry -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/registry/README.md - learn_path: /docs/netdata-agent/registry -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/alert-configuration-ordering.md - learn_path: /docs/alerts-&-notifications/alert-configuration-ordering -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/overriding-stock-alerts.md - learn_path: /docs/alerts-&-notifications/overriding-stock-alerts -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/REFERENCE.md - learn_path: /docs/alerts-&-notifications/alert-configuration-reference -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/README.md - learn_path: /docs/alerts-&-notifications -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/agent-notifications-reference -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/irc/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/irc -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/flock/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/flock -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/dynatrace/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/dynatrace -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/rocketchat/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/rocketchat -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/matrix/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/matrix -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/ilert/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/ilert -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/opsgenie/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/opsgenie -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/messagebird/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/messagebird -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/msteams/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/microsoft-teams -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/email/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/email -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/slack/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/slack -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/ntfy/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/ntfy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/twilio/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/twilio -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/prowl/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/prowl -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/pagerduty/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/pagerduty -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/smseagle/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/smseagle -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/alerta/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/alerta -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/smstools3/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/sms -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/discord/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/discord -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/custom/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/custom -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/pushover/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/pushover -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/awssns/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/aws-sns -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/signl4/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/signl4 -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/kavenegar/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/kavenegar -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/telegram/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/telegram -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/syslog/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/syslog -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/pushbullet/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/pushbullet -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/gotify/README.md - learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/gotify +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/hpssa/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/hpe-smart-arrays +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/dcgm/README.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/nvidia-data-center-gpu-manager-dcgm +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_event_hubs_namespace.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-event-hubs-namespace +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_cosmos_db_account.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-cosmos-db-account +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_virtual_machine.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-virtual-machine +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_firewall.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-firewall +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_log_analytics_workspace.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-log-analytics-workspace +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_synapse_analytics_workspace.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-synapse-analytics-workspace +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_functions.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-functions +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_cognitive_services.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-cognitive-services +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_monitor.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-monitor +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_container_apps.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-container-apps +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_mysql_flexible_server.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-mysql-flexible-server +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_data_factory.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-data-factory +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_expressroute_circuit.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-expressroute-circuit +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_key_vault.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-key-vault +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_nat_gateway.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-nat-gateway +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_api_management.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-api-management +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_logic_apps_workflow.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-logic-apps-workflow +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_application_insights.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-application-insights +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_postgresql_flexible_server.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-postgresql-flexible-server +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_event_grid_topic.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-event-grid-topic +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_vpn_gateway.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-vpn-gateway +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_kubernetes_service_cluster.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-kubernetes-service-cluster +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_cache_for_redis.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-cache-for-redis +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_storage_account.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-storage-account +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_iot_hub.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-iot-hub +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_container_instances.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-container-instances +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_sql_database.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-sql-database +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_virtual_machine_scale_set.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-virtual-machine-scale-set +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_service_bus_namespace.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-service-bus-namespace +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_front_door.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-front-door +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_load_balancer.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-load-balancer +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_stream_analytics_job.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-stream-analytics-job +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_container_registry.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-container-registry +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_sql_managed_instance.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-sql-managed-instance +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_machine_learning_workspace.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-machine-learning-workspace +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_data_explorer_cluster.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-data-explorer-cluster +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_sql_elastic_pool.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-sql-elastic-pool +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_application_gateway.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-application-gateway +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_expressroute_gateway.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-expressroute-gateway +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/azure_monitor/integrations/azure_app_service.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/azure-app-service +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/geth/README.md + learn_path: /docs/collecting-metrics/collectors/applications/go-ethereum +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/unbound/README.md + learn_path: /docs/collecting-metrics/collectors/networking/unbound +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/maxscale/README.md + learn_path: /docs/collecting-metrics/collectors/databases/maxscale +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/k8s_state/README.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/kubernetes-cluster-state +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/fluentd/README.md + learn_path: /docs/collecting-metrics/collectors/applications/fluentd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/storcli/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/storecli-raid +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/powerdns/README.md + learn_path: /docs/collecting-metrics/collectors/networking/powerdns-authoritative-server +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/fail2ban/README.md + learn_path: /docs/collecting-metrics/collectors/applications/fail2ban +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/proxysql/README.md + learn_path: /docs/collecting-metrics/collectors/databases/proxysql +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/puppet/README.md + learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/puppet +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/zookeeper/README.md + learn_path: /docs/collecting-metrics/collectors/applications/zookeeper +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/adaptecraid/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/adaptec-raid +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/riakkv/README.md + learn_path: /docs/collecting-metrics/collectors/databases/riak-kv +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/portcheck/README.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/tcp-udp-endpoints +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/openvpn_status_log/README.md + learn_path: /docs/collecting-metrics/collectors/networking/openvpn-status-log +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/haproxy/README.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/haproxy +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/couchdb/README.md + learn_path: /docs/collecting-metrics/collectors/databases/couchdb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/pihole/README.md + learn_path: /docs/collecting-metrics/collectors/networking/pi-hole +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/boinc/README.md + learn_path: /docs/collecting-metrics/collectors/applications/boinc +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/k8s_kubelet/README.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/kubelet +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/isc_dhcpd/README.md + learn_path: /docs/collecting-metrics/collectors/networking/isc-dhcp +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/rethinkdb/README.md + learn_path: /docs/collecting-metrics/collectors/databases/rethinkdb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/elasticsearch/README.md + learn_path: /docs/collecting-metrics/collectors/databases/elasticsearch +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/elasticsearch/integrations/opensearch.md + learn_path: /docs/collecting-metrics/collectors/databases/opensearch +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/nvme/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/nvme-devices +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/filecheck/README.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/files-and-directories +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/clickhouse/README.md + learn_path: /docs/collecting-metrics/collectors/databases/clickhouse +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/postfix/README.md + learn_path: /docs/collecting-metrics/collectors/applications/postfix +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/powerstore/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/dell-powerstore +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/mssql/README.md + learn_path: /docs/collecting-metrics/collectors/databases/microsoft-sql-server +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/cockroachdb/README.md + learn_path: /docs/collecting-metrics/collectors/databases/cockroachdb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/cassandra/README.md + learn_path: /docs/collecting-metrics/collectors/databases/cassandra +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/freeradius/README.md + learn_path: /docs/collecting-metrics/collectors/applications/freeradius +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/upsd/README.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/ups-nut +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/postgres/README.md + learn_path: /docs/collecting-metrics/collectors/databases/postgresql +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/sensors/README.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/linux-sensors +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/claim/README.md + learn_path: /docs/netdata-cloud/connect-agent +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/formatters/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/formatters +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/formatters/csv/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/formatters/csv-formatter +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/formatters/json/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/formatters/json-formatter +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/formatters/ssv/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/formatters/ssv-formatter +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/formatters/value/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/formatters/value-formatter +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/exporters/shell/README.md + learn_path: /docs/exporting-metrics/shell-scripts +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/min/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/min +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/stddev/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/standard-deviation-stddev +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/average/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/average-or-mean +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/sum/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/sum +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/des/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/double-exponential-smoothing +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/ses/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/single-or-simple-exponential-smoothing-ses +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/incremental_sum/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/incremental-sum-incremental_sum +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/countif/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/countif +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/trimmed_mean/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/trimmed-mean +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/median/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/median +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/percentile/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/percentile +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/queries/max/README.md + learn_path: /docs/developer-and-contributor-corner/rest-api/queries/max +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/api/health/README.md + learn_path: /docs/alerts-&-notifications/health-api-calls +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/web/server/README.md + learn_path: /docs/netdata-agent/configuration/securing-agents/web-server-reference - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/streaming/README.md learn_path: /docs/netdata-parents/parent-child-configuration-reference -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/daemon/README.md - learn_path: /docs/netdata-agent/daemon -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/daemon/config/README.md - learn_path: /docs/netdata-agent/configuration/daemon -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/COLLECTORS.md - learn_path: /docs/welcome-to-netdata/monitor-anything +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/README.md + learn_path: /docs/collecting-metrics - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/REFERENCE.md learn_path: /docs/collecting-metrics/collectors-configuration - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/SECRETS.md learn_path: /docs/collecting-metrics/secrets-management -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/README.md - learn_path: /docs/collecting-metrics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cups.plugin/README.md - learn_path: /docs/collecting-metrics/collectors/applications/cups -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows-events.plugin/README.md - learn_path: /docs/logs/windows-event-logs/windows-events-plugin-reference -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/macos.plugin/README.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/macos -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/softirq_statistics.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/softirq-statistics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/system_load_average.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/system-load-average -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/interrupts.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/interrupts -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/nfs_client.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/nfs-client -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/wireless_network_interfaces.md - learn_path: /docs/collecting-metrics/collectors/networking/wireless-network-interfaces -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/system_uptime.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/system-uptime -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/kernel_same-page_merging.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/kernel-same-page-merging -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/memory_modules_dimms.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/memory-modules-dimms -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/socket_statistics.md - learn_path: /docs/collecting-metrics/collectors/networking/socket-statistics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/sctp_statistics.md - learn_path: /docs/collecting-metrics/collectors/networking/sctp-statistics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/entropy.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/entropy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/zfs_adaptive_replacement_cache.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/zfs-adaptive-replacement-cache -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/network_statistics.md - learn_path: /docs/collecting-metrics/collectors/networking/network-statistics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/network_interfaces.md - learn_path: /docs/collecting-metrics/collectors/networking/network-interfaces -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/amd_gpu.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/amd-gpu -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/memory_usage.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/memory-usage -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/inter_process_communication.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/inter-process-communication -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/pressure_stall_information.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/pressure-stall-information -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/infiniband.md - learn_path: /docs/collecting-metrics/collectors/networking/infiniband -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/md_raid.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/md-raid -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/conntrack.md - learn_path: /docs/collecting-metrics/collectors/networking/conntrack -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/zram.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/zram -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/synproxy.md - learn_path: /docs/collecting-metrics/collectors/networking/synproxy -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/memory_statistics.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/memory-statistics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/non-uniform_memory_access.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/non-uniform-memory-access -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/ip_virtual_server.md - learn_path: /docs/collecting-metrics/collectors/networking/ip-virtual-server -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/bcache.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/bcache -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/softnet_statistics.md - learn_path: /docs/collecting-metrics/collectors/networking/softnet-statistics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/power_supply.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/power-supply -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/nfs_server.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/nfs-server -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/btrfs.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/btrfs -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/ipv6_socket_statistics.md - learn_path: /docs/collecting-metrics/collectors/networking/ipv6-socket-statistics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/disk_statistics.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/disk-statistics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/page_types.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/page-types -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/system_statistics.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/system-statistics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/slabinfo.plugin/README.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/linux-kernel-slab-allocator-statistics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ioping.plugin/README.md - learn_path: /docs/collecting-metrics/collectors/synthetic-testing/ioping -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/nfacct.plugin/README.md - learn_path: /docs/collecting-metrics/collectors/networking/netfilter -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/apps.plugin/integrations/users.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/users -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/apps.plugin/integrations/applications.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/applications -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/apps.plugin/integrations/user_groups.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/user-groups -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/apps.plugin/integrations/windows_services.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/windows-services -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/xenstat.plugin/README.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/xen-xcp-ng -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/README.md - learn_path: /docs/developer-and-contributor-corner/external-plugins/python.d.plugin -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/am2320/README.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/am2320 -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/pandas/README.md - learn_path: /docs/collecting-metrics/collectors/databases/pandas -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/go_expvar/README.md - learn_path: /docs/collecting-metrics/collectors/applications/go-applications-expvar -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/perf.plugin/README.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/cpu-performance -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet.tcp.stats.md - learn_path: /docs/collecting-metrics/collectors/networking/net.inet.tcp.stats -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet.tcp.states.md - learn_path: /docs/collecting-metrics/collectors/networking/net.inet.tcp.states +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/COLLECTORS.md + learn_path: /docs/welcome-to-netdata/monitor-anything +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/log2journal/README.md + learn_path: /docs/logs/log2journal +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet6.icmp6.stats.md + learn_path: /docs/collecting-metrics/collectors/networking/net.inet6.icmp6.stats - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.vmtotal.md learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.vmtotal -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/ipfw.md - learn_path: /docs/collecting-metrics/collectors/networking/ipfw -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet.icmp.stats.md - learn_path: /docs/collecting-metrics/collectors/networking/net.inet.icmp.stats -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/devstat.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/devstat -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/kern.ipc.shm.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/kern.ipc.shm -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.loadavg.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.loadavg -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/dev.cpu.0.freq.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/dev.cpu.0.freq -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/getmntinfo.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/getmntinfo -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/getifaddrs.md - learn_path: /docs/collecting-metrics/collectors/networking/getifaddrs -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.swap_info.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.swap_info -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/kern.ipc.msq.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/kern.ipc.msq -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/hw.intrcnt.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/hw.intrcnt - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.stats.sys.v_soft.md learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.stats.sys.v_soft -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet6.ip6.stats.md - learn_path: /docs/collecting-metrics/collectors/networking/net.inet6.ip6.stats -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet.udp.stats.md - learn_path: /docs/collecting-metrics/collectors/networking/net.inet.udp.stats -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.isr.md - learn_path: /docs/collecting-metrics/collectors/networking/net.isr -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.stats.vm.v_swappgs.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.stats.vm.v_swappgs -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/dev.cpu.temperature.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/dev.cpu.temperature - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/system.ram.md learn_path: /docs/collecting-metrics/collectors/operating-systems/system.ram -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/zfs.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/zfs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/getmntinfo.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/getmntinfo +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet.tcp.stats.md + learn_path: /docs/collecting-metrics/collectors/networking/net.inet.tcp.stats +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/uptime.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/uptime +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet6.ip6.stats.md + learn_path: /docs/collecting-metrics/collectors/networking/net.inet6.ip6.stats +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/devstat.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/devstat +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/kern.ipc.msq.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/kern.ipc.msq +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet.tcp.states.md + learn_path: /docs/collecting-metrics/collectors/networking/net.inet.tcp.states +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.loadavg.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.loadavg - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.stats.vm.v_pgfaults.md learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.stats.vm.v_pgfaults -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet6.icmp6.stats.md - learn_path: /docs/collecting-metrics/collectors/networking/net.inet6.icmp6.stats +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.isr.md + learn_path: /docs/collecting-metrics/collectors/networking/net.isr +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.swap_info.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.swap_info +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/kern.ipc.shm.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/kern.ipc.shm +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.stats.sys.v_intr.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.stats.sys.v_intr +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/dev.cpu.0.freq.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/dev.cpu.0.freq - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/kern.ipc.sem.md learn_path: /docs/collecting-metrics/collectors/operating-systems/kern.ipc.sem +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/getifaddrs.md + learn_path: /docs/collecting-metrics/collectors/networking/getifaddrs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/zfs.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/zfs - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.stats.sys.v_swtch.md learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.stats.sys.v_swtch +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet.udp.stats.md + learn_path: /docs/collecting-metrics/collectors/networking/net.inet.udp.stats +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/hw.intrcnt.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/hw.intrcnt - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet.ip.stats.md learn_path: /docs/collecting-metrics/collectors/networking/net.inet.ip.stats - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/kern.cp_time.md learn_path: /docs/collecting-metrics/collectors/operating-systems/kern.cp_time -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.stats.sys.v_intr.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.stats.sys.v_intr -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/uptime.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/uptime -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freeipmi.plugin/README.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/intelligent-platform-management-interface-ipmi -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/tc.plugin/README.md - learn_path: /docs/collecting-metrics/collectors/networking/tc-qos-classes -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/network-viewer.plugin/integrations/network_connections.md - learn_path: /docs/collecting-metrics/collectors/networking/network-connections -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/network-viewer.plugin/integrations/windows_network_protocols.md - learn_path: /docs/collecting-metrics/collectors/networking/windows-network-protocols -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/profile.plugin/README.md - learn_path: /docs/developer-and-contributor-corner/external-plugins/profile.plugin -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/log2journal/README.md - learn_path: /docs/logs/log2journal -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/timex.plugin/README.md - learn_path: /docs/collecting-metrics/collectors/networking/timex -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_softirq.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-softirq -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_sync.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-sync -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_mdflush.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-mdflush -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_filesystem.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-filesystem -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_shm.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-shm -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_processes.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-processes -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_process.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-process -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_disk.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-disk -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_hardirq.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-hardirq -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_vfs.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-vfs -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_dcstat.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-dcstat -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_oomkill.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-oomkill -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_mount.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-mount -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_filedescriptor.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-filedescriptor -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_swap.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-swap -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_cachestat.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-cachestat -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_socket.md - learn_path: /docs/collecting-metrics/collectors/networking/ebpf-socket -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/diskspace.plugin/README.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/disk-space +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/vm.stats.vm.v_swappgs.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/vm.stats.vm.v_swappgs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/dev.cpu.temperature.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/dev.cpu.temperature +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/net.inet.icmp.stats.md + learn_path: /docs/collecting-metrics/collectors/networking/net.inet.icmp.stats +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freebsd.plugin/integrations/ipfw.md + learn_path: /docs/collecting-metrics/collectors/networking/ipfw +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/apps.plugin/integrations/users.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/users +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/apps.plugin/integrations/user_groups.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/user-groups +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/apps.plugin/integrations/applications.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/applications +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/apps.plugin/integrations/windows_services.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/windows-services +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/systemd-journal.plugin/forward_secure_sealing.md + learn_path: /docs/logs/systemd-journal-logs/forward-secure-sealing-fss-in-systemd-journal +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/systemd-journal.plugin/README.md + learn_path: /docs/logs/systemd-journal-logs/systemd-journal-plugin-reference +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/systemd-journal.plugin/active_journal_centralization_guide_no_encryption.md + learn_path: /docs/logs/logs-centralization-points-with-systemd-journald/active-journal-source-without-encryption +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/debugfs.plugin/integrations/linux_zswap.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/linux-zswap +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/debugfs.plugin/integrations/power_capping.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/power-capping +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/debugfs.plugin/integrations/linux_audit_subsystem.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/linux-audit-subsystem +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/debugfs.plugin/integrations/system_memory_fragmentation.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/system-memory-fragmentation +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/sensors.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/sensors - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/active_directory_federation_service.md learn_path: /docs/collecting-metrics/collectors/applications/active-directory-federation-service -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/network_subsystem.md - learn_path: /docs/collecting-metrics/collectors/networking/network-subsystem -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/hyper-v.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/hyper-v -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/memory_statistics_win.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/memory-statistics-win -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/hardware_information_collected_from_kernel_ring..md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/hardware-information-collected-from-kernel-ring. -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/smb_server_shares.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/smb-server-shares -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/net_framework.md - learn_path: /docs/collecting-metrics/collectors/applications/net-framework -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/physical_and_logical_disk_performance_metrics.md - learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/physical-and-logical-disk-performance-metrics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/semaphore_statistics.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/semaphore-statistics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/iis.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/iis -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/processor.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/processor - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/power_supply_win.md learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/power-supply-win -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/sensors.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/sensors +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/processor.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/processor +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/iis.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/iis - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/active_directory.md learn_path: /docs/collecting-metrics/collectors/applications/active-directory -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/asp.net.md - learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/asp.net -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/system_thermal_zone.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/system-thermal-zone +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/memory_statistics_win.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/memory-statistics-win - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/numa_architecture.md learn_path: /docs/collecting-metrics/collectors/operating-systems/numa-architecture -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/windows_services.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/windows-services-windows-plugin +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/system_thermal_zone.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/system-thermal-zone - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/ms_exchange.md learn_path: /docs/collecting-metrics/collectors/applications/ms-exchange -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/system_statistics.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/system-statistics-windows-plugin +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/windows_services.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/windows-services-windows-plugin +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/hyper-v.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/hyper-v +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/asp.net.md + learn_path: /docs/collecting-metrics/collectors/web-servers-and-proxies/asp.net +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/smb_server_shares.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/smb-server-shares - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/active_directory_certificate_service.md learn_path: /docs/collecting-metrics/collectors/applications/active-directory-certificate-service -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/guides/proxmox/README.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/proxmox-ve-monitoring -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/charts.d.plugin/README.md - learn_path: /docs/developer-and-contributor-corner/external-plugins/charts.d.plugin -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/charts.d.plugin/opensips/README.md - learn_path: /docs/collecting-metrics/collectors/applications/opensips -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/charts.d.plugin/libreswan/README.md - learn_path: /docs/collecting-metrics/collectors/networking/libreswan -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/nomad_containers.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/nomad-containers -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/openshift_containers.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/openshift-containers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/net_framework.md + learn_path: /docs/collecting-metrics/collectors/applications/net-framework +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/semaphore_statistics.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/semaphore-statistics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/network_subsystem.md + learn_path: /docs/collecting-metrics/collectors/networking/network-subsystem +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/hardware_information_collected_from_kernel_ring..md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/hardware-information-collected-from-kernel-ring. +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/system_statistics.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/system-statistics-windows-plugin +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows.plugin/integrations/physical_and_logical_disk_performance_metrics.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/physical-and-logical-disk-performance-metrics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/diskspace.plugin/README.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/disk-space +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/md_raid.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/md-raid +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/entropy.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/entropy +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/inter_process_communication.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/inter-process-communication +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/kernel_same-page_merging.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/kernel-same-page-merging +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/bcache.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/bcache +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/sctp_statistics.md + learn_path: /docs/collecting-metrics/collectors/networking/sctp-statistics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/non-uniform_memory_access.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/non-uniform-memory-access +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/memory_modules_dimms.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/memory-modules-dimms +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/disk_statistics.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/disk-statistics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/ip_virtual_server.md + learn_path: /docs/collecting-metrics/collectors/networking/ip-virtual-server +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/page_types.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/page-types +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/network_statistics.md + learn_path: /docs/collecting-metrics/collectors/networking/network-statistics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/softnet_statistics.md + learn_path: /docs/collecting-metrics/collectors/networking/softnet-statistics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/btrfs.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/btrfs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/ipv6_socket_statistics.md + learn_path: /docs/collecting-metrics/collectors/networking/ipv6-socket-statistics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/system_load_average.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/system-load-average +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/nfs_client.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/nfs-client +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/softirq_statistics.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/softirq-statistics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/power_supply.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/power-supply +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/memory_statistics.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/memory-statistics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/pressure_stall_information.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/pressure-stall-information +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/synproxy.md + learn_path: /docs/collecting-metrics/collectors/networking/synproxy +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/memory_usage.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/memory-usage +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/interrupts.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/interrupts +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/zfs_adaptive_replacement_cache.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/zfs-adaptive-replacement-cache +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/nfs_server.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/nfs-server +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/system_uptime.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/system-uptime +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/network_interfaces.md + learn_path: /docs/collecting-metrics/collectors/networking/network-interfaces +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/infiniband.md + learn_path: /docs/collecting-metrics/collectors/networking/infiniband +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/zram.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/zram +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/socket_statistics.md + learn_path: /docs/collecting-metrics/collectors/networking/socket-statistics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/amd_gpu.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/amd-gpu +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/conntrack.md + learn_path: /docs/collecting-metrics/collectors/networking/conntrack +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/wireless_network_interfaces.md + learn_path: /docs/collecting-metrics/collectors/networking/wireless-network-interfaces +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/system_statistics.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/system-statistics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/macos.plugin/README.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/macos +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/timex.plugin/README.md + learn_path: /docs/collecting-metrics/collectors/networking/timex +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/statsd.plugin/README.md + learn_path: /docs/collecting-metrics/statsd +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/windows-events.plugin/README.md + learn_path: /docs/logs/windows-event-logs/windows-events-plugin-reference +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/README.md + learn_path: /docs/developer-and-contributor-corner/external-plugins/python.d.plugin +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/am2320/README.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/am2320 +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/pandas/README.md + learn_path: /docs/collecting-metrics/collectors/databases/pandas +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/go_expvar/README.md + learn_path: /docs/collecting-metrics/collectors/applications/go-applications-expvar +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/perf.plugin/README.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/cpu-performance +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/kubernetes_containers.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/kubernetes-containers - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/ovirt_vms.md learn_path: /docs/collecting-metrics/collectors/containers-and-vms/ovirt-vms +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/lxc_containers.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/lxc-containers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/aws_ecs_containers.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/aws-ecs-containers - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/systemd_services.md learn_path: /docs/collecting-metrics/collectors/operating-systems/systemd-services -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/systemd-nspawn_containers.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/systemd-nspawn-containers -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/virtual_machines.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/virtual-machines +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/containers.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/containers - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/libvirt_vms_and_containers.md learn_path: /docs/collecting-metrics/collectors/containers-and-vms/libvirt-vms-and-containers -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/openstack_vms.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/openstack-vms +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/openshift_containers.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/openshift-containers - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/docker_containers.md learn_path: /docs/collecting-metrics/collectors/containers-and-vms/docker-containers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/podman_containers.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/podman-containers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/systemd-nspawn_containers.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/systemd-nspawn-containers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/nomad_containers.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/nomad-containers - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/containerd_containers.md learn_path: /docs/collecting-metrics/collectors/containers-and-vms/containerd-containers -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/containers.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/containers -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/lxc_containers.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/lxc-containers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/openstack_vms.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/openstack-vms - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/proxmox_vms_and_containers.md learn_path: /docs/collecting-metrics/collectors/containers-and-vms/proxmox-vms-and-containers -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/kubernetes_containers.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/kubernetes-containers -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/aws_ecs_containers.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/aws-ecs-containers -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/podman_containers.md - learn_path: /docs/collecting-metrics/collectors/containers-and-vms/podman-containers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cgroups.plugin/integrations/virtual_machines.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/virtual-machines +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_oomkill.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-oomkill +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_dcstat.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-dcstat +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_softirq.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-softirq +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_hardirq.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-hardirq +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_swap.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-swap +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_filesystem.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-filesystem +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_mount.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-mount +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_sync.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-sync +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_socket.md + learn_path: /docs/collecting-metrics/collectors/networking/ebpf-socket +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_shm.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-shm +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_process.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-process +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_disk.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-disk +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_cachestat.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-cachestat +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_filedescriptor.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-filedescriptor +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_processes.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-processes +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_vfs.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-vfs +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_mdflush.md + learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-mdflush +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/guides/proxmox/README.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/proxmox-ve-monitoring - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/idlejitter.plugin/README.md learn_path: /docs/collecting-metrics/collectors/synthetic-testing/idle-os-jitter -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/debugfs.plugin/integrations/system_memory_fragmentation.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/system-memory-fragmentation -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/debugfs.plugin/integrations/linux_zswap.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/linux-zswap -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/debugfs.plugin/integrations/linux_audit_subsystem.md - learn_path: /docs/collecting-metrics/collectors/operating-systems/linux-audit-subsystem -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/debugfs.plugin/integrations/power_capping.md - learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/power-capping -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/statsd.plugin/README.md - learn_path: /docs/collecting-metrics/statsd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/systemd-journal.plugin/forward_secure_sealing.md - learn_path: /docs/logs/systemd-journal-logs/forward-secure-sealing-fss-in-systemd-journal -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/systemd-journal.plugin/active_journal_centralization_guide_no_encryption.md - learn_path: /docs/logs/logs-centralization-points-with-systemd-journald/active-journal-source-without-encryption -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/systemd-journal.plugin/README.md - learn_path: /docs/logs/systemd-journal-logs/systemd-journal-plugin-reference -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/ml/ml-configuration.md - learn_path: /docs/netdata-ai/anomaly-detection/ml-configuration -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/aclk/README.md - learn_path: /docs/netdata-cloud/agent-cloud-link-aclk -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/database/CONFIGURATION.md - learn_path: /docs/netdata-agent/configuration/database -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/database/README.md - learn_path: /docs/netdata-agent/database -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/database/engine/README.md - learn_path: /docs/developer-and-contributor-corner/database-engine +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/nfacct.plugin/README.md + learn_path: /docs/collecting-metrics/collectors/networking/netfilter +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/freeipmi.plugin/README.md + learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/intelligent-platform-management-interface-ipmi +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/slabinfo.plugin/README.md + learn_path: /docs/collecting-metrics/collectors/operating-systems/linux-kernel-slab-allocator-statistics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/tc.plugin/README.md + learn_path: /docs/collecting-metrics/collectors/networking/tc-qos-classes +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/charts.d.plugin/README.md + learn_path: /docs/developer-and-contributor-corner/external-plugins/charts.d.plugin +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/charts.d.plugin/opensips/README.md + learn_path: /docs/collecting-metrics/collectors/applications/opensips +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/charts.d.plugin/libreswan/README.md + learn_path: /docs/collecting-metrics/collectors/networking/libreswan +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/xenstat.plugin/README.md + learn_path: /docs/collecting-metrics/collectors/containers-and-vms/xen-xcp-ng +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/profile.plugin/README.md + learn_path: /docs/developer-and-contributor-corner/external-plugins/profile.plugin +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/network-viewer.plugin/integrations/windows_network_protocols.md + learn_path: /docs/collecting-metrics/collectors/networking/windows-network-protocols +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/network-viewer.plugin/integrations/network_connections.md + learn_path: /docs/collecting-metrics/collectors/networking/network-connections +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/cups.plugin/README.md + learn_path: /docs/collecting-metrics/collectors/applications/cups +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ioping.plugin/README.md + learn_path: /docs/collecting-metrics/collectors/synthetic-testing/ioping - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/README.md learn_path: /docs/developer-and-contributor-corner/libnetdata -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/json/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/json -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/url/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/url -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/storage_number/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/storage-number -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/statistical/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/statistical-functions -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/avl/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/avl -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/locks/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/locks -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/circular_buffer/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/circular-buffer +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/dictionary/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/dictionaries - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/clocks/README.md learn_path: /docs/developer-and-contributor-corner/libnetdata/clocks +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/onewayalloc/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/one-way-allocator - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/worker_utilization/README.md learn_path: /docs/developer-and-contributor-corner/libnetdata/worker-utilization +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/threads/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/threads +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/url/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/url +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/procfile/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/procfile - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/simple_pattern/README.md learn_path: /docs/developer-and-contributor-corner/libnetdata/simple-patterns -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/onewayalloc/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/one-way-allocator -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/log/systemd-cat-native.md - learn_path: /docs/logs/systemd-cat-native +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/circular_buffer/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/circular-buffer +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/buffer/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/buffer-library - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/log/README.md learn_path: /docs/netdata-agent/logging +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/log/systemd-cat-native.md + learn_path: /docs/logs/systemd-cat-native +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/json/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/json - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/string/README.md learn_path: /docs/developer-and-contributor-corner/libnetdata/string -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/dictionary/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/dictionaries -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/buffer/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/buffer-library -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/adaptive_resortable_list/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/adaptive-re-sortable-list-arl +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/locks/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/locks +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/storage_number/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/storage-number - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/socket/README.md learn_path: /docs/developer-and-contributor-corner/libnetdata/socket +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/adaptive_resortable_list/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/adaptive-re-sortable-list-arl +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/statistical/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/statistical-functions - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/aral/README.md learn_path: /docs/developer-and-contributor-corner/libnetdata/array-allocator -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/threads/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/threads -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/procfile/README.md - learn_path: /docs/developer-and-contributor-corner/libnetdata/procfile +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/libnetdata/avl/README.md + learn_path: /docs/developer-and-contributor-corner/libnetdata/avl +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/registry/README.md + learn_path: /docs/netdata-agent/registry +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/registry/CONFIGURATION.md + learn_path: /docs/netdata-agent/configuration/registry +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/aclk/README.md + learn_path: /docs/netdata-cloud/agent-cloud-link-aclk +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/plugins.d/README.md + learn_path: /docs/developer-and-contributor-corner/external-plugins +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/plugins.d/FUNCTION_UI_REFERENCE.md + learn_path: /docs/developer-and-contributor-corner/external-plugins/functions-v3-protocol-reference +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/plugins.d/FUNCTION_UI_DEVELOPER_GUIDE.md + learn_path: /docs/developer-and-contributor-corner/external-plugins/functions-developer-guide - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netdata-otel/otel-plugin/README.md learn_path: /docs/collecting-metrics/opentelemetry/opentelemetry-metrics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/netbox.md - learn_path: /docs/network-flows/enrichment-methods/netbox -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/maxmind_geoip_-_geolite2.md - learn_path: /docs/network-flows/enrichment-methods/maxmind-geoip-geolite2 -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/ipfix.md - learn_path: /docs/network-flows/flow-protocols/ipfix +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/classifiers.md + learn_path: /docs/network-flows/enrichment-methods/classifiers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/db-ip_ip_intelligence.md + learn_path: /docs/network-flows/enrichment-methods/db-ip-ip-intelligence +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/gcp_ip_ranges.md + learn_path: /docs/network-flows/enrichment-methods/gcp-ip-ranges - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/bmp_bgp_monitoring_protocol.md learn_path: /docs/network-flows/enrichment-methods/bmp-bgp-monitoring-protocol -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/caida_routeviews_prefix-to-as.md - learn_path: /docs/network-flows/enrichment-methods/caida-routeviews-prefix-to-as -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/ipip_country_database.md - learn_path: /docs/network-flows/enrichment-methods/ipip-country-database - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/iptoasn.md learn_path: /docs/network-flows/enrichment-methods/iptoasn -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/gcp_ip_ranges.md - learn_path: /docs/network-flows/enrichment-methods/gcp-ip-ranges -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/bio-rd_-_ripe_ris.md - learn_path: /docs/network-flows/enrichment-methods/bio-rd-ripe-ris -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/classifiers.md - learn_path: /docs/network-flows/enrichment-methods/classifiers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/caida_routeviews_prefix-to-as.md + learn_path: /docs/network-flows/enrichment-methods/caida-routeviews-prefix-to-as +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/aws_ip_ranges.md + learn_path: /docs/network-flows/enrichment-methods/aws-ip-ranges - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/decapsulation.md learn_path: /docs/network-flows/enrichment-methods/decapsulation +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/netbox.md + learn_path: /docs/network-flows/enrichment-methods/netbox +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/maxmind_geoip_-_geolite2.md + learn_path: /docs/network-flows/enrichment-methods/maxmind-geoip-geolite2 - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/generic_json-over-http_ipam.md learn_path: /docs/network-flows/enrichment-methods/generic-json-over-http-ipam -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/static_metadata.md - learn_path: /docs/network-flows/enrichment-methods/static-metadata -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/aws_ip_ranges.md - learn_path: /docs/network-flows/enrichment-methods/aws-ip-ranges +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/ipdeny_country_zones.md + learn_path: /docs/network-flows/enrichment-methods/ipdeny-country-zones +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/ipfix.md + learn_path: /docs/network-flows/flow-protocols/ipfix +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/netflow.md + learn_path: /docs/network-flows/flow-protocols/netflow - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/ip2location_lite_ip-country.md learn_path: /docs/network-flows/enrichment-methods/ip2location-lite-ip-country - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/azure_ip_ranges.md learn_path: /docs/network-flows/enrichment-methods/azure-ip-ranges -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/netflow.md - learn_path: /docs/network-flows/flow-protocols/netflow -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/custom_mmdb_database.md - learn_path: /docs/network-flows/enrichment-methods/custom-mmdb-database -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/db-ip_ip_intelligence.md - learn_path: /docs/network-flows/enrichment-methods/db-ip-ip-intelligence +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/ipip_country_database.md + learn_path: /docs/network-flows/enrichment-methods/ipip-country-database - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/sflow.md learn_path: /docs/network-flows/flow-protocols/sflow -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/ipdeny_country_zones.md - learn_path: /docs/network-flows/enrichment-methods/ipdeny-country-zones -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/README.md - learn_path: /docs/exporting-metrics/exporting-reference -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/json/README.md - learn_path: /docs/exporting-metrics/connectors/json -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/pubsub/README.md - learn_path: /docs/exporting-metrics/connectors/google-cloud-pub-sub -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/opentsdb/README.md - learn_path: /docs/exporting-metrics/connectors/opentsdb -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/aws_kinesis/README.md - learn_path: /docs/exporting-metrics/connectors/aws-kinesis +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/bio-rd_-_ripe_ris.md + learn_path: /docs/network-flows/enrichment-methods/bio-rd-ripe-ris +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/static_metadata.md + learn_path: /docs/network-flows/enrichment-methods/static-metadata +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/custom_mmdb_database.md + learn_path: /docs/network-flows/enrichment-methods/custom-mmdb-database +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/README.md + learn_path: /docs/exporting-metrics/exporting-reference +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/mongodb/README.md + learn_path: /docs/exporting-metrics/connectors/mongodb - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/graphite/README.md learn_path: /docs/exporting-metrics/connectors/graphite -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/graphite/integrations/kairosdb.md - learn_path: /docs/exporting-metrics/connectors/kairosdb - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/graphite/integrations/blueflood.md learn_path: /docs/exporting-metrics/connectors/blueflood +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/graphite/integrations/kairosdb.md + learn_path: /docs/exporting-metrics/connectors/kairosdb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/aws_kinesis/README.md + learn_path: /docs/exporting-metrics/connectors/aws-kinesis - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/README.md learn_path: /docs/exporting-metrics/prometheus -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/new_relic.md - learn_path: /docs/exporting-metrics/connectors/new-relic -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/cratedb.md - learn_path: /docs/exporting-metrics/connectors/cratedb -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/cortex.md - learn_path: /docs/exporting-metrics/connectors/cortex -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/opeansearch.md - learn_path: /docs/exporting-metrics/connectors/opeansearch -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/splunk_signalfx.md - learn_path: /docs/exporting-metrics/connectors/splunk-signalfx -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/google_bigquery.md - learn_path: /docs/exporting-metrics/connectors/google-bigquery -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/kafka.md - learn_path: /docs/exporting-metrics/connectors/kafka -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/quasardb.md - learn_path: /docs/exporting-metrics/connectors/quasardb -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/tikv.md - learn_path: /docs/exporting-metrics/connectors/tikv -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/gnocchi.md - learn_path: /docs/exporting-metrics/connectors/gnocchi +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/wavefront.md + learn_path: /docs/exporting-metrics/connectors/wavefront - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/azure_data_explorer.md learn_path: /docs/exporting-metrics/connectors/azure-data-explorer +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/irondb.md + learn_path: /docs/exporting-metrics/connectors/irondb - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/elasticsearch.md learn_path: /docs/exporting-metrics/connectors/elasticsearch +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/gnocchi.md + learn_path: /docs/exporting-metrics/connectors/gnocchi - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/appoptics.md learn_path: /docs/exporting-metrics/connectors/appoptics -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/azure_event_hub.md - learn_path: /docs/exporting-metrics/connectors/azure-event-hub -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/postgresql.md - learn_path: /docs/exporting-metrics/connectors/postgresql -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/metricfire.md - learn_path: /docs/exporting-metrics/connectors/metricfire -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/victoriametrics.md - learn_path: /docs/exporting-metrics/connectors/victoriametrics - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/chronix.md learn_path: /docs/exporting-metrics/connectors/chronix -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/wavefront.md - learn_path: /docs/exporting-metrics/connectors/wavefront +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/metricfire.md + learn_path: /docs/exporting-metrics/connectors/metricfire - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/thanos.md learn_path: /docs/exporting-metrics/connectors/thanos -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/greptimedb.md - learn_path: /docs/exporting-metrics/connectors/greptimedb - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/timescaledb.md learn_path: /docs/exporting-metrics/connectors/timescaledb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/greptimedb.md + learn_path: /docs/exporting-metrics/connectors/greptimedb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/azure_event_hub.md + learn_path: /docs/exporting-metrics/connectors/azure-event-hub +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/new_relic.md + learn_path: /docs/exporting-metrics/connectors/new-relic +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/cratedb.md + learn_path: /docs/exporting-metrics/connectors/cratedb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/quasardb.md + learn_path: /docs/exporting-metrics/connectors/quasardb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/tikv.md + learn_path: /docs/exporting-metrics/connectors/tikv +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/kafka.md + learn_path: /docs/exporting-metrics/connectors/kafka - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/m3db.md learn_path: /docs/exporting-metrics/connectors/m3db - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/vmware_aria.md learn_path: /docs/exporting-metrics/connectors/vmware-aria -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/irondb.md - learn_path: /docs/exporting-metrics/connectors/irondb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/cortex.md + learn_path: /docs/exporting-metrics/connectors/cortex +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/google_bigquery.md + learn_path: /docs/exporting-metrics/connectors/google-bigquery +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/opeansearch.md + learn_path: /docs/exporting-metrics/connectors/opeansearch +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/victoriametrics.md + learn_path: /docs/exporting-metrics/connectors/victoriametrics +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/splunk_signalfx.md + learn_path: /docs/exporting-metrics/connectors/splunk-signalfx +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/integrations/postgresql.md + learn_path: /docs/exporting-metrics/connectors/postgresql - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/prometheus/remote_write/README.md learn_path: /docs/exporting-metrics/connectors/prometheus-remote-write -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/mongodb/README.md - learn_path: /docs/exporting-metrics/connectors/mongodb -- custom_edit_url: https://github.com/netdata/netdata/edit/master/tests/health_mgmtapi/README.md - learn_path: /docs/developer-and-contributor-corner/health-command-api-tester +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/json/README.md + learn_path: /docs/exporting-metrics/connectors/json +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/opentsdb/README.md + learn_path: /docs/exporting-metrics/connectors/opentsdb +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/pubsub/README.md + learn_path: /docs/exporting-metrics/connectors/google-cloud-pub-sub +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/database/README.md + learn_path: /docs/netdata-agent/database +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/database/CONFIGURATION.md + learn_path: /docs/netdata-agent/configuration/database +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/database/engine/README.md + learn_path: /docs/developer-and-contributor-corner/database-engine +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/daemon/README.md + learn_path: /docs/netdata-agent/daemon +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/daemon/config/README.md + learn_path: /docs/netdata-agent/configuration/daemon +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/cli/README.md + learn_path: /docs/netdata-agent/agent-cli +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/README.md + learn_path: /docs/alerts-&-notifications +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/REFERENCE.md + learn_path: /docs/alerts-&-notifications/alert-configuration-reference +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/alert-configuration-ordering.md + learn_path: /docs/alerts-&-notifications/alert-configuration-ordering +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/overriding-stock-alerts.md + learn_path: /docs/alerts-&-notifications/overriding-stock-alerts +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/agent-notifications-reference +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/signl4/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/signl4 +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/twilio/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/twilio +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/discord/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/discord +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/email/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/email +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/opsgenie/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/opsgenie +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/awssns/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/aws-sns +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/smseagle/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/smseagle +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/telegram/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/telegram +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/custom/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/custom +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/ilert/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/ilert +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/smstools3/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/sms +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/flock/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/flock +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/slack/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/slack +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/gotify/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/gotify +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/dynatrace/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/dynatrace +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/ntfy/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/ntfy +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/pushover/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/pushover +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/pushbullet/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/pushbullet +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/messagebird/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/messagebird +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/alerta/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/alerta +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/irc/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/irc +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/matrix/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/matrix +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/pagerduty/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/pagerduty +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/kavenegar/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/kavenegar +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/syslog/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/syslog +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/rocketchat/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/rocketchat +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/msteams/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/microsoft-teams +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/health/notifications/prowl/README.md + learn_path: /docs/alerts-&-notifications/notifications/agent-dispatched-notifications/prowl +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/ml/ml-configuration.md + learn_path: /docs/netdata-ai/anomaly-detection/ml-configuration - custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/building-native-packages-locally.md learn_path: /docs/developer-and-contributor-corner/build-the-netdata-agent-yourself/how-to-build-native-deb-rpm-packages-locally-for-testing - custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/PLATFORM_SUPPORT.md learn_path: /docs/netdata-agent/versions-&-platforms -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/docker/README.md - learn_path: /docs/netdata-agent/installation/docker - custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/makeself/README.md learn_path: /docs/netdata-agent/installation/linux/static-binary-linux-packages +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/maintainers/README.md + learn_path: /docs/developer-and-contributor-corner/build-the-netdata-agent-yourself/package-maintainers +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/docker/README.md + learn_path: /docs/netdata-agent/installation/docker +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/README.md + learn_path: /docs/netdata-agent/installation - custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/UPDATE.md learn_path: /docs/netdata-agent/maintenance/update - custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/UNINSTALL.md learn_path: /docs/netdata-agent/maintenance/uninstall -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/README.md - learn_path: /docs/netdata-agent/installation -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/freebsd.md - learn_path: /docs/netdata-agent/installation/freebsd -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/pfsense.md - learn_path: /docs/netdata-agent/installation/pfsense - custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/source.md learn_path: /docs/developer-and-contributor-corner/build-the-netdata-agent-yourself/compile-from-source-code -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/aws.md - learn_path: /docs/netdata-agent/installation/aws -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/azure.md - learn_path: /docs/netdata-agent/installation/azure -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/macos.md - learn_path: /docs/netdata-agent/installation/macos +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/kickstart.md + learn_path: /docs/netdata-agent/installation/linux - custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/synology.md learn_path: /docs/netdata-agent/installation/synology -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/ansible.md - learn_path: /docs/netdata-agent/installation/ansible -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/manual.md - learn_path: /docs/developer-and-contributor-corner/install-the-netdata-agent-from-a-git-checkout -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/packages.md - learn_path: /docs/netdata-agent/installation/linux/native-linux-distribution-packages +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/macos.md + learn_path: /docs/netdata-agent/installation/macos +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/freebsd.md + learn_path: /docs/netdata-agent/installation/freebsd - custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/kubernetes.md learn_path: /docs/netdata-agent/installation/kubernetes +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/packages.md + learn_path: /docs/netdata-agent/installation/linux/native-linux-distribution-packages +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/azure.md + learn_path: /docs/netdata-agent/installation/azure +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/manual.md + learn_path: /docs/developer-and-contributor-corner/install-the-netdata-agent-from-a-git-checkout - custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/gcp.md learn_path: /docs/netdata-agent/installation/gcp +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/pfsense.md + learn_path: /docs/netdata-agent/installation/pfsense +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/ansible.md + learn_path: /docs/netdata-agent/installation/ansible - custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/offline.md learn_path: /docs/netdata-agent/installation/linux/offline-systems -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/kickstart.md - learn_path: /docs/netdata-agent/installation/linux +- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/aws.md + learn_path: /docs/netdata-agent/installation/aws - custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/windows/WINDOWS_INSTALLER.md learn_path: /docs/netdata-agent/installation/windows -- custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/maintainers/README.md - learn_path: /docs/developer-and-contributor-corner/build-the-netdata-agent-yourself/package-maintainers -- custom_edit_url: https://github.com/netdata/.github/edit/main/CODE_OF_CONDUCT.md - learn_path: /docs/developer-and-contributor-corner/community-code-of-conduct -- custom_edit_url: https://github.com/netdata/.github/edit/main/CONTRIBUTING.md - learn_path: /docs/developer-and-contributor-corner/contributing +- custom_edit_url: https://github.com/netdata/netdata/edit/master/tests/health_mgmtapi/README.md + learn_path: /docs/developer-and-contributor-corner/health-command-api-tester +- custom_edit_url: https://github.com/netdata/agent-service-discovery/edit/master/README.md + learn_path: /docs/collecting-metrics/service-discovery +- custom_edit_url: https://github.com/netdata/helmchart/edit/master/charts/netdata/README.md + learn_path: /docs/netdata-agent/installation/kubernetes-helm-chart-reference +- custom_edit_url: https://github.com/netdata/netdata-grafana-datasource-plugin/edit/master/README.md + learn_path: /docs/dashboards-and-charts/grafana-plugin +- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/hardening-guide.md + learn_path: /docs/netdata-cloud-on-prem/security-hardening-guide +- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/image-signature-verification.md + learn_path: /docs/netdata-cloud-on-prem/container-image-signature-verification +- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/README.md + learn_path: /docs/netdata-cloud-on-prem +- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/poc-without-k8s.md + learn_path: /docs/netdata-cloud-on-prem/poc-without-k8s +- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/installation.md + learn_path: /docs/netdata-cloud-on-prem/installation +- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/ecr-mirror.md + learn_path: /docs/netdata-cloud-on-prem/mirroring-image-registry +- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/sbom.md + learn_path: /docs/netdata-cloud-on-prem/software-bill-of-materials +- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/netpol.md + learn_path: /docs/netdata-cloud-on-prem/kubernetes-network-policy-configuration +- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/docs/learn.netdata.cloud/troubleshooting.md + learn_path: /docs/netdata-cloud-on-prem/troubleshooting +- custom_edit_url: https://github.com/netdata/netdata-cloud-onprem/edit/master/netdata-cloud-onprem/RELEASE-NOTES.md + learn_path: /docs/netdata-cloud-on-prem/release-notes - custom_edit_url: https://github.com/netdata/.github/edit/main/SECURITY.md learn_path: /docs/developer-and-contributor-corner/security-policy +- custom_edit_url: https://github.com/netdata/.github/edit/main/CONTRIBUTING.md + learn_path: /docs/developer-and-contributor-corner/contributing +- custom_edit_url: https://github.com/netdata/.github/edit/main/CODE_OF_CONDUCT.md + learn_path: /docs/developer-and-contributor-corner/community-code-of-conduct