Here is a screenshot:
-![image](https://cloud.githubusercontent.com/assets/2662304/10440038/b40bcb6c-7146-11e5-93ac-db2e177e39f8.png)
+![image](https://cloud.githubusercontent.com/assets/2662304/11323720/0ea2a5f4-9123-11e5-9c30-d57072b8e12c.png)
+
+![image](https://cloud.githubusercontent.com/assets/2662304/11323728/3cb6e810-9123-11e5-97b3-662fd6f35725.png)
# Features
- **extremely lightweight**
It only needs a few megabytes of memory to store all its round robin database.
-
+
Although `netdata` does all its calculation using `long double` (128 bit) arithmetics, it stores all values using a **custom-made 32-bit number**. This custom-made number can store in 29 bits values from -167772150000000.0 to 167772150000000.0 with a precision of 0.00001 (yes, it is a floating point number, meaning that higher integer values have less decimal precision) and 3 bits for flags (2 are currently used and 1 is reserved for future use). This provides an extremely optimized memory footprint with just 0.0001% max accuracy loss (run: `./netdata --unittest` to see it in action).
- **per second data collection**
- `/proc/meminfo` (memory information)
- `/proc/vmstat` (system performance)
- `/proc/net/rpc/nfsd` (NFS server statistics for both v3 and v4 NFS)
- - `tc` classes (QoS classes)
+ - `tc` classes (QoS classes - [with FireQOS class names](http://firehol.org/tutorial/fireqos-new-user/))
- It supports **plugins** for collecting information from other sources!
- `charts.d.plugin` provides a simple way to script data collection in BASH. It includes example plugins that collect values from:
- - `nut` (UPS load, frequency, voltage, etc)
+ - `nut` (UPS load, frequency, voltage, etc, for multiple UPSes)
- `sensors` (temperature, voltage, current, power, humidity, fans rotation sensors)
- - `cpufreq` (current CPU clock frequency)
+ - `cpufreq` (current CPU clock frequency, for all CPUs)
- `postfix` (e-mail queue size)
- `squid` (web proxy statistics)
- `mysql` (mysql global statistics)
+ - `opensips` (opensips statistics)
Of course, you can write your own using BASH scripting.
It serves its own static files and dynamic files for rendering the site.
It does not support authentication or SSL - limit its access using your firewall.
- It does not allow ` .. ` or ` / ` in the files requested (so it can only serve files stored in the `web/` directory).
+ It does not allow ` .. ` or ` / ` in the files requested (so it can only serve files stored in the web directory `/usr/share/netdata/web`).
# How it works
1. You run a daemon on your linux: netdata.
This deamon is written in C and is extremely lightweight.
-
+
netdata:
- Spawns threads to collect all the data for all sources
- Is a standalone web server.
For example, you can access JSON data by using:
-
+
```
http://127.0.0.1:19999/data/net.eth0
```
-
+
This will give you the JSON file for traffic on eth0.
The above is equivalent to:
-
+
```
http://127.0.0.1:19999/data/net.eth0/3600/1/average/0/0
```
-
+
where:
- 3600 is the number of entries to generate.
- You can stop netdata by killing it with `killall netdata`.
You can stop and start netdata at any point. Netdata saves on exit its round robbin
- database to `/var/cache/netdata` so that it will continue from where it stopped the last time.
+ database to `/var/cache/netdata` so that it will continue from where it stopped the last time.
To access the web site for all graphs, go to: