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)
- - `sensors` (read temperature, voltage, current, power, humidity, fans rotation sensors)
- - `cpufreq` (read current CPU clock frequency)
+ - `nut` (UPS load, frequency, voltage, etc, for multiple UPSes)
+ - `sensors` (temperature, voltage, current, power, humidity, fans rotation sensors)
+ - `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.
- netdata is a web server, supporting gzip compression
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.
apt-get install zlib1g-dev
```
+You also need to have a basic build environment in place. You will need packages like
+`gcc`, `autoconf`, `autogen`, `automake`, `pgk-config`, etc.
+
Then do this to install and run netdata:
```sh
+
+# download it
git clone https://github.com/ktsaou/netdata.git netdata.git
cd netdata.git
-./netdata.start
+
+# build it
+./netdata-installer.sh
+
```
-Once you run it, the file conf.d/netdata.conf will be created. You can edit this file to set options for each graph.
-To apply the changes you made, you have to run netdata.start again.
+The script `netdata-installer.sh` will build netdata and install it to your system.
-If you run `netdata.start` as `root`, netdata will start by default as `nobody`. Otherwise it will run as the user that started it. If you run it as `root`, you can set the user you want it to run in the config file `conf.d/netdata.conf`.
+Once the installer completes, the file `/etc/netdata/netdata.conf` will be created.
+You can edit this file to set options. To apply the changes you made, you have to restart netdata.
+
+- You can start netdata by executing it with `/usr/sbin/netdata` (the installer will also start it).
+
+- 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.
To access the web site for all graphs, go to:
You can get the running config file at any time, by accessing `http://127.0.0.1:19999/netdata.conf`.
-To start it at boot, just run `/path/to/netdata.git/netdata.start` from your `/etc/rc.local` or equivalent.
-
-You can stop and start netdata at any point. Netdata saves on exit its round robbin database to `cache/` so that it will continue from where it stopped the last time.
+To start it at boot, just run `/usr/sbin/netdata` from your `/etc/rc.local` or equivalent.