diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-26 08:15:24 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-26 08:15:35 +0000 |
commit | f09848204fa5283d21ea43e262ee41aa578e1808 (patch) | |
tree | c62385d7adf209fa6a798635954d887f718fb3fb /src/collectors/charts.d.plugin/ap | |
parent | Releasing debian version 1.46.3-2. (diff) | |
download | netdata-f09848204fa5283d21ea43e262ee41aa578e1808.tar.xz netdata-f09848204fa5283d21ea43e262ee41aa578e1808.zip |
Merging upstream version 1.47.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/collectors/charts.d.plugin/ap')
l--------- | src/collectors/charts.d.plugin/ap/README.md | 1 | ||||
-rw-r--r-- | src/collectors/charts.d.plugin/ap/ap.chart.sh | 179 | ||||
-rw-r--r-- | src/collectors/charts.d.plugin/ap/ap.conf | 23 | ||||
-rw-r--r-- | src/collectors/charts.d.plugin/ap/integrations/access_points.md | 174 | ||||
-rw-r--r-- | src/collectors/charts.d.plugin/ap/metadata.yaml | 146 |
5 files changed, 0 insertions, 523 deletions
diff --git a/src/collectors/charts.d.plugin/ap/README.md b/src/collectors/charts.d.plugin/ap/README.md deleted file mode 120000 index 5b6e75130..000000000 --- a/src/collectors/charts.d.plugin/ap/README.md +++ /dev/null @@ -1 +0,0 @@ -integrations/access_points.md
\ No newline at end of file diff --git a/src/collectors/charts.d.plugin/ap/ap.chart.sh b/src/collectors/charts.d.plugin/ap/ap.chart.sh deleted file mode 100644 index 80c9dc602..000000000 --- a/src/collectors/charts.d.plugin/ap/ap.chart.sh +++ /dev/null @@ -1,179 +0,0 @@ -# shellcheck shell=bash -# no need for shebang - this file is loaded from charts.d.plugin -# SPDX-License-Identifier: GPL-3.0-or-later - -# netdata -# real-time performance and health monitoring, done right! -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr> -# - -# _update_every is a special variable - it holds the number of seconds -# between the calls of the _update() function -ap_update_every= -ap_priority=6900 - -declare -A ap_devs=() - -# _check is called once, to find out if this chart should be enabled or not -ap_check() { - require_cmd iw || return 1 - local ev - ev=$(run iw dev | awk ' - BEGIN { - i = ""; - ssid = ""; - ap = 0; - } - /^[ \t]+Interface / { - if( ap == 1 ) { - print "ap_devs[" i "]=\"" ssid "\"" - } - - i = $2; - ssid = ""; - ap = 0; - } - /^[ \t]+ssid / { ssid = $2; } - /^[ \t]+type AP$/ { ap = 1; } - END { - if( ap == 1 ) { - print "ap_devs[" i "]=\"" ssid "\"" - } - } - ') - eval "${ev}" - - # this should return: - # - 0 to enable the chart - # - 1 to disable the chart - - [ ${#ap_devs[@]} -gt 0 ] && return 0 - error "no devices found in AP mode, with 'iw dev'" - return 1 -} - -# _create is called once, to create the charts -ap_create() { - local ssid dev - - for dev in "${!ap_devs[@]}"; do - ssid="${ap_devs[${dev}]}" - - # create the chart with 3 dimensions - cat << EOF -CHART ap_clients.${dev} '' "Connected clients to ${ssid} on ${dev}" "clients" ${dev} ap.clients line $((ap_priority + 1)) $ap_update_every '' '' 'ap' -DIMENSION clients '' absolute 1 1 - -CHART ap_bandwidth.${dev} '' "Bandwidth for ${ssid} on ${dev}" "kilobits/s" ${dev} ap.net area $((ap_priority + 2)) $ap_update_every '' '' 'ap' -DIMENSION received '' incremental 8 1024 -DIMENSION sent '' incremental -8 1024 - -CHART ap_packets.${dev} '' "Packets for ${ssid} on ${dev}" "packets/s" ${dev} ap.packets line $((ap_priority + 3)) $ap_update_every '' '' 'ap' -DIMENSION received '' incremental 1 1 -DIMENSION sent '' incremental -1 1 - -CHART ap_issues.${dev} '' "Transmit Issues for ${ssid} on ${dev}" "issues/s" ${dev} ap.issues line $((ap_priority + 4)) $ap_update_every '' '' 'ap' -DIMENSION retries 'tx retries' incremental 1 1 -DIMENSION failures 'tx failures' incremental -1 1 - -CHART ap_signal.${dev} '' "Average Signal for ${ssid} on ${dev}" "dBm" ${dev} ap.signal line $((ap_priority + 5)) $ap_update_every '' '' 'ap' -DIMENSION signal 'average signal' absolute 1 1000 - -CHART ap_bitrate.${dev} '' "Bitrate for ${ssid} on ${dev}" "Mbps" ${dev} ap.bitrate line $((ap_priority + 6)) $ap_update_every '' '' 'ap' -DIMENSION receive '' absolute 1 1000 -DIMENSION transmit '' absolute -1 1000 -DIMENSION expected 'expected throughput' absolute 1 1000 -EOF - done - - return 0 -} - -# _update is called continuously, to collect the values -ap_update() { - # the first argument to this function is the microseconds since last update - # pass this parameter to the BEGIN statement (see below). - - # do all the work to collect / calculate the values - # for each dimension - # remember: KEEP IT SIMPLE AND SHORT - - for dev in "${!ap_devs[@]}"; do - echo - echo "DEVICE ${dev}" - iw "${dev}" station dump - done | awk ' - function zero_data() { - dev = ""; - c = 0; - rb = 0; - tb = 0; - rp = 0; - tp = 0; - tr = 0; - tf = 0; - tt = 0; - rt = 0; - s = 0; - g = 0; - e = 0; - } - function print_device() { - if(dev != "" && length(dev) > 0) { - print "BEGIN ap_clients." dev; - print "SET clients = " c; - print "END"; - print "BEGIN ap_bandwidth." dev; - print "SET received = " rb; - print "SET sent = " tb; - print "END"; - print "BEGIN ap_packets." dev; - print "SET received = " rp; - print "SET sent = " tp; - print "END"; - print "BEGIN ap_issues." dev; - print "SET retries = " tr; - print "SET failures = " tf; - print "END"; - - if( c == 0 ) c = 1; - print "BEGIN ap_signal." dev; - print "SET signal = " int(s / c); - print "END"; - print "BEGIN ap_bitrate." dev; - print "SET receive = " int(rt / c); - print "SET transmit = " int(tt / c); - print "SET expected = " int(e / c); - print "END"; - } - zero_data(); - } - BEGIN { - zero_data(); - } - /^DEVICE / { - print_device(); - dev = $2; - } - /^Station/ { c++; } - /^[ \t]+rx bytes:/ { rb += $3; } - /^[ \t]+tx bytes:/ { tb += $3; } - /^[ \t]+rx packets:/ { rp += $3; } - /^[ \t]+tx packets:/ { tp += $3; } - /^[ \t]+tx retries:/ { tr += $3; } - /^[ \t]+tx failed:/ { tf += $3; } - /^[ \t]+signal:/ { x = $2; s += x * 1000; } - /^[ \t]+rx bitrate:/ { x = $3; rt += x * 1000; } - /^[ \t]+tx bitrate:/ { x = $3; tt += x * 1000; } - /^[ \t]+expected throughput:(.*)Mbps/ { - x=$3; - sub(/Mbps/, "", x); - e += x * 1000; - } - END { - print_device(); - } - ' - - return 0 -} diff --git a/src/collectors/charts.d.plugin/ap/ap.conf b/src/collectors/charts.d.plugin/ap/ap.conf deleted file mode 100644 index 38fc157ce..000000000 --- a/src/collectors/charts.d.plugin/ap/ap.conf +++ /dev/null @@ -1,23 +0,0 @@ -# no need for shebang - this file is loaded from charts.d.plugin - -# netdata -# real-time performance and health monitoring, done right! -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr> -# GPL v3+ - -# nothing fancy to configure. -# this module will run -# iw dev - to find wireless devices in AP mode -# iw ${dev} station dump - to get connected clients -# based on the above, it generates several charts - -# the data collection frequency -# if unset, will inherit the netdata update frequency -#ap_update_every= - -# the charts priority on the dashboard -#ap_priority=6900 - -# the number of retries to do in case of failure -# before disabling the module -#ap_retries=10 diff --git a/src/collectors/charts.d.plugin/ap/integrations/access_points.md b/src/collectors/charts.d.plugin/ap/integrations/access_points.md deleted file mode 100644 index 7eea0f95a..000000000 --- a/src/collectors/charts.d.plugin/ap/integrations/access_points.md +++ /dev/null @@ -1,174 +0,0 @@ -<!--startmeta -custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/collectors/charts.d.plugin/ap/README.md" -meta_yaml: "https://github.com/netdata/netdata/edit/master/src/collectors/charts.d.plugin/ap/metadata.yaml" -sidebar_label: "Access Points" -learn_status: "Published" -learn_rel_path: "Collecting Metrics/Linux Systems/Network" -most_popular: False -message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -endmeta--> - -# Access Points - - -<img src="https://netdata.cloud/img/network-wired.svg" width="150"/> - - -Plugin: charts.d.plugin -Module: ap - -<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" /> - -## Overview - -The ap collector visualizes data related to wireless access points. - -It uses the `iw` command line utility to detect access points. For each interface that is of `type AP`, it then runs `iw INTERFACE station dump` and collects statistics. - -This collector is only supported on the following platforms: - -- Linux - -This collector only supports collecting metrics from a single instance of this integration. - - -### Default Behavior - -#### Auto-Detection - -The plugin is able to auto-detect if you are running access points on your linux box. - -#### Limits - -The default configuration for this integration does not impose any limits on data collection. - -#### Performance Impact - -The default configuration for this integration is not expected to impose a significant performance impact on the system. - - -## 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. - - - -### Per wireless device - -These metrics refer to the entire monitored application. - -This scope has no labels. - -Metrics: - -| Metric | Dimensions | Unit | -|:------|:----------|:----| -| ap.clients | clients | clients | -| ap.net | received, sent | kilobits/s | -| ap.packets | received, sent | packets/s | -| ap.issues | retries, failures | issues/s | -| ap.signal | average signal | dBm | -| ap.bitrate | receive, transmit, expected | Mbps | - - - -## Alerts - -There are no alerts configured by default for this integration. - - -## Setup - -### Prerequisites - -#### Install charts.d plugin - -If [using our official native DEB/RPM packages](/packaging/installer/UPDATE.md#determine-which-installation-method-you-used), make sure `netdata-plugin-chartsd` is installed. - - -#### `iw` utility. - -Make sure the `iw` utility is installed. - - -### Configuration - -#### File - -The configuration file name for this integration is `charts.d/ap.conf`. - - -You can edit the configuration file using the `edit-config` script from the -Netdata [config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory). - -```bash -cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata -sudo ./edit-config charts.d/ap.conf -``` -#### Options - -The config file is sourced by the charts.d plugin. It's a standard bash file. - -The following collapsed table contains all the options that can be configured for the ap collector. - - -<details open><summary>Config options</summary> - -| Name | Description | Default | Required | -|:----|:-----------|:-------|:--------:| -| ap_update_every | The data collection frequency. If unset, will inherit the netdata update frequency. | 1 | no | -| ap_priority | Controls the order of charts at the netdata dashboard. | 6900 | no | -| ap_retries | The number of retries to do in case of failure before disabling the collector. | 10 | no | - -</details> - -#### Examples - -##### Change the collection frequency - -Specify a custom collection frequence (update_every) for this collector - -```yaml -# the data collection frequency -# if unset, will inherit the netdata update frequency -ap_update_every=10 - -# the charts priority on the dashboard -#ap_priority=6900 - -# the number of retries to do in case of failure -# before disabling the module -#ap_retries=10 - -``` - - -## Troubleshooting - -### Debug Mode - -To troubleshoot issues with the `ap` collector, run the `charts.d.plugin` with the debug option enabled. The output -should give you clues as to why the collector isn't working. - -- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on - your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. - - ```bash - cd /usr/libexec/netdata/plugins.d/ - ``` - -- Switch to the `netdata` user. - - ```bash - sudo -u netdata -s - ``` - -- Run the `charts.d.plugin` to debug the collector: - - ```bash - ./charts.d.plugin debug 1 ap - ``` - - diff --git a/src/collectors/charts.d.plugin/ap/metadata.yaml b/src/collectors/charts.d.plugin/ap/metadata.yaml deleted file mode 100644 index 6556b42ec..000000000 --- a/src/collectors/charts.d.plugin/ap/metadata.yaml +++ /dev/null @@ -1,146 +0,0 @@ -plugin_name: charts.d.plugin -modules: - - meta: - plugin_name: charts.d.plugin - module_name: ap - monitored_instance: - name: Access Points - link: "" - categories: - - data-collection.linux-systems.network-metrics - icon_filename: "network-wired.svg" - related_resources: - integrations: - list: [] - info_provided_to_referring_integrations: - description: "" - keywords: - - ap - - access - - point - - wireless - - network - most_popular: false - overview: - data_collection: - metrics_description: "The ap collector visualizes data related to wireless access points." - method_description: "It uses the `iw` command line utility to detect access points. For each interface that is of `type AP`, it then runs `iw INTERFACE station dump` and collects statistics." - supported_platforms: - include: [Linux] - exclude: [] - multi_instance: false - additional_permissions: - description: "" - default_behavior: - auto_detection: - description: "The plugin is able to auto-detect if you are running access points on your linux box." - limits: - description: "" - performance_impact: - description: "" - setup: - prerequisites: - list: - - title: "Install charts.d plugin" - description: | - If [using our official native DEB/RPM packages](/packaging/installer/UPDATE.md#determine-which-installation-method-you-used), make sure `netdata-plugin-chartsd` is installed. - - title: "`iw` utility." - description: "Make sure the `iw` utility is installed." - configuration: - file: - name: charts.d/ap.conf - options: - description: | - The config file is sourced by the charts.d plugin. It's a standard bash file. - - The following collapsed table contains all the options that can be configured for the ap collector. - folding: - title: "Config options" - enabled: true - list: - - name: ap_update_every - description: The data collection frequency. If unset, will inherit the netdata update frequency. - default_value: 1 - required: false - - name: ap_priority - description: Controls the order of charts at the netdata dashboard. - default_value: 6900 - required: false - - name: ap_retries - description: The number of retries to do in case of failure before disabling the collector. - default_value: 10 - required: false - examples: - folding: - enabled: false - title: "Config" - list: - - name: Change the collection frequency - description: Specify a custom collection frequence (update_every) for this collector - config: | - # the data collection frequency - # if unset, will inherit the netdata update frequency - ap_update_every=10 - - # the charts priority on the dashboard - #ap_priority=6900 - - # the number of retries to do in case of failure - # before disabling the module - #ap_retries=10 - troubleshooting: - problems: - list: [] - alerts: [] - metrics: - folding: - title: Metrics - enabled: false - description: "" - availability: [] - scopes: - - name: wireless device - description: "These metrics refer to the entire monitored application." - labels: [] - metrics: - - name: ap.clients - description: Connected clients to ${ssid} on ${dev} - unit: "clients" - chart_type: line - dimensions: - - name: clients - - name: ap.net - description: Bandwidth for ${ssid} on ${dev} - unit: "kilobits/s" - chart_type: area - dimensions: - - name: received - - name: sent - - name: ap.packets - description: Packets for ${ssid} on ${dev} - unit: "packets/s" - chart_type: line - dimensions: - - name: received - - name: sent - - name: ap.issues - description: Transmit Issues for ${ssid} on ${dev} - unit: "issues/s" - chart_type: line - dimensions: - - name: retries - - name: failures - - name: ap.signal - description: Average Signal for ${ssid} on ${dev} - unit: "dBm" - chart_type: line - dimensions: - - name: average signal - - name: ap.bitrate - description: Bitrate for ${ssid} on ${dev} - unit: "Mbps" - chart_type: line - dimensions: - - name: receive - - name: transmit - - name: expected |