summaryrefslogtreecommitdiffstats
path: root/collectors/charts.d.plugin
diff options
context:
space:
mode:
Diffstat (limited to 'collectors/charts.d.plugin')
-rw-r--r--collectors/charts.d.plugin/README.md64
-rw-r--r--collectors/charts.d.plugin/ap/README.md4
-rw-r--r--collectors/charts.d.plugin/ap/metrics.csv7
-rw-r--r--collectors/charts.d.plugin/apcupsd/README.md4
-rw-r--r--collectors/charts.d.plugin/apcupsd/metrics.csv11
-rwxr-xr-xcollectors/charts.d.plugin/charts.d.plugin.in1
-rw-r--r--collectors/charts.d.plugin/example/README.md2
-rw-r--r--collectors/charts.d.plugin/libreswan/README.md4
-rw-r--r--collectors/charts.d.plugin/libreswan/metrics.csv3
-rw-r--r--collectors/charts.d.plugin/nut/README.md4
-rw-r--r--collectors/charts.d.plugin/nut/metrics.csv12
-rw-r--r--collectors/charts.d.plugin/opensips/README.md4
-rw-r--r--collectors/charts.d.plugin/opensips/metrics.csv20
-rw-r--r--collectors/charts.d.plugin/sensors/README.md36
-rw-r--r--collectors/charts.d.plugin/sensors/metrics.csv8
-rw-r--r--collectors/charts.d.plugin/sensors/sensors.chart.sh2
16 files changed, 115 insertions, 71 deletions
diff --git a/collectors/charts.d.plugin/README.md b/collectors/charts.d.plugin/README.md
index 092a3f027..3e4edf562 100644
--- a/collectors/charts.d.plugin/README.md
+++ b/collectors/charts.d.plugin/README.md
@@ -1,20 +1,14 @@
-<!--
-title: "charts.d.plugin"
-custom_edit_url: "https://github.com/netdata/netdata/edit/master/collectors/charts.d.plugin/README.md"
-sidebar_label: "charts.d.plugin"
-learn_status: "Published"
-learn_topic_type: "Tasks"
-learn_rel_path: "Developers/Collectors"
--->
-
# charts.d.plugin
`charts.d.plugin` is a Netdata external plugin. It is an **orchestrator** for data collection modules written in `BASH` v4+.
-1. It runs as an independent process `ps fax` shows it
-2. It is started and stopped automatically by Netdata
-3. It communicates with Netdata via a unidirectional pipe (sending data to the `netdata` daemon)
-4. Supports any number of data collection **modules**
+1. It runs as an independent process `ps fax` shows it
+2. It is started and stopped automatically by Netdata
+3. It communicates with Netdata via a unidirectional pipe (sending data to the `netdata` daemon)
+4. Supports any number of data collection **modules**
+
+To better understand the guidelines and the API behind our External plugins, please have a look at the [Introduction to External plugins](https://github.com/netdata/netdata/blob/master/collectors/plugins.d/README.md) prior to reading this page.
+
`charts.d.plugin` has been designed so that the actual script that will do data collection will be permanently in
memory, collecting data with as little overheads as possible
@@ -25,12 +19,11 @@ The scripts should have the filename suffix: `.chart.sh`.
## Configuration
-`charts.d.plugin` itself can be configured using the configuration file `/etc/netdata/charts.d.conf`
-(to edit it on your system run `/etc/netdata/edit-config charts.d.conf`). This file is also a BASH script.
+`charts.d.plugin` itself can be [configured](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#use-edit-config-to-edit-configuration-files) using the configuration file `/etc/netdata/charts.d.conf`. This file is also a BASH script.
In this file, you can place statements like this:
-```
+```conf
enable_all_charts="yes"
X="yes"
Y="no"
@@ -48,36 +41,31 @@ A `charts.d.plugin` module is a BASH script defining a few functions.
For a module called `X`, the following criteria must be met:
-1. The module script must be called `X.chart.sh` and placed in `/usr/libexec/netdata/charts.d`.
+1. The module script must be called `X.chart.sh` and placed in `/usr/libexec/netdata/charts.d`.
-2. If the module needs a configuration, it should be called `X.conf` and placed in `/etc/netdata/charts.d`.
- The configuration file `X.conf` is also a BASH script itself.
- To edit the default files supplied by Netdata, run `/etc/netdata/edit-config charts.d/X.conf`,
- where `X` is the name of the module.
+2. If the module needs a configuration, it should be called `X.conf` and placed in `/etc/netdata/charts.d`.
+ The configuration file `X.conf` is also a BASH script itself.
+ You can edit the default files supplied by Netdata, by editing `/etc/netdata/edit-config charts.d/X.conf`, where `X` is the name of the module.
-3. All functions and global variables defined in the script and its configuration, must begin with `X_`.
+3. All functions and global variables defined in the script and its configuration, must begin with `X_`.
-4. The following functions must be defined:
+4. The following functions must be defined:
- - `X_check()` - returns 0 or 1 depending on whether the module is able to run or not
+ - `X_check()` - returns 0 or 1 depending on whether the module is able to run or not
(following the standard Linux command line return codes: 0 = OK, the collector can operate and 1 = FAILED,
the collector cannot be used).
- - `X_create()` - creates the Netdata charts, following the standard Netdata plugin guides as described in
- **[External Plugins](https://github.com/netdata/netdata/blob/master/collectors/plugins.d/README.md)** (commands `CHART` and `DIMENSION`).
+ - `X_create()` - creates the Netdata charts (commands `CHART` and `DIMENSION`).
The return value does matter: 0 = OK, 1 = FAILED.
- - `X_update()` - collects the values for the defined charts, following the standard Netdata plugin guides
- as described in **[External Plugins](https://github.com/netdata/netdata/blob/master/collectors/plugins.d/README.md)** (commands `BEGIN`, `SET`, `END`).
+ - `X_update()` - collects the values for the defined charts (commands `BEGIN`, `SET`, `END`).
The return value also matters: 0 = OK, 1 = FAILED.
-5. The following global variables are available to be set:
- - `X_update_every` - is the data collection frequency for the module script, in seconds.
+5. The following global variables are available to be set:
+ - `X_update_every` - is the data collection frequency for the module script, in seconds.
The module script may use more functions or variables. But all of them must begin with `X_`.
-The standard Netdata plugin variables are also available (check **[External Plugins](https://github.com/netdata/netdata/blob/master/collectors/plugins.d/README.md)**).
-
### X_check()
The purpose of the BASH function `X_check()` is to check if the module can collect data (or check its config).
@@ -90,7 +78,7 @@ connect to a local mysql database to find out if it can read the values it needs
### X_create()
The purpose of the BASH function `X_create()` is to create the charts and dimensions using the standard Netdata
-plugin guides (**[External Plugins](https://github.com/netdata/netdata/blob/master/collectors/plugins.d/README.md)**).
+plugin guidelines.
`X_create()` will be called just once and only after `X_check()` was successful.
You can however call it yourself when there is need for it (for example to add a new dimension to an existing chart).
@@ -100,7 +88,7 @@ A non-zero return value will disable the collector.
### X_update()
`X_update()` will be called repeatedly every `X_update_every` seconds, to collect new values and send them to Netdata,
-following the Netdata plugin guides (**[External Plugins](https://github.com/netdata/netdata/blob/master/collectors/plugins.d/README.md)**).
+following the Netdata plugin guidelines.
The function will be called with one parameter: microseconds since the last time it was run. This value should be
appended to the `BEGIN` statement of every chart updated by the collector script.
@@ -187,16 +175,14 @@ You can have multiple `charts.d.plugin` running to overcome this problem.
This is what you need to do:
-1. Decide a new name for the new charts.d instance: example `charts2.d`.
+1. Decide a new name for the new charts.d instance: example `charts2.d`.
-2. Create/edit the files `/etc/netdata/charts.d.conf` and `/etc/netdata/charts2.d.conf` and enable / disable the
+2. Create/edit the files `/etc/netdata/charts.d.conf` and `/etc/netdata/charts2.d.conf` and enable / disable the
module you want each to run. Remember to set `enable_all_charts="no"` to both of them, and enable the individual
modules for each.
-3. link `/usr/libexec/netdata/plugins.d/charts.d.plugin` to `/usr/libexec/netdata/plugins.d/charts2.d.plugin`.
+3. link `/usr/libexec/netdata/plugins.d/charts.d.plugin` to `/usr/libexec/netdata/plugins.d/charts2.d.plugin`.
Netdata will spawn a new charts.d process.
Execute the above in this order, since Netdata will (by default) attempt to start new plugins soon after they are
created in `/usr/libexec/netdata/plugins.d/`.
-
-
diff --git a/collectors/charts.d.plugin/ap/README.md b/collectors/charts.d.plugin/ap/README.md
index 03ab6d13e..bc7460a28 100644
--- a/collectors/charts.d.plugin/ap/README.md
+++ b/collectors/charts.d.plugin/ap/README.md
@@ -4,10 +4,10 @@ custom_edit_url: "https://github.com/netdata/netdata/edit/master/collectors/char
sidebar_label: "Access points"
learn_status: "Published"
learn_topic_type: "References"
-learn_rel_path: "References/Collectors references/Remotes/Devices"
+learn_rel_path: "Integrations/Monitor/Remotes/Devices"
-->
-# Access point monitoring with Netdata
+# Access point collector
The `ap` collector visualizes data related to access points.
diff --git a/collectors/charts.d.plugin/ap/metrics.csv b/collectors/charts.d.plugin/ap/metrics.csv
new file mode 100644
index 000000000..8428cf6db
--- /dev/null
+++ b/collectors/charts.d.plugin/ap/metrics.csv
@@ -0,0 +1,7 @@
+metric,scope,dimensions,unit,description,chart_type,labels,plugin,module
+ap.clients,wireless device,clients,clients,"Connected clients to ${ssid} on ${dev}",line,,charts.d.plugin,ap
+ap.net,wireless device,"received, sent",kilobits/s,"Bandwidth for ${ssid} on ${dev}",area,,charts.d.plugin,ap
+ap.packets,wireless device,"received, sent",packets/s,"Packets for ${ssid} on ${dev}",line,,charts.d.plugin,ap
+ap.issues,wireless device,"retries, failures",issues/s,"Transmit Issues for ${ssid} on ${dev}",line,,charts.d.plugin,ap
+ap.signal,wireless device,"average signal",dBm,"Average Signal for ${ssid} on ${dev}",line,,charts.d.plugin,ap
+ap.bitrate,wireless device,"receive, transmit, expected",Mbps,"Bitrate for ${ssid} on ${dev}",line,,charts.d.plugin,ap \ No newline at end of file
diff --git a/collectors/charts.d.plugin/apcupsd/README.md b/collectors/charts.d.plugin/apcupsd/README.md
index 602977be1..6934d59c0 100644
--- a/collectors/charts.d.plugin/apcupsd/README.md
+++ b/collectors/charts.d.plugin/apcupsd/README.md
@@ -4,10 +4,10 @@ custom_edit_url: "https://github.com/netdata/netdata/edit/master/collectors/char
sidebar_label: "APC UPS"
learn_status: "Published"
learn_topic_type: "References"
-learn_rel_path: "References/Collectors references/Remotes/Devices"
+learn_rel_path: "Integrations/Monitor/Remotes/Devices"
-->
-# APC UPS monitoring with Netdata
+# APC UPS collector
Monitors different APC UPS models and retrieves status information using `apcaccess` tool.
diff --git a/collectors/charts.d.plugin/apcupsd/metrics.csv b/collectors/charts.d.plugin/apcupsd/metrics.csv
new file mode 100644
index 000000000..828abf1f1
--- /dev/null
+++ b/collectors/charts.d.plugin/apcupsd/metrics.csv
@@ -0,0 +1,11 @@
+metric,scope,dimensions,unit,description,chart_type,labels,plugin,module
+apcupsd.charge,ups,charge,percentage,"UPS Charge",area,,charts.d.plugin,apcupsd
+apcupsd.battery.voltage,ups,"voltage, nominal",Volts,"UPS Battery Voltage",line,,charts.d.plugin,apcupsd
+apcupsd.input.voltage,ups,"voltage, min, max",Volts,"UPS Input Voltage",line,,charts.d.plugin,apcupsd
+apcupsd.output.voltage,ups,"absolute, nominal",Volts,"UPS Output Voltage",line,,charts.d.plugin,apcupsd
+apcupsd.input.frequency,ups,frequency,Hz,"UPS Input Voltage",line,,charts.d.plugin,apcupsd
+apcupsd.load,ups,load,percentage,"UPS Load",area,,charts.d.plugin,apcupsd
+apcupsd.load_usage,ups,load,Watts,"UPS Load Usage",area,,charts.d.plugin,apcupsd
+apcupsd.temperature,ups,temp,Celsius,"UPS Temperature",line,,charts.d.plugin,apcupsd
+apcupsd.time,ups,time,Minutes,"UPS Time Remaining",area,,charts.d.plugin,apcupsd
+apcupsd.online,ups,online,boolean,"UPS ONLINE flag",line,,charts.d.plugin,apcupsd \ No newline at end of file
diff --git a/collectors/charts.d.plugin/charts.d.plugin.in b/collectors/charts.d.plugin/charts.d.plugin.in
index 9187fc25d..20996eb93 100755
--- a/collectors/charts.d.plugin/charts.d.plugin.in
+++ b/collectors/charts.d.plugin/charts.d.plugin.in
@@ -32,6 +32,7 @@ chartsd_cleanup() {
[ $debug -eq 1 ] && echo >&2 "$PROGRAM_NAME: cleaning up temporary directory $TMP_DIR ..."
rm -rf "$TMP_DIR"
fi
+ echo "EXIT"
exit 0
}
trap chartsd_cleanup EXIT QUIT HUP INT TERM
diff --git a/collectors/charts.d.plugin/example/README.md b/collectors/charts.d.plugin/example/README.md
index d5faaabf4..c2860eb3d 100644
--- a/collectors/charts.d.plugin/example/README.md
+++ b/collectors/charts.d.plugin/example/README.md
@@ -4,7 +4,7 @@ custom_edit_url: "https://github.com/netdata/netdata/edit/master/collectors/char
sidebar_label: "example-charts.d.plugin"
learn_status: "Published"
learn_topic_type: "References"
-learn_rel_path: "References/Collectors references/Mock Collectors"
+learn_rel_path: "Integrations/Monitor/Mock Collectors"
-->
# Example
diff --git a/collectors/charts.d.plugin/libreswan/README.md b/collectors/charts.d.plugin/libreswan/README.md
index 7c4eabcf9..a20eb86c0 100644
--- a/collectors/charts.d.plugin/libreswan/README.md
+++ b/collectors/charts.d.plugin/libreswan/README.md
@@ -4,10 +4,10 @@ custom_edit_url: "https://github.com/netdata/netdata/edit/master/collectors/char
sidebar_label: "Libreswan IPSec tunnels"
learn_status: "Published"
learn_topic_type: "References"
-learn_rel_path: "References/Collectors references/Networking"
+learn_rel_path: "Integrations/Monitor/Networking"
-->
-# Libreswan IPSec tunnel monitoring with Netdata
+# Libreswan IPSec tunnel collector
Collects bytes-in, bytes-out and uptime for all established libreswan IPSEC tunnels.
diff --git a/collectors/charts.d.plugin/libreswan/metrics.csv b/collectors/charts.d.plugin/libreswan/metrics.csv
new file mode 100644
index 000000000..e81c43b26
--- /dev/null
+++ b/collectors/charts.d.plugin/libreswan/metrics.csv
@@ -0,0 +1,3 @@
+metric,scope,dimensions,unit,description,chart_type,labels,plugin,module
+libreswan.net,IPSEC tunnel,"in, out",kilobits/s,"LibreSWAN Tunnel ${name} Traffic",area,,charts.d.plugin,libreswan
+libreswan.uptime,IPSEC tunnel,uptime,seconds,"LibreSWAN Tunnel ${name} Uptime",line,,charts.d.plugin,libreswan \ No newline at end of file
diff --git a/collectors/charts.d.plugin/nut/README.md b/collectors/charts.d.plugin/nut/README.md
index 7bb8a5507..448825445 100644
--- a/collectors/charts.d.plugin/nut/README.md
+++ b/collectors/charts.d.plugin/nut/README.md
@@ -4,10 +4,10 @@ custom_edit_url: "https://github.com/netdata/netdata/edit/master/collectors/char
sidebar_label: "UPS/PDU"
learn_status: "Published"
learn_topic_type: "References"
-learn_rel_path: "References/Collectors references/Remotes/Devices"
+learn_rel_path: "Integrations/Monitor/Remotes/Devices"
-->
-# UPS/PDU monitoring with Netdata
+# UPS/PDU collector
Collects UPS data for all power devices configured in the system.
diff --git a/collectors/charts.d.plugin/nut/metrics.csv b/collectors/charts.d.plugin/nut/metrics.csv
new file mode 100644
index 000000000..2abd57251
--- /dev/null
+++ b/collectors/charts.d.plugin/nut/metrics.csv
@@ -0,0 +1,12 @@
+metric,scope,dimensions,unit,description,chart_type,labels,plugin,module
+nut.charge,ups,charge,percentage,"UPS Charge",area,,charts.d.plugin,nut
+nut.runtime,ups,runtime,seconds,"UPS Runtime",line,,charts.d.plugin,nut
+nut.battery.voltage,ups,"voltage, high, low, nominal",Volts,"UPS Battery Voltage",line,,charts.d.plugin,nut
+nut.input.voltage,ups,"voltage, fault, nominal",Volts,"UPS Input Voltage",line,,charts.d.plugin,nut
+nut.input.current,ups,nominal,Ampere,"UPS Input Current",line,,charts.d.plugin,nut
+nut.input.frequency,ups,"frequency, nominal",Hz,"UPS Input Frequency",line,,charts.d.plugin,nut
+nut.output.voltage,ups,voltage,Volts,"UPS Output Voltage",line,,charts.d.plugin,nut
+nut.load,ups,load,percentage,"UPS Load",area,,charts.d.plugin,nut
+nut.load_usage,ups,load_usage,Watts,"UPS Load Usage",area,,charts.d.plugin,nut
+nut.temperature,ups,temp,temperature,"UPS Temperature",line,,charts.d.plugin,nut
+nut.clients,ups,clients,clients,"UPS Connected Clients",area,,charts.d.plugin,nut \ No newline at end of file
diff --git a/collectors/charts.d.plugin/opensips/README.md b/collectors/charts.d.plugin/opensips/README.md
index 74624c7f1..c278b53a0 100644
--- a/collectors/charts.d.plugin/opensips/README.md
+++ b/collectors/charts.d.plugin/opensips/README.md
@@ -4,10 +4,10 @@ custom_edit_url: "https://github.com/netdata/netdata/edit/master/collectors/char
sidebar_label: "OpenSIPS"
learn_status: "Published"
learn_topic_type: "References"
-learn_rel_path: "References/Collectors references/Networking"
+learn_rel_path: "Integrations/Monitor/Networking"
-->
-# OpenSIPS monitoring with Netdata
+# OpenSIPS collector
## Configuration
diff --git a/collectors/charts.d.plugin/opensips/metrics.csv b/collectors/charts.d.plugin/opensips/metrics.csv
new file mode 100644
index 000000000..2efab3706
--- /dev/null
+++ b/collectors/charts.d.plugin/opensips/metrics.csv
@@ -0,0 +1,20 @@
+metric,scope,dimensions,unit,description,chart_type,labels,plugin,module
+opensips.dialogs_active,,"active, early",dialogs,"OpenSIPS Active Dialogs",area,,charts.d.plugin,opensips
+opensips.users,,"registered, location, contacts, expires",users,"OpenSIPS Users",line,,charts.d.plugin,opensips
+opensips.registrar,,"accepted, rejected",registrations/s,"OpenSIPS Registrar",line,,charts.d.plugin,opensips
+opensips.transactions,,"UAS, UAC",transactions/s,"OpenSIPS Transactions",line,,charts.d.plugin,opensips
+opensips.core_rcv,,"requests, replies",queries/s,"OpenSIPS Core Receives",line,,charts.d.plugin,opensips
+opensips.core_fwd,,"requests, replies",queries/s,"OpenSIPS Core Forwards",line,,charts.d.plugin,opensips
+opensips.core_drop,,"requests, replies",queries/s,"OpenSIPS Core Drops",line,,charts.d.plugin,opensips
+opensips.core_err,,"requests, replies",queries/s,"OpenSIPS Core Errors",line,,charts.d.plugin,opensips
+opensips.core_bad,,"bad_URIs_rcvd, unsupported_methods, bad_msg_hdr",queries/s,"OpenSIPS Core Bad",line,,charts.d.plugin,opensips
+opensips.tm_replies,,"received, relayed, local",replies/s,"OpenSIPS TM Replies",line,,charts.d.plugin,opensips
+opensips.transactions_status,,"2xx, 3xx, 4xx, 5xx, 6xx",transactions/s,"OpenSIPS Transactions Status",line,,charts.d.plugin,opensips
+opensips.transactions_inuse,,inuse,transactions,"OpenSIPS InUse Transactions",line,,charts.d.plugin,opensips
+opensips.sl_replies,,"1xx, 2xx, 3xx, 4xx, 5xx, 6xx, sent, error, ACKed",replies/s,OpenSIPS SL Replies,line,,charts.d.plugin,opensips
+opensips.dialogs,,"processed, expire, failed",dialogs/s,"OpenSIPS Dialogs",line,,charts.d.plugin,opensips
+opensips.net_waiting,,"UDP, TCP",kilobytes,"OpenSIPS Network Waiting",line,,charts.d.plugin,opensips
+opensips.uri_checks,,"positive, negative","checks / sec","OpenSIPS URI Checks",line,,charts.d.plugin,opensips
+opensips.traces,,"requests, replies","traces / sec","OpenSIPS Traces",line,,charts.d.plugin,opensips
+opensips.shmem,,"total, used, real_used, max_used, free",kilobytes,"OpenSIPS Shared Memory",line,,charts.d.plugin,opensips
+opensips.shmem_fragment,,fragments,fragments,"OpenSIPS Shared Memory Fragmentation",line,,charts.d.plugin,opensips \ No newline at end of file
diff --git a/collectors/charts.d.plugin/sensors/README.md b/collectors/charts.d.plugin/sensors/README.md
index 142ae14aa..2601a2b65 100644
--- a/collectors/charts.d.plugin/sensors/README.md
+++ b/collectors/charts.d.plugin/sensors/README.md
@@ -1,16 +1,7 @@
-<!--
-title: "Linux machine sensors monitoring with Netdata"
-custom_edit_url: "https://github.com/netdata/netdata/edit/master/collectors/charts.d.plugin/sensors/README.md"
-sidebar_label: "lm-sensors"
-learn_status: "Published"
-learn_topic_type: "References"
-learn_rel_path: "References/Collectors references/Devices"
--->
-
-# Linux machine sensors monitoring with Netdata
-
-Use this collector when `lm-sensors` doesn't work on your device (e.g. for RPi temperatures).
-For all other cases use the [Python collector](/collectors/python.d.plugin/sensors), which supports multiple
+# Linux machine sensors collector
+
+Use this collector when `lm-sensors` doesn't work on your device (e.g. for RPi temperatures).
+For all other cases use the [Python collector](https://github.com/netdata/netdata/blob/master/collectors/python.d.plugin/sensors), which supports multiple
jobs, is more efficient and performs calculations on top of the kernel provided values.
This plugin will provide charts for all configured system sensors, by reading sensors directly from the kernel.
@@ -30,15 +21,23 @@ One chart for every sensor chip found and each of the above will be created.
## Enable the collector
-The `sensors` collector is disabled by default. To enable it, edit the `charts.d.conf` file using `edit-config` from the
-Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md), which is typically at `/etc/netdata`.
+The `sensors` collector is disabled by default.
+
+To enable the collector, you need to edit the configuration file of `charts.d/sensors.conf`. You can do so by using the `edit config` script.
+
+> ### Info
+>
+> To edit configuration files in a safe way, we provide the [`edit config` script](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#use-edit-config-to-edit-configuration-files) located in your [Netdata config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#the-netdata-config-directory) (typically is `/etc/netdata`) that creates the proper file and opens it in an editor automatically.
+> It is recommended to use this way for configuring Netdata.
+>
+> Please also note that after most configuration changes you will need to [restart the Agent](https://github.com/netdata/netdata/blob/master/docs/configure/start-stop-restart.md) for the changes to take effect.
```bash
cd /etc/netdata # Replace this path with your Netdata config directory, if different
sudo ./edit-config charts.d.conf
```
-It also needs to be set to "force" to be enabled:
+You need to uncomment the regarding `sensors`, and set the value to `force`.
```shell
# example=force
@@ -47,8 +46,7 @@ sensors=force
## Configuration
-Edit the `charts.d/sensors.conf` configuration file using `edit-config` from the
-Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md), which is typically at `/etc/netdata`.
+Edit the `charts.d/sensors.conf` configuration file using `edit-config`:
```bash
cd /etc/netdata # Replace this path with your Netdata config directory, if different
@@ -79,5 +77,3 @@ sensors_excluded=()
```
---
-
-
diff --git a/collectors/charts.d.plugin/sensors/metrics.csv b/collectors/charts.d.plugin/sensors/metrics.csv
new file mode 100644
index 000000000..5b5a4c57a
--- /dev/null
+++ b/collectors/charts.d.plugin/sensors/metrics.csv
@@ -0,0 +1,8 @@
+metric,scope,dimensions,unit,description,chart_type,labels,plugin,module
+sensors.temp,sensor chip,"{filename}",Celsius,"Temperature",line,,charts.d.plugin,sensors
+sensors.volt,sensor chip,"{filename}",Volts,"Voltage",line,,charts.d.plugin,sensors
+sensors.curr,sensor chip,"{filename}",Ampere,"Current",line,,charts.d.plugin,sensors
+sensors.power,sensor chip,"{filename}",Watt,"Power",line,,charts.d.plugin,sensors
+sensors.fans,sensor chip,"{filename}","Rotations / Minute","Fans Speed",line,,charts.d.plugin,sensors
+sensors.energy,sensor chip,"{filename}",Joule,"Energy",area,,charts.d.plugin,sensors
+sensors.humidity,sensor chip,"{filename}",Percent,"Humidity",line,,charts.d.plugin,sensors \ No newline at end of file
diff --git a/collectors/charts.d.plugin/sensors/sensors.chart.sh b/collectors/charts.d.plugin/sensors/sensors.chart.sh
index 0527e1e7e..9576e2ab2 100644
--- a/collectors/charts.d.plugin/sensors/sensors.chart.sh
+++ b/collectors/charts.d.plugin/sensors/sensors.chart.sh
@@ -187,7 +187,7 @@ sensors_create() {
files="$(ls "$path"/energy*_input 2>/dev/null)"
files="$(sensors_check_files "$files")"
[ -z "$files" ] && continue
- echo "CHART 'sensors.energy_${id}_${name}' '' 'Energy' 'Joule' 'energy' 'sensors.energy' areastack $((sensors_priority + 6)) $sensors_update_every '' '' 'sensors'"
+ echo "CHART 'sensors.energy_${id}_${name}' '' 'Energy' 'Joule' 'energy' 'sensors.energy' area $((sensors_priority + 6)) $sensors_update_every '' '' 'sensors'"
echo >>"$TMP_DIR/sensors.sh" "echo \"BEGIN 'sensors.energy_${id}_${name}' \$1\""
algorithm="incremental"
divisor=1000000