Giter Club home page Giter Club logo

netdata / netdata Goto Github PK

View Code? Open in Web Editor NEW
68.2K 68.2K 5.7K 187.9 MB

The open-source observability platform everyone needs!

Home Page: https://www.netdata.cloud

License: GNU General Public License v3.0

Shell 2.37% C 58.13% C++ 1.23% HTML 1.45% JavaScript 17.62% CSS 0.28% Makefile 0.04% CMake 0.49% Python 3.55% POV-Ray SDL 0.02% Dockerfile 0.01% PHP 0.01% Jolie 0.01% Jupyter Notebook 2.27% Perl 0.01% Go 12.53%
alerting cncf data-visualization database devops docker grafana influxdb kubernetes linux machine-learning mongodb monitoring mysql netdata observability postgresql prometheus raspberry-pi statsd

netdata's People

Contributors

alonbl avatar amoss avatar ancairon avatar andrewm4894 avatar cakrit avatar ccremer avatar dependabot[bot] avatar facetoe avatar ferroin avatar gmosx avatar hugovalente-pm avatar ilyam8 avatar jacekkolasa avatar joelhans avatar knatsakis avatar ktsaou avatar lets00 avatar mfundul avatar netdatabot avatar paulfantom avatar paulkatsoulakis avatar prologic avatar sashwathn avatar shyamvalsan avatar stelfrag avatar thiagoftsm avatar tkatsoulas avatar underhood avatar vkalintiris avatar vlvkobal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

netdata's Issues

TODO: lower memory requirements

Today, netdata keeps in memory a round robin database for dimension values, even for dimensions that permanently have a fixed value.

Check for example, the errors, collisions, events for network interfaces, or cpu interrupts that never used at a specific CPU core, etc.

A relatively easy fix, is to tweak netdata so that while a dimension has a fixed value, the round robin database will not be allocated.

Issues:

  1. This will prevent netdata from knowing that for a certain period for example, data collection for the not-allocated dimension, did not happen.
  2. If a different value is entered in the round robin database just once, and after some time it leaves the round-robin database, can netdata figure out that again the round-robin database is storing a fixed value to de-allocate it entirely?

Docker Image

Hi,

Before I go ahead and create my own, do you know if this app has already been "dockerized"?

If not, I'll go ahead and create a public image.

I'd like to use netdata on multiple Ubuntu machines, so it makes sense to containerize it.

Thanks.

Makefile.am:4: option `dist-xz' not recognized

I try to install netdata on suse 11.4 but after installing all dependencies and run ./netdata-installer.sh (as root) I got:

Running command:
./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
Makefile.am:4: option `dist-xz' not recognized
autoreconf: automake failed with exit status: 1

Installation pass after I removed mentioned option from Makefile.am.

zlib not found, but installed

# apt-get install zlib1g-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
zlib1g-dev is already the newest version.
$ ./configure --prefix=/opt/netdata
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking if compiler needs -Werror to reject unknown flags... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for inline... inline
checking for sin in -lm... yes
checking for ZLIB... configure: error: Package requirements (zlib) were not met:

No package 'zlib' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables ZLIB_CFLAGS
and ZLIB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

@alonbl any ideas?
This is an old ubuntu LTS.

when serving static content, sometimes it does not add a compressed chunk

Sometimes it gives an error that dygraph-combined.js cannot be loaded.

I tracked it down and found that the served file has a gap of 16383 bytes, at byte 98304. So, there is a condition (aparently timing related) that somehow makes netdata miss a whole compressed stream of data (each compression chunk is 16384 bytes).

It doesn't happen always, but it is there 1 out of 10.

It only happens on static content, so it has to be related to the FILECOPY operation and compression.

node.js is not /usr/bin/node on all systems

plugins.d/node.d.plugin now begins with:

#!/usr/bin/env node

but on older systems, node.js is available as nodejs, which means the above should be:

#!/usr/bin/env nodejs

[musl] Does not build in Alpine Linux

[Following up on the process of build a lightweight container for netdata]

I usually build lightweight containers for the programs I want to use on my server based on Alpine Linux, since it is very small (~10MB) while having a proper package manager (as opposed to a plain busybox). Alpine Linux uses the musl libc.

Here is a list of what does not work:

  1. apps_plugin.c:1997:11: error: '__useconds_t' undeclared (first use in this function)
    This should actually be useconds_t (the __ variant is reserved for internal use)
  2. daemon.c:16:22: fatal error: execinfo.h: No such file or directory Not available in musl, see PowerDNS/pdns#1956 for reference
  3. plugin_proc.c:224:14: error: 'RUSAGE_THREAD' undeclared (first use in this function) and also plugin_tc.c:676:15: error: 'RUSAGE_THREAD' undeclared (first use in this function)
  4. web_server.c:37:18: error: storage size of 'mi' isn't known, there's a warning about the implicit declaration of the function mallinfo.

And that's pretty much it. I'm in no way an expert in libc:s subtleties ; I just wanted to point out that netdata is very close to supporting Alpine Linux as a target. It would allow the application to be packaged in a very lightweight container (on top of being a great piece of software!).

nfacct

@alonbl nfacct is actually needed only if linux is acting as a firewall/gateway.

For all other installations it should be disabled, so we actually need:

  1. disable it by default
  2. an option --enable-nfacct or --with-nfacct in configure to enable it

arp & ndisc

Support:

/proc/net/stat/arp_cache
/proc/net/stat/ndisc_cache

No postfix graphs

Hi, first of all great software. I've installed according to Wiki instructions on Ubuntu 10.04 but don't get postfix section and queue graphs. I checked http://netdata.firehol.org/netdata.conf and copied [postfix.qemails], [postfix.qsize] and [netdata.plugin_chartsd_postfix] sections to my /etc/netdata/netdata.conf. Restarted but still nothing. Even when I browse to http://myserver:19999/netdata.conf those sections I inserted are not there. Also there nothing about postfix in logs.

Netdata behing Apache proxy

Has anyone successfully created an apache proxy for netdata?

I would like to access netdata dashboard on a subdirectory. Something like example.com/netdata.

Is it even possible?

netdata-installer.sh

Hi,

I would ask if you could split the installer at least into two logical parts. I would like just to build netdata, and have the other steps (running netdata) as optional. It can be done with arguments, like make:

./netdata-installer.sh build install

Which would first run build, and then the install part (some loop over arguments in bash). I am building a docker image which requires building an artefact, but it doesn't require generating the configs/running netdata (this should be done when the container runs).

autoconf help

@alonbl a little help:

  1. I want files in conf.d not overwrite files already existing in /etc/netdata. I can't figure out how to do it. Now, every time I make install the files /etc/netdata/apps_groups.conf and /etc/netdata/charts.d.conf are overwritten.

  2. Is there an official way to add the user netdata and chown the web files during make install?

    Initially I added this to web/Makefile.am, but I didn't know if this is good, so I removed it:

    install-data-hook:
        if [ `id -u` == 0 ]; then \
                getent group netdata > /dev/null || groupadd -r netdata; \
                getent passwd netdata > /dev/null || useradd -r -g netdata -c netdata -s /sbin/nologin -d / netdata; \
                chown -R netdata $(DESTDIR)$(cachedir) $(DESTDIR)$(webdir); \
        fi

Add current disk-space utilization

The most basic biggest missing feature that I can see in netdata right now is that its concern with disks is purely I/O-centric, but the current percentage of free space on a disk cannot be revealed by the I/O to that disk. There are other interesting metrics that might be available, like fragmentation, but it would be nice to see how disk space utilization changes over time.

Free Swap chart suggestion

The easypiechart of the swap displays the free swap space in contrary to the other charts in the row that display the utilization of their resource.
My suggestion would be to display the swap usage instead. Atleast from my point of view i'm perfectly happy not to use any of my swap space. Actually I would be concerned if the swap usage would go beyond 70% and don't see it as a under utilized resource if the usage is low.

apps.plugin is not installed

@alonbl when I install it in some cases I have this:

make install

Making install in charts.d
make[1]: Entering directory '/opt/netdata.git/charts.d'
make[2]: Entering directory '/opt/netdata.git/charts.d'
make[2]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/usr/libexec/netdata/charts.d'
 /usr/bin/install -c airsearches.chart.sh cpu_apps.chart.sh cpufreq.chart.sh crsproxy.chart.sh example.chart.sh load_average.chart.sh mem_apps.chart.sh mysql.chart.sh nut.chart.sh opensips.chart.sh postfix.chart.sh sensors.chart.sh squid.chart.sh '/usr/libexec/netdata/charts.d'
make[2]: Leaving directory '/opt/netdata.git/charts.d'
make[1]: Leaving directory '/opt/netdata.git/charts.d'
Making install in conf.d
make[1]: Entering directory '/opt/netdata.git/conf.d'
make[2]: Entering directory '/opt/netdata.git/conf.d'
make[2]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/etc/netdata'
 /usr/bin/install -c -m 644 apps_groups.conf '/etc/netdata'
make[2]: Leaving directory '/opt/netdata.git/conf.d'
make[1]: Leaving directory '/opt/netdata.git/conf.d'
Making install in plugins.d
make[1]: Entering directory '/opt/netdata.git/plugins.d'
make[2]: Entering directory '/opt/netdata.git/plugins.d'
make[2]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/usr/libexec/netdata/plugins.d'
 /usr/bin/install -c -m 644 README loopsleepms.sh.inc '/usr/libexec/netdata/plugins.d'
 /bin/mkdir -p '/usr/libexec/netdata/plugins.d'
 /usr/bin/install -c charts.d.dryrun-helper.sh charts.d.plugin tc-qos-helper.sh '/usr/libexec/netdata/plugins.d'
make[2]: Leaving directory '/opt/netdata.git/plugins.d'
make[1]: Leaving directory '/opt/netdata.git/plugins.d'
Making install in src
make[1]: Entering directory '/opt/netdata.git/src'
make[2]: Entering directory '/opt/netdata.git/src'
 /bin/mkdir -p '/usr/bin'
  /usr/bin/install -c netdata '/usr/bin'
make  install-exec-hook
make[3]: Entering directory '/opt/netdata.git/src'
if [ `id -u` == 0 ]; then \
        chown root '/usr/libexec/netdata/plugins.d/apps.plugin' && \
                chmod 4755 '/usr/libexec/netdata/plugins.d/apps.plugin'; \
else \
        echo; \
        echo "ATTENTION"; \
        echo; \
        echo "setuid bit of /usr/libexec/netdata/plugins.d/apps.plugin must be set, please execute as root:"; \
        echo "chown root '/usr/libexec/netdata/plugins.d/apps.plugin' && chmod 4755 '/usr/libexec/netdata/plugins.d/apps.plugin'"; \
        echo; \
fi
chown: cannot access '/usr/libexec/netdata/plugins.d/apps.plugin': No such file or directory
Makefile:845: recipe for target 'install-exec-hook' failed
make[3]: *** [install-exec-hook] Error 1
make[3]: Leaving directory '/opt/netdata.git/src'
Makefile:782: recipe for target 'install-exec-am' failed
make[2]: *** [install-exec-am] Error 2
make[2]: Leaving directory '/opt/netdata.git/src'
Makefile:726: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '/opt/netdata.git/src'
Makefile:413: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1

It does not install apps.plugin, although it is build.
This log is from a current OSMC installation (raspbian based I think).

Authentication support

Hello

Are there plans for supporting some kind of user authentication to the web interface?

Cheers.

EXIM plugin

Hi,
I see on todo list a postfix MTA, Can you add for an EXIM mail server too ?
thanks for the great job.

TODO: proxy caching finer control

netdata can be used behind a reverse proxy or a CDN.

For example, http://netdata.firehol.org runs behind cloudflare.com (CDN), and on the host itself it runs behind nginx.

As it is today, netdata responds with:

  1. for file-copy operations:

    Cache-Control: public
    
  2. for all other data:

    Expires: <datetime of now>
    Cache-Control: no-cache
    

Ideally, it should:

  1. for file-copy operations, as it is today.
  2. for generated responses that do not include data / values for charts (like /api/v1/charts and /api/v1/chart, it should respond with Cache-Control: max-age=SECONDS; where SECONDS is the charts update_every seconds.
  3. for generated responses that include absolute after and before parameters, it should respond with Cache-Control: public.
  4. for generated responses that include relative after and before parameters, it should respond with a Cache-Control: max-age=SECONDS;, where SECONDS is the view_update_every parameter as it is already calculated.

These will allow netdata to fully utilize a CDN's caching ability.

missing apps and custom dashboard options

Hello,
thanks for creating this nice monitor tool, i really like it :D
but i have an issue on my aarch64 debian 8 maschine
the hole /#apps tree is missing ??
i only see:

System Overview
Memory
CPUs
Disks
IPv4 Networking
Network Interfaces
Sensors
Netdata Monitoring
Example Charts

maybe i overlooked something?
i also have a question about the defaults for the dashboard options
where can i set 'When to refresh the charts?' to always
and 'Which dimensions to show?' to all
Thank You !
Max from Germany

Build packaging for debian

Create a debian/ structure to build .deb packages for debian/ubuntu, along with supporting scripts (/etc/init.d/netdata,...). Building a deb package also means a smaller Docker image with just the deb package and requirements installed.

WSGI/FCGI/Application server metrics

I was hoping to contribute to these myself until I saw that it's written in C (I don't know C) so I'll just throw them out here in case anyone else is up to the task.

On the list of web-related server metrics supported so far it's just MySQL, Apache, and Nginx. I would be great to get some support for application backends.

PHP-FPM, like Nginx, has a statistics option to enable which will expose some numbers on the server: https://easyengine.io/tutorials/php/fpm-status-page/

uWSGI (usually for Python, but supports much more) supports basic server operational data as well as an endless metrics subsystem that can be customized to output any data available via a variety of methods inducing statsd, files, and sockets: http://uwsgi-docs.readthedocs.org/en/latest/Metrics.html

Circus (Python) has a top-like process viewer as well as CLI-based management commands: http://circus.readthedocs.org/en/latest/for-ops/cli/#cli

The three of those are quite widely used and all expose information that would make great metrics to show/record.

Packaging help on Archlinux

I'm trying to create an Archlinux package for netdata based on the netdata-9999.ebuild file. However I don't know how to do make install with a prefix directory. Like this:

    ./configure \
        --prefix="/usr" \
        --sbindir="/usr/bin" \
        --sysconfdir="/etc" \
        --libexecdir="/usr/lib" \
        --localstatedir="/var" \
        --with-zlib --with-math --with-user=netdata \
        CFLAGS="-O3"

    make \
        prefix="$pkgdir/usr" \
        sbindir="$pkgdir/usr/bin" \
        sysconfdir="$pkgdir/etc" \
        libexecdir="$pkgdir/usr/lib" \
        localstatedir="$pkgdir/var" \
        install

When I install and start netdata and look at the default config, it seeks its directories still in the $pkgdir directory, despite my configure step.
Please help me.

URL relative call for easy proxy

Hi,

When trying to use a reverse proxy in front of netdata, you need to use a full virtual hostname because of absolute /api/* calls in (js and html code).

Could it be possible to add a configure param to define and relative URL ?

for example http:///netdata/api/... instead of http:///api/...

Thanks in advance.

Fails to compile with --enable-plugin-nfacct

Topic says it...latest git, sh autogen.sh, ./configure --prefix=/opt --enable-plugin-nfacct.

make[2]: Entering directory `/home/nobackup/build/netdata.git/src'
gcc -DHAVE_CONFIG_H -I. -I..  -DCACHE_DIR="\"/opt/var/cache/netdata\"" -DCONFIG_DIR="\"/opt/etc/netdata\"" -DLOG_DIR="\"/opt/var/log/netdata\"" -DPLUGINS_DIR="\"/opt/libexec/netdata/plugins.d\"" -DWEB_DIR="\"/opt/share/netdata/web\""       -g -O2 -pthread -MT plugin_nfacct.o -MD -MP -MF .deps/plugin_nfacct.Tpo -c -o plugin_nfacct.o plugin_nfacct.c
In file included from plugin_nfacct.c:2:0:
plugin_nfacct.c: In function ânfacct_mainâ:
plugin_nfacct.c:124:15: error: ânetdata_exitâ undeclared (first use in this function)
   if(unlikely(netdata_exit)) break;
               ^
../config.h:144:41: note: in definition of macro âunlikelyâ
 #define unlikely(x) __builtin_expect(!!(x), 0)
                                         ^
plugin_nfacct.c:124:15: note: each undeclared identifier is reported only once for each function it appears in
   if(unlikely(netdata_exit)) break;
               ^
../config.h:144:41: note: in definition of macro âunlikelyâ
 #define unlikely(x) __builtin_expect(!!(x), 0)
                                         ^
plugin_nfacct.c:172:5: warning: passing argument 7 of ârrdset_createâ makes pointer from integer without a cast [enabled by default]
     st = rrdset_create("nfacct", "packets", NULL, "netfilter", "Netfilter Accounting Packets", "packets/s", 1006, rrd_update_every, RRDSET_TYPE_STACKED);
     ^
In file included from plugin_nfacct.c:23:0:
rrd.h:267:16: note: expected âconst char *â but argument is of type âintâ
 extern RRDSET *rrdset_create(const char *type
                ^
plugin_nfacct.c:172:5: error: too few arguments to function ârrdset_createâ
     st = rrdset_create("nfacct", "packets", NULL, "netfilter", "Netfilter Accounting Packets", "packets/s", 1006, rrd_update_every, RRDSET_TYPE_STACKED);
     ^
In file included from plugin_nfacct.c:23:0:
rrd.h:267:16: note: declared here
 extern RRDSET *rrdset_create(const char *type
                ^
plugin_nfacct.c:192:5: warning: passing argument 7 of ârrdset_createâ makes pointer from integer without a cast [enabled by default]
     st = rrdset_create("nfacct", "bytes", NULL, "netfilter", "Netfilter Accounting Bandwidth", "kilobytes/s", 1007, rrd_update_every, RRDSET_TYPE_STACKED);
     ^
In file included from plugin_nfacct.c:23:0:
rrd.h:267:16: note: expected âconst char *â but argument is of type âintâ
 extern RRDSET *rrdset_create(const char *type
                ^
plugin_nfacct.c:192:5: error: too few arguments to function ârrdset_createâ
     st = rrdset_create("nfacct", "bytes", NULL, "netfilter", "Netfilter Accounting Bandwidth", "kilobytes/s", 1007, rrd_update_every, RRDSET_TYPE_STACKED);
     ^
In file included from plugin_nfacct.c:23:0:
rrd.h:267:16: note: declared here
 extern RRDSET *rrdset_create(const char *type
                ^
make[2]: *** [plugin_nfacct.o] Error 1
make[2]: Leaving directory `/home/jlay/nobackup/build/netdata.git/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jlay/nobackup/build/netdata.git'
make: *** [all] Error 2

below are installed:

ii  libnetfilter-acct-dev               1.0.2-1ubuntu1                          amd64        Development files for libnetfilter-acct1
ii  libnetfilter-acct1:amd64            1.0.2-1ubuntu1                          amd64        Netfilter acct library

Anything specific I can do to troubleshoot this? Thank you.

NETDATA performance

I run a series of netdata stress tests on a raspberry pi 2 (non overclocked).

Netdata was able to sustain 300 chart updates per second. It peaked at 341:

image

It generated, on the average 11Mbps of compressed JSON data (peaked at 13Mbps):

image

The pi2 CPU temperature raised to 56 degrees celcius:

image

Data collection was working at the same time.
My web browser was able to receive chart updates without any visible delay.

The test script used is the stress.sh script found in the test directory of netdata. I run up to 8 concurrent stress.sh sessions. Netdata maxed the 4 cores of raspberry pi 2, at the 4th concurrent stress session. I added 4 more to check what will happen (performance did not degrade).

Keep in mind this script tests the speed of chart generation. Not the speed of new connections.

development progress

  1. I have developed a new API for netdata. The new one supports multiple output formats:

    I'll build a swagger document to describe it.

  2. I have developed javascript code to allow building dashboards using multiple chart engines:

    • google charts
    • dygraph.com
    • sparkline.js
    • peity.js
    • morris.js
  3. Dashboards can now have charts from multiple netdata servers. This means that if you have installed netdata on many machines in a datacenter, you can build dashboards with charts from multiple servers (e.g. compare the disk I/O of one, with cpu utilization of another, with requests/s of a third).

    You can see an example dashboard here: http://195.97.5.206:19999/dashboard.html

    As you will see there, dygraph is by far the fastest (the page is benchmarking javascript performance of all chart libraries used).

    I have not updated the old UI to use the new dashboard logic yet. This needs some more work. I will also use dygraph by default.

@alonbl I have added a few files in the web/ directory. I have modified Makefile.am but I am not sure I did it right (I added a few directories - shall we add Makefile.am to each?).

@philwhineray, delay a bit the release of netdata. I need a few more days to update its UI to use the new chart libraries.

Docker and Apps plugin

The Apps section of netdata doesn't give correct output when run with docker. Only "netdata" process is graphed. The process is run with -ch /host, data is mapped to container:

root@071d0f31f366:/host/proc# awk 'FNR==1{print ""}1' */cmdline | grep ^/
/sbin/init
/usr/sbin/dovecot
/lib/systemd/systemd-journald
/lib/systemd/systemd-udevd
/usr/lib/postfix/master
/bin/sh
/usr/sbin/mysqld
/usr/sbin/sshd
/usr/bin/redis-server 127.0.0.1:6379
/bin/bash
/usr/sbin/cron
/bin/bash
/usr/sbin/rsyslogd
/bin/bash
/usr/local/usr/sbin/netdata
/usr/local/usr/libexec/netdata/plugins.d/apps.plugin
/bin/bash
/sbin/rpcbind
/sbin/rpc.statd
/usr/sbin/rpc.idmapd
/usr/sbin/atd
/lib/systemd/systemd-logind
/usr/bin/dbus-daemon
/usr/sbin/acpid
/sbin/agetty
/root/.dropbox-dist/dropbox-lnx.x86_64-3.12.5/dropbox

It seems the basic problem is that apps.plugin doesn't support -ch prefix yet?
Opening apps_plugin.c confirms this:

// 1. support -ch option to set global /proc and /sys prefix

Mips64 version

Hi,

is there someone with cross-compiling skills who can make a mips64 package for debian squeeze to run this on a router? (like Ubiquiti Edge Router)

Thanks for the help

Working examples

Hello,

Do you have working examples for a netdata install with dashboards from other machines?
I am considering using netdata to show dasboards on TV for multiple machines..

CoreOS Support

Can you verify if this works on a large CoreOS cluster?

Thanks,

cannot configure on current ubuntu LTS

@alonbl I am trying to run it through several linux distros.

This is what happens on current ubuntu LTS:

$ ./configure --prefix=/opt/netdata
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
./configure: line 3902: PKG_PROG_PKG_CONFIG: command not found
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking if compiler needs -Werror to reject unknown flags... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for inline... inline
checking for sin in -lm... yes
./configure: line 4992: syntax error near unexpected token `newline'
./configure: line 4992: `       PKG_CHECK_MODULES('

IPv4 + IPv6

I'd like to have combined stats of IPv4 (the way it's now) and IPv6 (I'm aware there don't seem to be any IPv6 stats at the moment).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.