summaryrefslogtreecommitdiffstats
path: root/docs/netdata-for-IoT.md
blob: 8dfed21ebe1d4756296bd9824264d80cd3cc4c58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<!--
title: "Netdata for IoT"
custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-for-IoT.md
sidebar_label: "Netdata for IoT"
learn_status: "Published"
learn_rel_path: "Miscellaneous"
-->

# Netdata for IoT

![image1](https://cloud.githubusercontent.com/assets/2662304/14252446/11ae13c4-fa90-11e5-9d03-d93a3eb3317a.gif)

> New to Netdata? Check its demo: **<https://my-netdata.io/>**
>
>[![User
> Base](https://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_entries&dimensions=persons&label=user%20base&units=null&value_color=blue&precision=0&v41)](https://registry.my-netdata.io/#netdata_registry)
> [![Monitored
> Servers](https://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_entries&dimensions=machines&label=servers%20monitored&units=null&value_color=orange&precision=0&v41)](https://registry.my-netdata.io/#netdata_registry)
> [![Sessions
> Served](https://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_sessions&label=sessions%20served&units=null&value_color=yellowgreen&precision=0&v41)](https://registry.my-netdata.io/#netdata_registry)
>
>[![New Users
> Today](https://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_entries&dimensions=persons&after=-86400&options=unaligned&group=incremental-sum&label=new%20users%20today&units=null&value_color=blue&precision=0&v40)](https://registry.my-netdata.io/#netdata_registry)
> [![New Machines
> Today](https://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_entries&dimensions=machines&group=incremental-sum&after=-86400&options=unaligned&label=servers%20added%20today&units=null&value_color=orange&precision=0&v40)](https://registry.my-netdata.io/#netdata_registry)
> [![Sessions
> Today](https://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_sessions&after=-86400&group=incremental-sum&options=unaligned&label=sessions%20served%20today&units=null&value_color=yellowgreen&precision=0&v40)](https://registry.my-netdata.io/#netdata_registry)

---

Netdata is a [very efficient](https://github.com/netdata/netdata/blob/master/docs/guides/configure/performance.md)
server performance monitoring solution. When running in server hardware, it can collect
thousands of system and application metrics **per second** with just 1% CPU utilization of a single core. Its web server
responds to most data requests in about **half a millisecond** making its web dashboards spontaneous, amazingly fast!

Netdata can also be a very efficient real-time monitoring solution for **IoT devices** (RPIs, routers, media players,
wifi access points, industrial controllers and sensors of all kinds). Netdata will generally run everywhere a Linux
kernel runs (and it is glibc and [musl-libc](https://www.musl-libc.org/) friendly).

You can use it as both a data collection agent (where you pull data using its API), for embedding its charts on other
web pages / consoles, but also for accessing it directly with your browser to view its dashboard.

The Netdata web API already provides **reduce** functions allowing it to report **average** and **max** for any
timeframe. It can also respond in many formats including JSON, JSONP, CSV, HTML. Its API is also a **google charts**
provider so it can directly be used by google sheets, google charts, google widgets.

![sensors](https://cloud.githubusercontent.com/assets/2662304/15339745/8be84540-1c8e-11e6-9e9a-106dea7539b6.gif)

Although Netdata has been significantly optimized to lower the CPU and RAM resources it consumes, the plethora of data
collection plugins may be inappropriate for weak IoT devices. Please follow
the [Netdata Agent performance guide](https://github.com/netdata/netdata/blob/master/docs/guides/configure/performance.md)

## Monitoring RPi temperature

The python version of the sensors plugin uses `lm-sensors`. Unfortunately the temperature reading of RPi are not
supported by `lm-sensors`.

Netdata also has a bash version of the sensors plugin that can read RPi temperatures. It is disabled by default to avoid
the conflicts with the python version.

To enable it, run:

```bash
cd /etc/netdata # Replace this path with your Netdata config directory
sudo ./edit-config charts.d.conf
```

and uncomment this line:

```sh
sensors=force
```

Then restart Netdata. You will get this:

![image](https://user-images.githubusercontent.com/2662304/29658868-23aa65ae-88c5-11e7-9dad-c159600db5cc.png)