diff options
Diffstat (limited to '')
54 files changed, 10092 insertions, 0 deletions
diff --git a/build-artifacts.sh b/build-artifacts.sh new file mode 100755 index 0000000..a759efd --- /dev/null +++ b/build-artifacts.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +BASENAME="netdata-$(git describe)" + +mkdir -p artifacts + +autoreconf -ivf +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/libexec \ + --with-zlib \ + --with-math \ + --with-user=netdata \ + CFLAGS=-O2 +make dist +mv "${BASENAME}.tar.gz" artifacts/ + +USER="" ./packaging/makeself/build-x86_64-static.sh + +cp packaging/version artifacts/latest-version.txt + +cd artifacts || exit 1 +ln -s "${BASENAME}.tar.gz" netdata-latest.tar.gz +ln -s "${BASENAME}.gz.run" netdata-latest.gz.run +sha256sum -b ./* > "sha256sums.txt" diff --git a/build/m4/ax_c__generic.m4 b/build/m4/ax_c__generic.m4 new file mode 100644 index 0000000..0c4dd52 --- /dev/null +++ b/build/m4/ax_c__generic.m4 @@ -0,0 +1,28 @@ +# https://lists.gnu.org/archive/html/autoconf-commit/2012-12/msg00004.html +# AC_C__GENERIC +# ------------- +# Define HAVE_C__GENERIC if _Generic works, a la C11. +AN_IDENTIFIER([_Generic], [AC_C__GENERIC]) +AC_DEFUN([AC_C__GENERIC], +[AC_CACHE_CHECK([for _Generic], ac_cv_c__Generic, +[AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[int + main (int argc, char **argv) + { + int a = _Generic (argc, int: argc = 1); + int *b = &_Generic (argc, default: argc); + char ***c = _Generic (argv, int: argc, default: argv ? &argv : 0); + _Generic (1 ? 0 : b, int: a, default: b) = &argc; + _Generic (a = 1, default: a) = 3; + return a + !b + !c; + } + ]])], + [ac_cv_c__Generic=yes], + [ac_cv_c__Generic=no])]) +if test $ac_cv_c__Generic = yes; then + AC_DEFINE([HAVE_C__GENERIC], 1, + [Define to 1 if C11-style _Generic works.]) +fi +])# AC_C__GENERIC + diff --git a/build/m4/ax_c_lto.m4 b/build/m4/ax_c_lto.m4 new file mode 100644 index 0000000..7e6bc01 --- /dev/null +++ b/build/m4/ax_c_lto.m4 @@ -0,0 +1,21 @@ +# AC_C_LTO +# ------------- +# Define HAVE_LTO if -flto works. +AN_IDENTIFIER([lto], [AC_C_LTO]) +AC_DEFUN([AC_C_LTO], +[AC_CACHE_CHECK([if -flto builds executables], ac_cv_c_lto, +[AC_RUN_IFELSE( + [AC_LANG_SOURCE( + [[#include <stdio.h> + int main(int argc, char **argv) { + return 0; + } + ]])], + [ac_cv_c_lto=yes], + [ac_cv_c_lto=no], + [ac_cv_c_lto=${ac_cv_c_lto_cross_compile}])]) +if test "${ac_cv_c_lto}" = "yes"; then + AC_DEFINE([HAVE_LTO], 1, + [Define to 1 if -flto works.]) +fi +])# AC_C_LTO diff --git a/build/m4/ax_c_mallinfo.m4 b/build/m4/ax_c_mallinfo.m4 new file mode 100644 index 0000000..af8d048 --- /dev/null +++ b/build/m4/ax_c_mallinfo.m4 @@ -0,0 +1,24 @@ +# AC_C_MALLINFO +# ------------- +# Define HAVE_C_MALLINFO if mallinfo() works. +AN_IDENTIFIER([mallinfo], [AC_C_MALLINFO]) +AC_DEFUN([AC_C_MALLINFO], +[AC_CACHE_CHECK([for mallinfo], ac_cv_c_mallinfo, +[AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include <malloc.h>]], + [[ + struct mallinfo mi = mallinfo(); + /* make sure that fields exists */ + mi.uordblks = 0; + mi.hblkhd = 0; + mi.arena = 0; + ]] + )], + [ac_cv_c_mallinfo=yes], + [ac_cv_c_mallinfo=no])]) +if test $ac_cv_c_mallinfo = yes; then + AC_DEFINE([HAVE_C_MALLINFO], 1, + [Define to 1 if glibc mallinfo exists.]) +fi +])# AC_C_MALLINFO diff --git a/build/m4/ax_c_mallopt.m4 b/build/m4/ax_c_mallopt.m4 new file mode 100644 index 0000000..31c4fdc --- /dev/null +++ b/build/m4/ax_c_mallopt.m4 @@ -0,0 +1,20 @@ +# AC_C_MALLOPT +# ------------- +# Define HAVE_C_MALLOPT if mallopt() works. +AN_IDENTIFIER([mallopt], [AC_C_MALLOPT]) +AC_DEFUN([AC_C_MALLOPT], +[AC_CACHE_CHECK([for mallopt], ac_cv_c_mallopt, +[AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [[#include <malloc.h> + int main(int argc, char **argv) { + mallopt(M_ARENA_MAX, 1); + } + ]])], + [ac_cv_c_mallopt=yes], + [ac_cv_c_mallopt=no])]) +if test $ac_cv_c_mallopt = yes; then + AC_DEFINE([HAVE_C_MALLOPT], 1, + [Define to 1 if glibc mallopt exists.]) +fi +])# AC_C_MALLOPT diff --git a/build/m4/ax_c_statement_expressions.m4 b/build/m4/ax_c_statement_expressions.m4 new file mode 100644 index 0000000..fb259e7 --- /dev/null +++ b/build/m4/ax_c_statement_expressions.m4 @@ -0,0 +1,23 @@ +# AC_C_STMT_EXPR +# ------------- +# Define HAVE_STMT_EXPR if compiler has statement expressions. +AN_IDENTIFIER([_Generic], [AC_C_STMT_EXPR]) +AC_DEFUN([AC_C_STMT_EXPR], +[AC_CACHE_CHECK([for statement expressions], ac_cv_c_stmt_expr, +[AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[int + main (int argc, char **argv) + { + int x = ({ int y = 1; y; }); + return x; + } + ]])], + [ac_cv_c_stmt_expr=yes], + [ac_cv_c_stmt_expr=no])]) +if test $ac_cv_c_stmt_expr = yes; then + AC_DEFINE([HAVE_STMT_EXPR], 1, + [Define to 1 if compiler supports statement expressions.]) +fi +])# AC_C_STMT_EXPR + diff --git a/build/m4/ax_check_compile_flag.m4 b/build/m4/ax_check_compile_flag.m4 new file mode 100644 index 0000000..c515602 --- /dev/null +++ b/build/m4/ax_check_compile_flag.m4 @@ -0,0 +1,50 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) +# +# DESCRIPTION +# +# Check whether the given FLAG works with the current language's compiler +# or gives an error. (Warnings, however, are ignored) +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# If EXTRA-FLAGS is defined, it is added to the current language's default +# flags (e.g. CFLAGS) when the check is done. The check is thus made with +# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to +# force the compiler to issue an error when a bad flag is given. +# +# INPUT gives an alternative input source to AC_COMPILE_IFELSE. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this +# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> +# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com> +# +# SPDX-License-Identifier: GPL-3.0 + +#serial 3 + +AC_DEFUN([AX_CHECK_COMPILE_FLAG], +[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX +AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl +AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ + ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS + _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" + AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], + [AS_VAR_SET(CACHEVAR,[yes])], + [AS_VAR_SET(CACHEVAR,[no])]) + _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) +AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], + [m4_default([$2], :)], + [m4_default([$3], :)]) +AS_VAR_POPDEF([CACHEVAR])dnl +])dnl AX_CHECK_COMPILE_FLAGS diff --git a/build/m4/ax_check_enable_debug.m4 b/build/m4/ax_check_enable_debug.m4 new file mode 100644 index 0000000..db5bab2 --- /dev/null +++ b/build/m4/ax_check_enable_debug.m4 @@ -0,0 +1,122 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_check_enable_debug.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_ENABLE_DEBUG([enable by default=yes/info/profile/no], [ENABLE DEBUG VARIABLES ...], [DISABLE DEBUG VARIABLES NDEBUG ...], [IS-RELEASE]) +# +# DESCRIPTION +# +# Check for the presence of an --enable-debug option to configure, with +# the specified default value used when the option is not present. Return +# the value in the variable $ax_enable_debug. +# +# Specifying 'yes' adds '-g -O0' to the compilation flags for all +# languages. Specifying 'info' adds '-g' to the compilation flags. +# Specifying 'profile' adds '-g -pg' to the compilation flags and '-pg' to +# the linking flags. Otherwise, nothing is added. +# +# Define the variables listed in the second argument if debug is enabled, +# defaulting to no variables. Defines the variables listed in the third +# argument if debug is disabled, defaulting to NDEBUG. All lists of +# variables should be space-separated. +# +# If debug is not enabled, ensure AC_PROG_* will not add debugging flags. +# Should be invoked prior to any AC_PROG_* compiler checks. +# +# IS-RELEASE can be used to change the default to 'no' when making a +# release. Set IS-RELEASE to 'yes' or 'no' as appropriate. By default, it +# uses the value of $ax_is_release, so if you are using the AX_IS_RELEASE +# macro, there is no need to pass this parameter. +# +# AX_IS_RELEASE([git-directory]) +# AX_CHECK_ENABLE_DEBUG() +# +# LICENSE +# +# Copyright (c) 2011 Rhys Ulerich <rhys.ulerich@gmail.com> +# Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk> +# +# SPDX-License-Identifier: FSFAP + +#serial 5 + +AC_DEFUN([AX_CHECK_ENABLE_DEBUG],[ + AC_BEFORE([$0],[AC_PROG_CC])dnl + AC_BEFORE([$0],[AC_PROG_CXX])dnl + AC_BEFORE([$0],[AC_PROG_F77])dnl + AC_BEFORE([$0],[AC_PROG_FC])dnl + + AC_MSG_CHECKING(whether to enable debugging) + + ax_enable_debug_default=m4_tolower(m4_normalize(ifelse([$1],,[no],[$1]))) + ax_enable_debug_is_release=m4_tolower(m4_normalize(ifelse([$4],, + [$ax_is_release], + [$4]))) + + # If this is a release, override the default. + AS_IF([test "$ax_enable_debug_is_release" = "yes"], + [ax_enable_debug_default="no"]) + + m4_define(ax_enable_debug_vars,[m4_normalize(ifelse([$2],,,[$2]))]) + m4_define(ax_disable_debug_vars,[m4_normalize(ifelse([$3],,[NDEBUG],[$3]))]) + + AC_ARG_ENABLE(debug, + [AS_HELP_STRING([--enable-debug=]@<:@yes/info/profile/no@:>@,[compile with debugging])], + [],enable_debug=$ax_enable_debug_default) + + # empty mean debug yes + AS_IF([test "x$enable_debug" = "x"], + [enable_debug="yes"]) + + # case of debug + AS_CASE([$enable_debug], + [yes],[ + AC_MSG_RESULT(yes) + CFLAGS="${CFLAGS} -g -O0" + CXXFLAGS="${CXXFLAGS} -g -O0" + FFLAGS="${FFLAGS} -g -O0" + FCFLAGS="${FCFLAGS} -g -O0" + OBJCFLAGS="${OBJCFLAGS} -g -O0" + ], + [info],[ + AC_MSG_RESULT(info) + CFLAGS="${CFLAGS} -g" + CXXFLAGS="${CXXFLAGS} -g" + FFLAGS="${FFLAGS} -g" + FCFLAGS="${FCFLAGS} -g" + OBJCFLAGS="${OBJCFLAGS} -g" + ], + [profile],[ + AC_MSG_RESULT(profile) + CFLAGS="${CFLAGS} -g -pg" + CXXFLAGS="${CXXFLAGS} -g -pg" + FFLAGS="${FFLAGS} -g -pg" + FCFLAGS="${FCFLAGS} -g -pg" + OBJCFLAGS="${OBJCFLAGS} -g -pg" + LDFLAGS="${LDFLAGS} -pg" + ], + [ + AC_MSG_RESULT(no) + dnl Ensure AC_PROG_CC/CXX/F77/FC/OBJC will not enable debug flags + dnl by setting any unset environment flag variables + AS_IF([test "x${CFLAGS+set}" != "xset"], + [CFLAGS=""]) + AS_IF([test "x${CXXFLAGS+set}" != "xset"], + [CXXFLAGS=""]) + AS_IF([test "x${FFLAGS+set}" != "xset"], + [FFLAGS=""]) + AS_IF([test "x${FCFLAGS+set}" != "xset"], + [FCFLAGS=""]) + AS_IF([test "x${OBJCFLAGS+set}" != "xset"], + [OBJCFLAGS=""]) + ]) + + dnl Define various variables if debugging is disabled. + dnl assert.h is a NOP if NDEBUG is defined, so define it by default. + AS_IF([test "x$enable_debug" = "xyes"], + [m4_map_args_w(ax_enable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is enabled])])], + [m4_map_args_w(ax_disable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is disabled])])]) + ax_enable_debug=$enable_debug +]) diff --git a/build/m4/ax_gcc_func_attribute.m4 b/build/m4/ax_gcc_func_attribute.m4 new file mode 100644 index 0000000..fe22658 --- /dev/null +++ b/build/m4/ax_gcc_func_attribute.m4 @@ -0,0 +1,223 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_FUNC_ATTRIBUTE(ATTRIBUTE) +# +# DESCRIPTION +# +# This macro checks if the compiler supports one of GCC's function +# attributes; many other compilers also provide function attributes with +# the same syntax. Compiler warnings are used to detect supported +# attributes as unsupported ones are ignored by default so quieting +# warnings when using this macro will yield false positives. +# +# The ATTRIBUTE parameter holds the name of the attribute to be checked. +# +# If ATTRIBUTE is supported define HAVE_FUNC_ATTRIBUTE_<ATTRIBUTE>. +# +# The macro caches its result in the ax_cv_have_func_attribute_<attribute> +# variable. +# +# The macro currently supports the following function attributes: +# +# alias +# aligned +# alloc_size +# always_inline +# artificial +# cold +# const +# constructor +# constructor_priority for constructor attribute with priority +# deprecated +# destructor +# dllexport +# dllimport +# error +# externally_visible +# flatten +# format +# format_arg +# gnu_inline +# hot +# ifunc +# leaf +# malloc +# noclone +# noinline +# nonnull +# noreturn +# nothrow +# optimize +# pure +# unused +# used +# visibility +# warning +# warn_unused_result +# weak +# weakref +# +# Unsupported function attributes will be tested with a prototype returning +# an int and not accepting any arguments and the result of the check might +# be wrong or meaningless so use with care. +# +# LICENSE +# +# Copyright (c) 2013 Gabriele Svelto <gabriele.svelto@gmail.com> +# +# SPDX-License-Identifier: FSFAP + +#serial 4 + +AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ + AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1]) + + AC_CACHE_CHECK([for __attribute__(($1))], [ac_var], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([ + m4_case([$1], + [alias], [ + int foo( void ) { return 0; } + int bar( void ) __attribute__(($1("foo"))); + ], + [aligned], [ + int foo( void ) __attribute__(($1(32))); + ], + [alloc_size], [ + void *foo(int a) __attribute__(($1(1))); + ], + [always_inline], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [artificial], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [cold], [ + int foo( void ) __attribute__(($1)); + ], + [const], [ + int foo( void ) __attribute__(($1)); + ], + [constructor_priority], [ + int foo( void ) __attribute__((__constructor__(65535/2))); + ], + [constructor], [ + int foo( void ) __attribute__(($1)); + ], + [deprecated], [ + int foo( void ) __attribute__(($1(""))); + ], + [destructor], [ + int foo( void ) __attribute__(($1)); + ], + [dllexport], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [dllimport], [ + int foo( void ) __attribute__(($1)); + ], + [error], [ + int foo( void ) __attribute__(($1(""))); + ], + [externally_visible], [ + int foo( void ) __attribute__(($1)); + ], + [flatten], [ + int foo( void ) __attribute__(($1)); + ], + [format], [ + int foo(const char *p, ...) __attribute__(($1(printf, 1, 2))); + ], + [format_arg], [ + char *foo(const char *p) __attribute__(($1(1))); + ], + [gnu_inline], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [hot], [ + int foo( void ) __attribute__(($1)); + ], + [ifunc], [ + int my_foo( void ) { return 0; } + static int (*resolve_foo(void))(void) { return my_foo; } + int foo( void ) __attribute__(($1("resolve_foo"))); + ], + [leaf], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [malloc], [ + void *foo( void ) __attribute__(($1)); + ], + [noclone], [ + int foo( void ) __attribute__(($1)); + ], + [noinline], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [nonnull], [ + int foo(char *p) __attribute__(($1(1))); + ], + [noreturn], [ + void foo( void ) __attribute__(($1)); + ], + [nothrow], [ + int foo( void ) __attribute__(($1)); + ], + [optimize], [ + __attribute__(($1(3))) int foo( void ) { return 0; } + ], + [pure], [ + int foo( void ) __attribute__(($1)); + ], + [returns_nonnull], [ + void *foo( void ) __attribute__(($1)); + ], + [unused], [ + int foo( void ) __attribute__(($1)); + ], + [used], [ + int foo( void ) __attribute__(($1)); + ], + [visibility], [ + int foo_def( void ) __attribute__(($1("default"))); + int foo_hid( void ) __attribute__(($1("hidden"))); + int foo_int( void ) __attribute__(($1("internal"))); + int foo_pro( void ) __attribute__(($1("protected"))); + ], + [warning], [ + int foo( void ) __attribute__(($1(""))); + ], + [warn_unused_result], [ + int foo( void ) __attribute__(($1)); + ], + [weak], [ + int foo( void ) __attribute__(($1)); + ], + [weakref], [ + static int foo( void ) { return 0; } + static int bar( void ) __attribute__(($1("foo"))); + ], + [ + m4_warn([syntax], [Unsupported attribute $1, the test may fail]) + int foo( void ) __attribute__(($1)); + ] + )], []) + ], + dnl GCC doesn't exit with an error if an unknown attribute is + dnl provided but only outputs a warning, so accept the attribute + dnl only if no warning were issued. + [AS_IF([test -s conftest.err], + [AS_VAR_SET([ac_var], [no])], + [AS_VAR_SET([ac_var], [yes])])], + [AS_VAR_SET([ac_var], [no])]) + ]) + + AS_IF([test yes = AS_VAR_GET([ac_var])], + [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_FUNC_ATTRIBUTE_$1), 1, + [Define to 1 if the system has the `$1' function attribute])], []) + + AS_VAR_POPDEF([ac_var]) +]) diff --git a/build/m4/ax_pthread.m4 b/build/m4/ax_pthread.m4 new file mode 100644 index 0000000..9f35d13 --- /dev/null +++ b/build/m4/ax_pthread.m4 @@ -0,0 +1,522 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_pthread.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro figures out how to build C programs using POSIX threads. It +# sets the PTHREAD_LIBS output variable to the threads library and linker +# flags, and the PTHREAD_CFLAGS output variable to any special C compiler +# flags that are needed. (The user can also force certain compiler +# flags/libs to be tested by setting these environment variables.) +# +# Also sets PTHREAD_CC and PTHREAD_CXX to any special C compiler that is +# needed for multi-threaded programs (defaults to the value of CC +# respectively CXX otherwise). (This is necessary on e.g. AIX to use the +# special cc_r/CC_r compiler alias.) +# +# NOTE: You are assumed to not only compile your program with these flags, +# but also to link with them as well. For example, you might link with +# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS +# $PTHREAD_CXX $CXXFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS +# +# If you are only building threaded programs, you may wish to use these +# variables in your default LIBS, CFLAGS, and CC: +# +# LIBS="$PTHREAD_LIBS $LIBS" +# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +# CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" +# CC="$PTHREAD_CC" +# CXX="$PTHREAD_CXX" +# +# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant +# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to +# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). +# +# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the +# PTHREAD_PRIO_INHERIT symbol is defined when compiling with +# PTHREAD_CFLAGS. +# +# ACTION-IF-FOUND is a list of shell commands to run if a threads library +# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it +# is not found. If ACTION-IF-FOUND is not specified, the default action +# will define HAVE_PTHREAD. +# +# Please let the authors know if this macro fails on any platform, or if +# you have any other suggestions or comments. This macro was based on work +# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help +# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by +# Alejandro Forero Cuervo to the autoconf macro repository. We are also +# grateful for the helpful feedback of numerous users. +# +# Updated for Autoconf 2.68 by Daniel Richard G. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> +# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG> +# Copyright (c) 2019 Marc Stevens <marc.stevens@cwi.nl> +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see <https://www.gnu.org/licenses/>. +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 31 + +AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) +AC_DEFUN([AX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_SED]) +AC_LANG_PUSH([C]) +ax_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on Tru64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then + ax_pthread_save_CC="$CC" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) + AS_IF([test "x$PTHREAD_CXX" != "x"], [CXX="$PTHREAD_CXX"]) + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) + AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) + AC_MSG_RESULT([$ax_pthread_ok]) + if test "x$ax_pthread_ok" = "xno"; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + CC="$ax_pthread_save_CC" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items with a "," contain both +# C compiler flags (before ",") and linker flags (after ","). Other items +# starting with a "-" are C compiler flags, and remaining items are +# library names, except for "none" which indicates that we try without +# any flags at all, and "pthread-config" which is a program returning +# the flags for the Pth emulation library. + +ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 +# (Note: HP C rejects this with "bad form for `-t' option") +# -pthreads: Solaris/gcc (Note: HP C also rejects) +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads and +# -D_REENTRANT too), HP C (must be checked before -lpthread, which +# is present but should not be used directly; and before -mthreads, +# because the compiler interprets this as "-mt" + "-hreads") +# -mthreads: Mingw32/gcc, Lynx/gcc +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case $host_os in + + freebsd*) + + # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) + # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) + + ax_pthread_flags="-kthread lthread $ax_pthread_flags" + ;; + + hpux*) + + # From the cc(1) man page: "[-mt] Sets various -D flags to enable + # multi-threading and also sets -lpthread." + + ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" + ;; + + openedition*) + + # IBM z/OS requires a feature-test macro to be defined in order to + # enable POSIX threads at all, so give the user a hint if this is + # not set. (We don't define these ourselves, as they can affect + # other portions of the system API in unpredictable ways.) + + AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], + [ +# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) + AX_PTHREAD_ZOS_MISSING +# endif + ], + [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) + ;; + + solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (N.B.: The stubs are missing + # pthread_cleanup_push, or rather a function called by this macro, + # so we could check for that, but who knows whether they'll stub + # that too in a future libc.) So we'll check first for the + # standard Solaris way of linking pthreads (-mt -lpthread). + + ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags" + ;; +esac + +# Are we compiling with Clang? + +AC_CACHE_CHECK([whether $CC is Clang], + [ax_cv_PTHREAD_CLANG], + [ax_cv_PTHREAD_CLANG=no + # Note that Autoconf sets GCC=yes for Clang as well as GCC + if test "x$GCC" = "xyes"; then + AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], + [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ +# if defined(__clang__) && defined(__llvm__) + AX_PTHREAD_CC_IS_CLANG +# endif + ], + [ax_cv_PTHREAD_CLANG=yes]) + fi + ]) +ax_pthread_clang="$ax_cv_PTHREAD_CLANG" + + +# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) + +# Note that for GCC and Clang -pthread generally implies -lpthread, +# except when -nostdlib is passed. +# This is problematic using libtool to build C++ shared libraries with pthread: +# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 +# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333 +# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555 +# To solve this, first try -pthread together with -lpthread for GCC + +AS_IF([test "x$GCC" = "xyes"], + [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"]) + +# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first + +AS_IF([test "x$ax_pthread_clang" = "xyes"], + [ax_pthread_flags="-pthread,-lpthread -pthread"]) + + +# The presence of a feature test macro requesting re-entrant function +# definitions is, on some systems, a strong hint that pthreads support is +# correctly enabled + +case $host_os in + darwin* | hpux* | linux* | osf* | solaris*) + ax_pthread_check_macro="_REENTRANT" + ;; + + aix*) + ax_pthread_check_macro="_THREAD_SAFE" + ;; + + *) + ax_pthread_check_macro="--" + ;; +esac +AS_IF([test "x$ax_pthread_check_macro" = "x--"], + [ax_pthread_check_cond=0], + [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) + + +if test "x$ax_pthread_ok" = "xno"; then +for ax_pthread_try_flag in $ax_pthread_flags; do + + case $ax_pthread_try_flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + *,*) + PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"` + PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"` + AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) + PTHREAD_CFLAGS="$ax_pthread_try_flag" + ;; + + pthread-config) + AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) + AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) + PTHREAD_LIBS="-l$ax_pthread_try_flag" + ;; + esac + + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h> +# if $ax_pthread_check_cond +# error "$ax_pthread_check_macro must be defined" +# endif + static void *some_global = NULL; + static void routine(void *a) + { + /* To avoid any unused-parameter or + unused-but-set-parameter warning. */ + some_global = a; + } + static void *start_routine(void *a) { return a; }], + [pthread_t th; pthread_attr_t attr; + pthread_create(&th, 0, start_routine, 0); + pthread_join(th, 0); + pthread_attr_init(&attr); + pthread_cleanup_push(routine, 0); + pthread_cleanup_pop(0) /* ; */])], + [ax_pthread_ok=yes], + []) + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + AC_MSG_RESULT([$ax_pthread_ok]) + AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + + +# Clang needs special handling, because older versions handle the -pthread +# option in a rather... idiosyncratic way + +if test "x$ax_pthread_clang" = "xyes"; then + + # Clang takes -pthread; it has never supported any other flag + + # (Note 1: This will need to be revisited if a system that Clang + # supports has POSIX threads in a separate library. This tends not + # to be the way of modern systems, but it's conceivable.) + + # (Note 2: On some systems, notably Darwin, -pthread is not needed + # to get POSIX threads support; the API is always present and + # active. We could reasonably leave PTHREAD_CFLAGS empty. But + # -pthread does define _REENTRANT, and while the Darwin headers + # ignore this macro, third-party headers might not.) + + # However, older versions of Clang make a point of warning the user + # that, in an invocation where only linking and no compilation is + # taking place, the -pthread option has no effect ("argument unused + # during compilation"). They expect -pthread to be passed in only + # when source code is being compiled. + # + # Problem is, this is at odds with the way Automake and most other + # C build frameworks function, which is that the same flags used in + # compilation (CFLAGS) are also used in linking. Many systems + # supported by AX_PTHREAD require exactly this for POSIX threads + # support, and in fact it is often not straightforward to specify a + # flag that is used only in the compilation phase and not in + # linking. Such a scenario is extremely rare in practice. + # + # Even though use of the -pthread flag in linking would only print + # a warning, this can be a nuisance for well-run software projects + # that build with -Werror. So if the active version of Clang has + # this misfeature, we search for an option to squash it. + + AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown + # Create an alternate version of $ac_link that compiles and + # links in two steps (.c -> .o, .o -> exe) instead of one + # (.c -> exe), because the warning occurs only in the second + # step + ax_pthread_save_ac_link="$ac_link" + ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' + ax_pthread_link_step=`AS_ECHO(["$ac_link"]) | sed "$ax_pthread_sed"` + ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" + ax_pthread_save_CFLAGS="$CFLAGS" + for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do + AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) + CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" + ac_link="$ax_pthread_save_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [ac_link="$ax_pthread_2step_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [break]) + ]) + done + ac_link="$ax_pthread_save_ac_link" + CFLAGS="$ax_pthread_save_CFLAGS" + AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" + ]) + + case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in + no | unknown) ;; + *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; + esac + +fi # $ax_pthread_clang = yes + + + +# Various other checks: +if test "x$ax_pthread_ok" = "xyes"; then + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. + AC_CACHE_CHECK([for joinable pthread attribute], + [ax_cv_PTHREAD_JOINABLE_ATTR], + [ax_cv_PTHREAD_JOINABLE_ATTR=unknown + for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>], + [int attr = $ax_pthread_attr; return attr /* ; */])], + [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], + []) + done + ]) + AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ + test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ + test "x$ax_pthread_joinable_attr_defined" != "xyes"], + [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], + [$ax_cv_PTHREAD_JOINABLE_ATTR], + [Define to necessary symbol if this constant + uses a non-standard name on your system.]) + ax_pthread_joinable_attr_defined=yes + ]) + + AC_CACHE_CHECK([whether more special flags are required for pthreads], + [ax_cv_PTHREAD_SPECIAL_FLAGS], + [ax_cv_PTHREAD_SPECIAL_FLAGS=no + case $host_os in + solaris*) + ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" + ;; + esac + ]) + AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ + test "x$ax_pthread_special_flags_added" != "xyes"], + [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" + ax_pthread_special_flags_added=yes]) + + AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], + [ax_cv_PTHREAD_PRIO_INHERIT], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], + [[int i = PTHREAD_PRIO_INHERIT; + return i;]])], + [ax_cv_PTHREAD_PRIO_INHERIT=yes], + [ax_cv_PTHREAD_PRIO_INHERIT=no]) + ]) + AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ + test "x$ax_pthread_prio_inherit_defined" != "xyes"], + [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) + ax_pthread_prio_inherit_defined=yes + ]) + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + # More AIX lossage: compile with *_r variant + if test "x$GCC" != "xyes"; then + case $host_os in + aix*) + AS_CASE(["x/$CC"], + [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], + [#handle absolute path differently from PATH based program lookup + AS_CASE(["x$CC"], + [x/*], + [ + AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"]) + AS_IF([test "x${CXX}" != "x"], [AS_IF([AS_EXECUTABLE_P([${CXX}_r])],[PTHREAD_CXX="${CXX}_r"])]) + ], + [ + AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC]) + AS_IF([test "x${CXX}" != "x"], [AC_CHECK_PROGS([PTHREAD_CXX],[${CXX}_r],[$CXX])]) + ] + ) + ]) + ;; + esac + fi +fi + +test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" +test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX" + +AC_SUBST([PTHREAD_LIBS]) +AC_SUBST([PTHREAD_CFLAGS]) +AC_SUBST([PTHREAD_CC]) +AC_SUBST([PTHREAD_CXX]) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test "x$ax_pthread_ok" = "xyes"; then + ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) + : +else + ax_pthread_ok=no + $2 +fi +AC_LANG_POP +])dnl AX_PTHREAD diff --git a/build/m4/jemalloc.m4 b/build/m4/jemalloc.m4 new file mode 100644 index 0000000..c2008a8 --- /dev/null +++ b/build/m4/jemalloc.m4 @@ -0,0 +1,75 @@ +dnl -------------------------------------------------------- -*- autoconf -*- +dnl SPDX-License-Identifier: Apache-2.0 + +dnl +dnl jemalloc.m4: Trafficserver's jemalloc autoconf macros +dnl modified to skip other TS_ helpers +dnl + +AC_DEFUN([TS_CHECK_JEMALLOC], [ +AC_ARG_WITH([jemalloc-prefix], + [AS_HELP_STRING([--with-jemalloc-prefix=PREFIX],[Specify the jemalloc prefix [default=""]])], + [ + jemalloc_prefix="$withval" + ],[ + if test "`uname -s`" = "Darwin"; then + jemalloc_prefix="je_" + else + jemalloc_prefix="" + fi + ] +) +AC_DEFINE_UNQUOTED([prefix_jemalloc], [${jemalloc_prefix}], [jemalloc prefix]) + +enable_jemalloc=no +AC_ARG_WITH([jemalloc], [AS_HELP_STRING([--with-jemalloc=DIR], [use a specific jemalloc library])], +[ + if test "$withval" != "no"; then + if test "x${enable_tcmalloc}" = "xyes"; then + AC_MSG_ERROR([Cannot compile with both jemalloc and tcmalloc]) + fi + enable_jemalloc=yes + jemalloc_base_dir="$withval" + case "$withval" in + yes) + jemalloc_base_dir="/usr" + AC_MSG_CHECKING(checking for jemalloc includes standard directories) + ;; + *":"*) + jemalloc_include="`echo $withval |sed -e 's/:.*$//'`" + jemalloc_ldflags="`echo $withval |sed -e 's/^.*://'`" + AC_MSG_CHECKING(checking for jemalloc includes in $jemalloc_include libs in $jemalloc_ldflags) + ;; + *) + jemalloc_include="$withval/include" + jemalloc_ldflags="$withval/lib" + AC_MSG_CHECKING(checking for jemalloc includes in $withval) + ;; + esac + fi +]) + +has_jemalloc=0 +if test "$enable_jemalloc" != "no"; then + jemalloc_have_headers=0 + jemalloc_have_libs=0 + if test "$jemalloc_base_dir" != "/usr"; then + CFLAGS="${CFLAGS} -I${jemalloc_include}" + LDFLAGS="${LDFLAGS} -L${jemalloc_ldflags}" + LIBTOOL_LINK_FLAGS="${LIBTOOL_LINK_FLAGS} -R${jemalloc_ldflags}" + fi + func="${jemalloc_prefix}malloc_stats_print" + AC_CHECK_LIB(jemalloc, ${func}, [jemalloc_have_libs=1]) + if test "$jemalloc_have_libs" != "0"; then + AC_CHECK_HEADERS([jemalloc/jemalloc.h], [jemalloc_have_headers=1]) + fi + if test "$jemalloc_have_headers" != "0"; then + has_jemalloc=1 + LIBS="${LIBS} -ljemalloc" + AC_DEFINE(has_jemalloc, [1], [Link/compile against jemalloc]) + else + AC_MSG_ERROR([Couldn't find a jemalloc installation]) + fi +fi +AC_SUBST(has_jemalloc) +]) diff --git a/build/m4/tcmalloc.m4 b/build/m4/tcmalloc.m4 new file mode 100644 index 0000000..765d2ac --- /dev/null +++ b/build/m4/tcmalloc.m4 @@ -0,0 +1,45 @@ +dnl -------------------------------------------------------- -*- autoconf -*- +dnl SPDX-License-Identifier: Apache-2.0 + +dnl +dnl tcmalloc.m4: Trafficserver's tcmalloc autoconf macros +dnl modified to skip other TS_ helpers +dnl + +dnl This is kinda fugly, but need a way to both specify a directory and which +dnl of the many tcmalloc libraries to use ... +AC_DEFUN([TS_CHECK_TCMALLOC], [ +AC_ARG_WITH([tcmalloc-lib], + [AS_HELP_STRING([--with-tcmalloc-lib],[specify the tcmalloc library to use [default=tcmalloc]])], + [ + with_tcmalloc_lib="$withval" + ],[ + with_tcmalloc_lib="tcmalloc" + ] +) + +has_tcmalloc=0 +AC_ARG_WITH([tcmalloc], [AS_HELP_STRING([--with-tcmalloc=DIR], [use the tcmalloc library])], +[ + if test "$withval" != "no"; then + if test "x${enable_jemalloc}" = "xyes"; then + AC_MSG_ERROR([Cannot compile with both tcmalloc and jemalloc]) + fi + tcmalloc_have_lib=0 + if test "x$withval" != "xyes" && test "x$withval" != "x"; then + tcmalloc_ldflags="$withval/lib" + LDFLAGS="${LDFLAGS} -L${tcmalloc_ldflags}" + LIBTOOL_LINK_FLAGS="${LIBTOOL_LINK_FLAGS} -rpath ${tcmalloc_ldflags}" + fi + AC_CHECK_LIB(${with_tcmalloc_lib}, tc_cfree, [tcmalloc_have_lib=1]) + if test "$tcmalloc_have_lib" != "0"; then + LIBS="${LIBS} -l${with_tcmalloc_lib}" + has_tcmalloc=1 + AC_DEFINE(has_tcmalloc, [1], [Link/compile against tcmalloc]) + else + AC_MSG_ERROR([Couldn't find a tcmalloc installation]) + fi + fi +]) +AC_SUBST(has_tcmalloc) +]) diff --git a/build/subst.inc b/build/subst.inc new file mode 100644 index 0000000..3c97211 --- /dev/null +++ b/build/subst.inc @@ -0,0 +1,22 @@ +.in: + if sed \ + -e 's#[@]localstatedir_POST@#$(localstatedir)#g' \ + -e 's#[@]sbindir_POST@#$(sbindir)#g' \ + -e 's#[@]pluginsdir_POST@#$(pluginsdir)#g' \ + -e 's#[@]configdir_POST@#$(configdir)#g' \ + -e 's#[@]libconfigdir_POST@#$(libconfigdir)#g' \ + -e 's#[@]pkglibexecdir_POST@#$(pkglibexecdir)#g' \ + -e 's#[@]cachedir_POST@#$(cachedir)#g' \ + -e 's#[@]registrydir_POST@#$(registrydir)#g' \ + -e 's#[@]varlibdir_POST@#$(varlibdir)#g' \ + -e 's#[@]webdir_POST@#$(webdir)#g' \ + -e 's#[@]libsysdir_POST@#$(libsysdir)#g' \ + -e 's#[@]enable_aclk_POST@#$(enable_aclk)#g' \ + -e 's#[@]enable_cloud_POST@#$(enable_cloud)#g' \ + -e 's#[@]netdata_user_POST@#$(netdata_user)#g' \ + $< > $@.tmp; then \ + mv "$@.tmp" "$@"; \ + else \ + rm -f "$@.tmp"; \ + false; \ + fi diff --git a/build_external/README.md b/build_external/README.md new file mode 100644 index 0000000..d68e4d0 --- /dev/null +++ b/build_external/README.md @@ -0,0 +1,128 @@ +<!-- +title: "External build-system" +date: 2020-03-31 +custom_edit_url: https://github.com/netdata/netdata/edit/master/build_external/README.md +--> + +# External build-system + +This wraps the build-system in Docker so that the host system and the target system are +decoupled. This allows: + +- Cross-compilation (e.g. linux development from macOS) +- Cross-distro (e.g. using CentOS user-land while developing on Debian) +- Multi-host scenarios (e.g. parent-child configurations) +- Bleeding-edge scenarios (e.g. using the ACLK (**currently for internal-use only**)) + +The advantage of these scenarios is that they allow **reproducible** builds and testing +for developers. This is the first iteration of the build-system to allow the team to use +it and get used to it. + +For configurations that involve building and running the agent alone, we still use +`docker-compose` for consistency with more complex configurations. The more complex +configurations allow the agent to be run in conjunction with parts of the cloud +infrastructure (these parts of the code are not public), or with external brokers +(such as VerneMQ for MQTT), or with other external tools (such as TSDB to allow the agent to +export metrics). Note: no external TSDB scenarios are available in the first iteration, +they will be added in subsequent iterations. + +This differs from the packaging dockerfiles as it designed to be used for local development. +The main difference is that these files are designed to support incremental compilation in +the following way: + +1. The initial build should be performed using `bin/clean-install.sh` to create a docker + image with the agent built from the source tree and installed into standard system paths + using `netdata-installer.sh`. In addition to the steps performed by the standard packaging + builds a manifest is created to allow subsequent builds to be made incrementally using + `make` inside the container. Any libraries that are required for 'bleeding-edge' development + are added on top of the standard install. +2. When the `bin/make-install.sh` script is used the docker container will be updated with + a sanitized version of the current build-tree. The manifest will be used to line up the + state of the incoming docker cache with `make`'s view of the file-system according to the + manifest. This means the `make install` inside the container will only rebuild changes + since the last time the disk image was created. + +The exact improvement on the compile-cycle depends on the speed of the network connection +to pull the netdata dependencies, but should shrink the time considerably. For example, +on a macbook pro the initial install takes about 1min + network delay [Note: there is +something bad happening with the standard installer at the end of the container build as +it tries to kill the running agent - this is very slow and bad] and the incremental +step only takes 15s. On a debian host with a fast network this reduces 1m30 -> 13s. + +## Examples + +1. Simple cross-compilation / cross-distro builds. + +```bash +build_external/bin/clean-install.sh arch current +docker run -it --rm arch_current_dev +echo >>daemon/main.c # Simulate edit by touching file +build_external/bin/make-install.sh arch current +docker run -it --rm arch_current_dev +``` + +Currently there is no detection of when the installer needs to be rerun (really this is +when the `autoreconf` / `configure` step must be rerun). Netdata was not written with +multi-stage builds in mind and we need to work out how to do this in the future. For now +it is up to you to know when you need to rerun the clean build step. + +```bash +build_external/bin/clean-install.sh arch current +build_external/bin/clean-install.sh ubuntu 19.10 +docker run -it --rm arch_current_dev +echo >>daemon/main.c # Simulate edit by touching file +build_external/bin/make-install.sh arch current +docker run -it --rm arch_current_dev +echo >>daemon/daemon.c # Simulate second edit step +build_external/bin/make-install.sh arch current # Observe a single file is rebuilt +build_external/bin/make-install.sh arch current # Observe both files are rebuilt +``` + +The state of the build in the two containers is independent. + +2. Single agent config in docker-compose + +This functions the same as the previous example but is wrapped in docker-compose to +allow injection into more complex test configurations. + +```bash +Distro=debian Version=10 docker-compose -f projects/only-agent/docker-compose.yml up +``` + +Note: it is possible to run multiple copies of the agent using the `--scale` option for +`docker-compose up`. + +```bash +Distro=debian Version=10 docker-compose -f projects/only-agent/docker-compose.yml up --scale agent=3 +``` + +3. A simple parent-child scenario + +```bash +# Need to call clean-install on the configs used in the parent-child containers +docker-compose -f parent-child/docker-compose.yml up --scale agent_child1=2 +``` + +Note: this is not production ready yet, but it is left in so that we can see how it behaves +and improve it. Currently it produces the following problems: + * Only the base-configuration in the compose without scaling works. + * The containers are hard-coded in the compose. + * There is no way to separate the agent configurations, so running multiple agent child nodes with the same GUID kills + the parent which exits with a fatal condition. + +4. The ACLK + +This is for internal use only as it requires access to a private repo. Clone the vernemq-docker +repo and follow the instructions within to build an image called `vernemq`. + +```bash +build_external/bin/clean-install.sh arch current # Only needed first time +docker-compose -f build_external/projects/aclk-testing/vernemq-compose.yml -f build_external/projects/aclk-testing/agent-compose.yml up --build +``` + +Notes: +* We are currently limited to arch because of restrictions on libwebsockets +* There is not yet a good way to configure the target agent container from the docker-compose command line. +* Several other containers should be in this compose (a paho client, tshark etc). + + diff --git a/build_external/bin/clean-install.sh b/build_external/bin/clean-install.sh new file mode 100755 index 0000000..78d1f32 --- /dev/null +++ b/build_external/bin/clean-install.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +DISTRO="$1" +VERSION="$2" +BuildBase="$(cd "$(dirname "$0")" && cd .. && pwd)" + +# This is temporary - not all of the package-builder images from the helper-images repo +# are available on Docker Hub. When everything falls under the "happy case" below this +# can be deleted in a future iteration. This is written in a weird way for portability, +# can't rely on bash 4.0+ to allow case fall-through with ;& + +if cat <<HAPPY_CASE | grep "$DISTRO-$VERSION" + opensuse-15.1 + fedora-29 + debian-9 + debian-8 + fedora-30 + opensuse-15.0 + ubuntu-19.04 + centos-7 + fedora-31 + ubuntu-16.04 + ubuntu-18.04 + ubuntu-19.10 + debian-10 + centos-8 + ubuntu-1804 + ubuntu-1904 + ubuntu-1910 + debian-stretch + debian-jessie + debian-buster +HAPPY_CASE +then + docker build -f "$BuildBase/clean-install.Dockerfile" -t "${DISTRO}_${VERSION}_dev" "$BuildBase/.." \ + --build-arg "DISTRO=$DISTRO" --build-arg "VERSION=$VERSION" \ + --build-arg EXTRA_CFLAGS="-DACLK_SSL_ALLOW_SELF_SIGNED" +else + case "$DISTRO-$VERSION" in + arch-current) + docker build -f "$BuildBase/clean-install-arch.Dockerfile" -t "${DISTRO}_${VERSION}_dev" "$BuildBase/.." \ + --build-arg "DISTRO=$DISTRO" --build-arg "VERSION=$VERSION" \ + --build-arg EXTRA_CFLAGS="-DACLK_SSL_ALLOW_SELF_SIGNED" # --no-cache + ;; + arch-extras) # Add valgrind to the container + docker build -f "$BuildBase/clean-install-arch-extras.Dockerfile" -t "${DISTRO}_${VERSION}_dev" "$BuildBase/.." \ + --build-arg "DISTRO=$DISTRO" --build-arg "VERSION=$VERSION" \ + --build-arg EXTRA_CFLAGS="-DACLK_SSL_ALLOW_SELF_SIGNED" # --no-cache + ;; + *) + echo "Unknown $DISTRO-$VERSION" + ;; + esac +fi diff --git a/build_external/bin/make-install.sh b/build_external/bin/make-install.sh new file mode 100755 index 0000000..fe4f7c9 --- /dev/null +++ b/build_external/bin/make-install.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +DISTRO="$1" +VERSION="$2" +BuildBase="$(cd "$(dirname "$0")" && cd .. && pwd)" + +docker build -f "$BuildBase/make-install.Dockerfile" -t "${DISTRO}_${VERSION}_dev:latest" "$BuildBase/.." \ + --build-arg "DISTRO=${DISTRO}" --build-arg "VERSION=${VERSION}" diff --git a/build_external/clean-install-arch-debug.Dockerfile b/build_external/clean-install-arch-debug.Dockerfile new file mode 100644 index 0000000..046b144 --- /dev/null +++ b/build_external/clean-install-arch-debug.Dockerfile @@ -0,0 +1,62 @@ +FROM archlinux/base:latest + +# There is some redundancy between this file and the archlinux Dockerfile in the helper images +# repo and also with the clean-install.Dockerfile. Once the help image is available on Docker +# Hub this file can be deleted. +RUN echo sdlsjdkls +RUN pacman -Syyu --noconfirm +RUN pacman --noconfirm --needed -S autoconf \ + autoconf-archive \ + autogen \ + automake \ + gcc \ + make \ + git \ + libuv \ + lz4 \ + netcat \ + openssl \ + pkgconfig \ + python \ + libvirt \ + cmake \ + valgrind \ + gdb + +ARG EXTRA_CFLAGS +COPY . /opt/netdata/source +WORKDIR /opt/netdata/source + +RUN git config --global user.email "root@container" +RUN git config --global user.name "Fake root" + +# RUN make distclean -> not safe if tree state changed on host since last config +# Kill everything that is not in .gitignore preserving any fresh changes, i.e. untracked changes will be +# deleted but local changes to tracked files will be preserved. +RUN if git status --porcelain | grep '^[MADRC]'; then \ + git stash && git clean -dxf && (git stash apply || true) \ + else \ + git clean -dxf ; \ + fi + +# Not everybody is updating distclean properly - fix. +RUN find . -name '*.Po' -exec rm \{\} \; +RUN rm -rf autom4te.cache +RUN rm -rf .git/ +RUN find . -type f >/opt/netdata/manifest + +RUN CFLAGS="-Og -g -ggdb -Wall -Wextra -Wformat-signedness -fstack-protector-all -DNETDATA_INTERNAL_CHECKS=1\ + -D_FORTIFY_SOURCE=2 -DNETDATA_VERIFY_LOCKS=1 ${EXTRA_CFLAGS}" ./netdata-installer.sh --require-cloud --disable-lto + +RUN ln -sf /dev/stdout /var/log/netdata/access.log +RUN ln -sf /dev/stdout /var/log/netdata/debug.log +RUN ln -sf /dev/stderr /var/log/netdata/error.log + +RUN printf >/opt/netdata/source/gdb_batch '\ +set args -D \n\ +handle SIG32 nostop \n\ +run \n\ +bt' + +#CMD ["/usr/sbin/valgrind", "--leak-check=full", "/usr/sbin/netdata", "-D"] +CMD ["/usr/bin/gdb", "-x", "/opt/netdata/source/gdb_batch", "/usr/sbin/netdata"] diff --git a/build_external/clean-install-arch-extras.Dockerfile b/build_external/clean-install-arch-extras.Dockerfile new file mode 100644 index 0000000..1d18f7a --- /dev/null +++ b/build_external/clean-install-arch-extras.Dockerfile @@ -0,0 +1,58 @@ +FROM archlinux/base:latest + +# There is some redundancy between this file and the archlinux Dockerfile in the helper images +# repo and also with the clean-install.Dockerfile. Once the help image is available on Docker +# Hub this file can be deleted. +RUN echo sdlsjdkls +RUN pacman -Syyu --noconfirm +RUN pacman --noconfirm --needed -S autoconf \ + autoconf-archive \ + autogen \ + automake \ + gcc \ + make \ + git \ + libuv \ + lz4 \ + netcat \ + openssl \ + pkgconfig \ + python \ + libvirt \ + cmake \ + valgrind \ + gdb + +ARG EXTRA_CFLAGS +COPY . /opt/netdata/source +WORKDIR /opt/netdata/source + +RUN git config --global user.email "root@container" +RUN git config --global user.name "Fake root" + +# RUN make distclean -> not safe if tree state changed on host since last config +# Kill everything that is not in .gitignore preserving any fresh changes, i.e. untracked changes will be +# deleted but local changes to tracked files will be preserved. +RUN if git status --porcelain | grep '^[MADRC]'; then \ + git stash && git clean -dxf && (git stash apply || true) \ + else \ + git clean -dxf ; \ + fi + +# Not everybody is updating distclean properly - fix. +RUN find . -name '*.Po' -exec rm \{\} \; +RUN rm -rf autom4te.cache +RUN rm -rf .git/ +RUN find . -type f >/opt/netdata/manifest + +RUN CFLAGS="-Og -g -ggdb -Wall -Wextra -Wformat-signedness -fstack-protector-all -DNETDATA_INTERNAL_CHECKS=1\ + -D_FORTIFY_SOURCE=2 -DNETDATA_VERIFY_LOCKS=1 ${EXTRA_CFLAGS}" ./netdata-installer.sh --require-cloud --disable-lto + +RUN ln -sf /dev/stdout /var/log/netdata/access.log +RUN ln -sf /dev/stdout /var/log/netdata/debug.log +RUN ln -sf /dev/stderr /var/log/netdata/error.log + +RUN rm /var/lib/netdata/registry/netdata.public.unique.id + +CMD ["/usr/sbin/valgrind", "--leak-check=full", "/usr/sbin/netdata", "-D"] + diff --git a/build_external/clean-install-arch.Dockerfile b/build_external/clean-install-arch.Dockerfile new file mode 100644 index 0000000..92bd2c6 --- /dev/null +++ b/build_external/clean-install-arch.Dockerfile @@ -0,0 +1,54 @@ +FROM archlinux/base:latest + +# There is some redundancy between this file and the archlinux Dockerfile in the helper images +# repo and also with the clean-install.Dockerfile. Once the help image is available on Docker +# Hub this file can be deleted. + +RUN pacman -Sy +RUN pacman --noconfirm --needed -S autoconf \ + autoconf-archive \ + autogen \ + automake \ + gcc \ + make \ + git \ + libuv \ + lz4 \ + netcat \ + openssl \ + pkgconfig \ + python \ + libvirt \ + cmake + +ARG ACLK=no +ARG EXTRA_CFLAGS +COPY . /opt/netdata/source +WORKDIR /opt/netdata/source + +RUN git config --global user.email "root@container" +RUN git config --global user.name "Fake root" + +# RUN make distclean -> not safe if tree state changed on host since last config +# Kill everything that is not in .gitignore preserving any fresh changes, i.e. untracked changes will be +# deleted but local changes to tracked files will be preserved. +RUN if git status --porcelain | grep '^[MADRC]'; then \ + git stash && git clean -dxf && (git stash apply || true) \ + else \ + git clean -dxf ; \ + fi + +# Not everybody is updating distclean properly - fix. +RUN find . -name '*.Po' -exec rm \{\} \; +RUN rm -rf autom4te.cache +RUN rm -rf .git/ +RUN find . -type f >/opt/netdata/manifest + +RUN CFLAGS="-O1 -ggdb -Wall -Wextra -Wformat-signedness -fstack-protector-all -DNETDATA_INTERNAL_CHECKS=1\ + -D_FORTIFY_SOURCE=2 -DNETDATA_VERIFY_LOCKS=1 ${EXTRA_CFLAGS}" ./netdata-installer.sh --disable-lto + +RUN ln -sf /dev/stdout /var/log/netdata/access.log +RUN ln -sf /dev/stdout /var/log/netdata/debug.log +RUN ln -sf /dev/stderr /var/log/netdata/error.log + +CMD ["/usr/sbin/netdata", "-D"] diff --git a/build_external/clean-install.Dockerfile b/build_external/clean-install.Dockerfile new file mode 100644 index 0000000..18586e8 --- /dev/null +++ b/build_external/clean-install.Dockerfile @@ -0,0 +1,39 @@ +ARG DISTRO=arch +ARG VERSION=current +FROM netdata/package-builders:${DISTRO}${VERSION} + +ARG ACLK=no +ARG EXTRA_CFLAGS + +COPY . /opt/netdata/source +WORKDIR /opt/netdata/source + +RUN git config --global user.email "root@container" +RUN git config --global user.name "Fake root" + +# RUN make distclean -> not safe if tree state changed on host since last config +# Kill everything that is not in .gitignore preserving any fresh changes, i.e. untracked changes will be +# deleted but local changes to tracked files will be preserved. +RUN if git status --porcelain | grep '^[MADRC]'; then \ + git stash && git clean -dxf && (git stash apply || true) \ + else \ + git clean -dxf ; \ + fi + +# Not everybody is updating distclean properly - fix. +RUN find . -name '*.Po' -exec rm \{\} \; +RUN rm -rf autom4te.cache +RUN rm -rf .git/ +RUN find . -type f >/opt/netdata/manifest + +RUN CFLAGS="-O1 -ggdb -Wall -Wextra -Wformat-signedness -fstack-protector-all -DNETDATA_INTERNAL_CHECKS=1\ + -D_FORTIFY_SOURCE=2 -DNETDATA_VERIFY_LOCKS=1 ${EXTRA_CFLAGS}" ./netdata-installer.sh --disable-lto + +RUN ln -sf /dev/stdout /var/log/netdata/access.log +RUN ln -sf /dev/stdout /var/log/netdata/debug.log +RUN ln -sf /dev/stderr /var/log/netdata/error.log + +RUN rm /var/lib/netdata/registry/netdata.public.unique.id + +CMD ["/usr/sbin/netdata","-D"] +ENTRYPOINT [] diff --git a/build_external/make-install.Dockerfile b/build_external/make-install.Dockerfile new file mode 100644 index 0000000..1341b58 --- /dev/null +++ b/build_external/make-install.Dockerfile @@ -0,0 +1,11 @@ +ARG DISTRO=arch +ARG VERSION=current + +FROM ${DISTRO}_${VERSION}_dev:latest + +# Sanitize new source tree by removing config-time state +COPY . /opt/netdata/latest +WORKDIR /opt/netdata/latest +RUN while read -r f; do cp -p "$f" "../source/$f"; done <../manifest +WORKDIR /opt/netdata/source +RUN make install diff --git a/build_external/scenarios/aclk-testing/agent-compose.yml b/build_external/scenarios/aclk-testing/agent-compose.yml new file mode 100644 index 0000000..5f0f19a --- /dev/null +++ b/build_external/scenarios/aclk-testing/agent-compose.yml @@ -0,0 +1,18 @@ +version: '3.3' +services: + agent_parent: + build: + context: ../../.. + dockerfile: build_external/make-install.Dockerfile + args: + - DISTRO=arch + - VERSION=current + image: arch_current_dev:latest + command: > + sh -c "echo -n 00000000-0000-0000-0000-000000000000 >/var/lib/netdata/cloud.d/claimed_id && + echo '[agent_cloud_link]' >>/etc/netdata/netdata.conf && + echo ' agent cloud link hostname = vernemq' >>/etc/netdata/netdata.conf && + echo ' agent cloud link port = 9002' >>/etc/netdata/netdata.conf && + /usr/sbin/netdata -D" + ports: + - 20000:19999 diff --git a/build_external/scenarios/aclk-testing/agent-valgrind-compose.yml b/build_external/scenarios/aclk-testing/agent-valgrind-compose.yml new file mode 100644 index 0000000..3173e81 --- /dev/null +++ b/build_external/scenarios/aclk-testing/agent-valgrind-compose.yml @@ -0,0 +1,18 @@ +version: '3.3' +services: + agent_parent: + build: + context: ../../.. + dockerfile: build_external/make-install.Dockerfile + args: + - DISTRO=arch + - VERSION=extras + image: arch_extras_dev:latest + command: > + sh -c "echo -n 00000000-0000-0000-0000-000000000000 >/var/lib/netdata/cloud.d/claimed_id && + echo '[agent_cloud_link]' >>/etc/netdata/netdata.conf && + echo ' agent cloud link hostname = vernemq' >>/etc/netdata/netdata.conf && + echo ' agent cloud link port = 9002' >>/etc/netdata/netdata.conf && + /usr/sbin/valgrind --leak-check=full /usr/sbin/netdata -D -W debug_flags=0x200000000" + ports: + - 20000:19999 diff --git a/build_external/scenarios/aclk-testing/agent_netdata.conf b/build_external/scenarios/aclk-testing/agent_netdata.conf new file mode 100644 index 0000000..0d3627d --- /dev/null +++ b/build_external/scenarios/aclk-testing/agent_netdata.conf @@ -0,0 +1,7115 @@ +# netdata configuration
+#
+# You can download the latest version of this file, using:
+#
+# wget -O /etc/netdata/netdata.conf http://localhost:19999/netdata.conf
+# or
+# curl -o /etc/netdata/netdata.conf http://localhost:19999/netdata.conf
+#
+# You can uncomment and change any of the options below.
+# The value shown in the commented settings, is the default value.
+#
+
+# global netdata configuration
+
+[global]
+ # glibc malloc arena max for plugins = 1
+ # glibc malloc arena max for netdata = 1
+ # hostname = b073e16793c4
+ # history = 3996
+ # update every = 1
+ # memory mode = dbengine
+ # page cache size = 32
+ # dbengine disk space = 256
+ # host access prefix =
+ # memory deduplication (ksm) = yes
+ # timezone = Etc/UTC
+ # run as user = netdata
+ # OOM score = 1000
+ # process scheduling policy = idle
+ # pthread stack size = 8388608
+ # cleanup obsolete charts after seconds = 3600
+ # gap when lost iterations above = 1
+ # cleanup orphan hosts after seconds = 3600
+ # delete obsolete charts files = yes
+ # delete orphan hosts files = yes
+ # enable zero metrics = no
+
+[web]
+ # ssl key = /etc/netdata/ssl/key.pem
+ # ssl certificate = /etc/netdata/ssl/cert.pem
+ # ses max window = 15
+ # des max window = 15
+ # mode = static-threaded
+ # listen backlog = 4096
+ # default port = 19999
+ # bind to = *
+ # disconnect idle clients after seconds = 60
+ # timeout for first request = 60
+ # accept a streaming request every seconds = 0
+ # respect do not track policy = no
+ # x-frame-options response header =
+ # allow connections from = localhost *
+ # allow connections by dns = heuristic
+ # allow dashboard from = localhost *
+ # allow dashboard by dns = heuristic
+ # allow badges from = *
+ # allow badges by dns = heuristic
+ # allow streaming from = *
+ # allow streaming by dns = heuristic
+ # allow netdata.conf from = localhost fd* 10.* 192.168.* 172.16.* 172.17.* 172.18.* 172.19.* 172.20.* 172.21.* 172.22.* 172.23.* 172.24.* 172.25.* 172.26.* 172.27.* 172.28.* 172.29.* 172.30.* 172.31.*
+ # allow netdata.conf by dns = no
+ # allow management from = localhost
+ # allow management by dns = heuristic
+ # enable gzip compression = yes
+ # gzip compression strategy = default
+ # gzip compression level = 3
+ # web server threads = 6
+ # web server max sockets = 262144
+
+[plugins]
+ # checks = no
+ # proc = yes
+ # diskspace = yes
+ # cgroups = yes
+ # tc = yes
+ # idlejitter = yes
+ # enable running new plugins = yes
+ # check for new plugins every = 60
+ # slabinfo = no
+ # go.d = yes
+ # apps = yes
+ # charts.d = yes
+ # fping = yes
+ # python.d = yes
+ # perf = yes
+ # ioping = yes
+
+[health]
+ # silencers file = /var/lib/netdata/health.silencers.json
+ # enabled = yes
+ # default repeat warning = never
+ # default repeat critical = never
+ # in memory max health log entries = 1000
+ # script to execute on alarm = /usr/libexec/netdata/plugins.d/alarm-notify.sh
+ # rotate log every lines = 2000
+ # run at least every seconds = 10
+ # postpone alarms during hibernation for seconds = 60
+
+[registry]
+ # enabled = no
+ # registry db directory = /var/lib/netdata/registry
+ # netdata unique id file = /var/lib/netdata/registry/netdata.public.unique.id
+ # registry db file = /var/lib/netdata/registry/registry.db
+ # registry log file = /var/lib/netdata/registry/registry-log.db
+ # registry save db every new entries = 1000000
+ # registry expire idle persons days = 365
+ # registry domain =
+ # registry to announce = https://registry.my-netdata.io
+ # registry hostname = b073e16793c4
+ # verify browser cookies support = yes
+ # max URL length = 1024
+ # max URL name length = 50
+ # netdata management api key file = /var/lib/netdata/netdata.api.key
+ # allow from = *
+ # allow by dns = heuristic
+
+[cloud]
+ # cloud base url = https://netdata.cloud
+
+[statsd]
+ # enabled = yes
+ # update every (flushInterval) = 1
+ # udp messages to process at once = 10
+ # create private charts for metrics matching = *
+ # max private charts allowed = 200
+ # max private charts hard limit = 1000
+ # private charts memory mode = dbengine
+ # private charts history = 3996
+ # decimal detail = 1000
+ # disconnect idle tcp clients after seconds = 600
+ # private charts hidden = no
+ # histograms and timers percentile (percentThreshold) = 95.00000
+ # add dimension for number of events received = yes
+ # gaps on gauges (deleteGauges) = no
+ # gaps on counters (deleteCounters) = no
+ # gaps on meters (deleteMeters) = no
+ # gaps on sets (deleteSets) = no
+ # gaps on histograms (deleteHistograms) = no
+ # gaps on timers (deleteTimers) = no
+ # statsd server max TCP sockets = 262144
+ # listen backlog = 4096
+ # default port = 8125
+ # bind to = udp:localhost tcp:localhost
+
+
+# per plugin configuration
+
+[plugin:cgroups]
+ # cgroups plugin resource charts = yes
+ # update every = 1
+ # check for new cgroups every = 10
+ # use unified cgroups = no
+ # containers priority = 40000
+ # enable cpuacct stat (total CPU) = auto
+ # enable cpuacct usage (per core CPU) = auto
+ # enable memory (used mem including cache) = auto
+ # enable detailed memory = auto
+ # enable memory limits fail count = auto
+ # enable swap memory = auto
+ # enable blkio bandwidth = auto
+ # enable blkio operations = auto
+ # enable blkio throttle bandwidth = auto
+ # enable blkio throttle operations = auto
+ # enable blkio queued operations = auto
+ # enable blkio merged operations = auto
+ # enable cpu pressure = auto
+ # enable io some pressure = auto
+ # enable io full pressure = auto
+ # enable memory some pressure = auto
+ # enable memory full pressure = auto
+ # recheck zero blkio every iterations = 10
+ # recheck zero memory failcnt every iterations = 10
+ # recheck zero detailed memory every iterations = 10
+ # enable systemd services = yes
+ # enable systemd services detailed memory = no
+ # report used memory without cache = yes
+ # path to /sys/fs/cgroup/cpuacct = /sys/fs/cgroup/cpu,cpuacct
+ # path to /sys/fs/cgroup/cpuset = /sys/fs/cgroup/cpuset
+ # path to /sys/fs/cgroup/blkio = /sys/fs/cgroup/blkio
+ # path to /sys/fs/cgroup/memory = /sys/fs/cgroup/memory
+ # path to /sys/fs/cgroup/devices = /sys/fs/cgroup/devices
+ # max cgroups to allow = 1000
+ # max cgroups depth to monitor = 0
+ # enable by default cgroups matching = !*/init.scope !/system.slice/run-*.scope *.scope /machine.slice/*.service !*/vcpu* !*/emulator !*.mount !*.partition !*.service !*.socket !*.slice !*.swap !*.user !/ !/docker !/libvirt !/lxc !/lxc/*/* !/lxc.monitor !/lxc.pivot !/lxc.payload !/machine !/qemu !/system !/systemd !/user *
+ # search for cgroups in subpaths matching = !*/init.scope !*-qemu !*.libvirt-qemu !/init.scope !/system !/systemd !/user !/user.slice !/lxc/*/* !/lxc.monitor !/lxc.payload/*/* *
+ # script to get cgroup names = /usr/libexec/netdata/plugins.d/cgroup-name.sh
+ # script to get cgroup network interfaces = /usr/libexec/netdata/plugins.d/cgroup-network
+ # run script to rename cgroups matching = !/ !*.mount !*.socket !*.partition /machine.slice/*.service !*.service !*.slice !*.swap !*.user !init.scope !*.scope/vcpu* !*.scope/emulator *.scope *docker* *lxc* *qemu* *kubepods* *.libvirt-qemu *
+ # cgroups to match as systemd services = !/system.slice/*/*.service /system.slice/*.service
+
+[plugin:proc]
+ # netdata server resources = yes
+ # /proc/pagetypeinfo = no
+ # /proc/stat = yes
+ # /proc/uptime = yes
+ # /proc/loadavg = yes
+ # /proc/sys/kernel/random/entropy_avail = yes
+ # /proc/pressure = yes
+ # /proc/interrupts = yes
+ # /proc/softirqs = yes
+ # /proc/vmstat = yes
+ # /proc/meminfo = yes
+ # /sys/kernel/mm/ksm = yes
+ # /sys/block/zram = yes
+ # /sys/devices/system/edac/mc = yes
+ # /sys/devices/system/node = yes
+ # /proc/net/dev = yes
+ # /proc/net/sockstat = yes
+ # /proc/net/sockstat6 = yes
+ # /proc/net/netstat = yes
+ # /proc/net/snmp = yes
+ # /proc/net/snmp6 = yes
+ # /proc/net/sctp/snmp = yes
+ # /proc/net/softnet_stat = yes
+ # /proc/net/ip_vs/stats = yes
+ # /proc/net/stat/conntrack = yes
+ # /proc/net/stat/synproxy = yes
+ # /proc/diskstats = yes
+ # /proc/mdstat = yes
+ # /proc/net/rpc/nfsd = yes
+ # /proc/net/rpc/nfs = yes
+ # /proc/spl/kstat/zfs/arcstats = yes
+ # /sys/fs/btrfs = yes
+ # ipc = yes
+ # /sys/class/power_supply = yes
+
+[plugin:proc:diskspace]
+ # remove charts of unmounted disks = yes
+ # update every = 1
+ # check for new mount points every = 15
+ # exclude space metrics on paths = /proc/* /sys/* /var/run/user/* /run/user/* /snap/* /var/lib/docker/*
+ # exclude space metrics on filesystems = *gvfs *gluster* *s3fs *ipfs *davfs2 *httpfs *sshfs *gdfs *moosefs fusectl autofs
+ # space usage for all disks = auto
+ # inodes usage for all disks = auto
+
+[plugin:tc]
+ # script to run to get tc values = /usr/libexec/netdata/plugins.d/tc-qos-helper.sh
+
+[plugin:idlejitter]
+ # loop time in ms = 20
+
+[plugin:go.d]
+ # update every = 1
+ # command options =
+
+[plugin:apps]
+ # update every = 1
+ # command options =
+
+[plugin:charts.d]
+ # update every = 1
+ # command options =
+
+[plugin:fping]
+ # update every = 1
+ # command options =
+
+[plugin:python.d]
+ # update every = 1
+ # command options =
+
+[plugin:perf]
+ # update every = 1
+ # command options =
+
+[plugin:ioping]
+ # update every = 1
+ # command options =
+
+[plugin:proc:/proc/stat]
+ # cpu utilization = yes
+ # per cpu core utilization = yes
+ # cpu interrupts = yes
+ # context switches = yes
+ # processes started = yes
+ # processes running = yes
+ # keep per core files open = yes
+ # keep cpuidle files open = yes
+ # core_throttle_count = auto
+ # package_throttle_count = no
+ # cpu frequency = yes
+ # cpu idle states = yes
+ # core_throttle_count filename to monitor = /sys/devices/system/cpu/%s/thermal_throttle/core_throttle_count
+ # package_throttle_count filename to monitor = /sys/devices/system/cpu/%s/thermal_throttle/package_throttle_count
+ # scaling_cur_freq filename to monitor = /sys/devices/system/cpu/%s/cpufreq/scaling_cur_freq
+ # time_in_state filename to monitor = /sys/devices/system/cpu/%s/cpufreq/stats/time_in_state
+ # schedstat filename to monitor = /proc/schedstat
+ # cpuidle name filename to monitor = /sys/devices/system/cpu/cpu%zu/cpuidle/state%zu/name
+ # cpuidle time filename to monitor = /sys/devices/system/cpu/cpu%zu/cpuidle/state%zu/time
+ # filename to monitor = /proc/stat
+
+[plugin:proc:diskspace:/]
+ # space usage = auto
+ # inodes usage = auto
+
+[plugin:proc:diskspace:/dev]
+ # space usage = auto
+ # inodes usage = auto
+
+[plugin:proc:diskspace:/sys/fs/cgroup]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/fs/cgroup/systemd]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/fs/cgroup/cpu,cpuacct]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/fs/cgroup/devices]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/fs/cgroup/blkio]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/fs/cgroup/perf_event]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/fs/cgroup/rdma]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/fs/cgroup/net_cls,net_prio]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/fs/cgroup/pids]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/fs/cgroup/cpuset]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/fs/cgroup/memory]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/fs/cgroup/freezer]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/dev/shm]
+ # space usage = auto
+ # inodes usage = auto
+
+[plugin:proc:diskspace:/etc/resolv.conf]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/etc/hostname]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/etc/hosts]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/proc/asound]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/proc/acpi]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/proc/kcore]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/proc/keys]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/proc/timer_list]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/proc/sched_debug]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:diskspace:/sys/firmware]
+ # space usage = no
+ # inodes usage = no
+
+[plugin:proc:/proc/uptime]
+ # filename to monitor = /proc/uptime
+
+[plugin:proc:/proc/loadavg]
+ # filename to monitor = /proc/loadavg
+ # enable load average = yes
+ # enable total processes = yes
+
+[plugin:proc:/proc/sys/kernel/random/entropy_avail]
+ # filename to monitor = /proc/sys/kernel/random/entropy_avail
+
+[plugin:proc:/proc/pressure]
+ # base path of pressure metrics = /proc/pressure
+ # enable cpu some pressure = yes
+ # enable memory some pressure = yes
+ # enable memory full pressure = yes
+ # enable io some pressure = yes
+ # enable io full pressure = yes
+
+[plugin:proc:/proc/interrupts]
+ # interrupts per core = auto
+ # filename to monitor = /proc/interrupts
+
+[plugin:proc:/proc/softirqs]
+ # interrupts per core = auto
+ # filename to monitor = /proc/softirqs
+
+[plugin:proc:/proc/vmstat]
+ # swap i/o = auto
+ # disk i/o = yes
+ # memory page faults = yes
+ # system-wide numa metric summary = auto
+ # filename to monitor = /proc/vmstat
+
+[plugin:proc:/sys/devices/system/node]
+ # directory to monitor = /sys/devices/system/node
+ # enable per-node numa metrics = auto
+
+[plugin:proc:/proc/meminfo]
+ # system ram = yes
+ # system swap = auto
+ # hardware corrupted ECC = auto
+ # committed memory = yes
+ # writeback memory = yes
+ # kernel memory = yes
+ # slab memory = yes
+ # hugepages = auto
+ # transparent hugepages = auto
+ # filename to monitor = /proc/meminfo
+
+[plugin:proc:/sys/kernel/mm/ksm]
+ # /sys/kernel/mm/ksm/pages_shared = /sys/kernel/mm/ksm/pages_shared
+ # /sys/kernel/mm/ksm/pages_sharing = /sys/kernel/mm/ksm/pages_sharing
+ # /sys/kernel/mm/ksm/pages_unshared = /sys/kernel/mm/ksm/pages_unshared
+ # /sys/kernel/mm/ksm/pages_volatile = /sys/kernel/mm/ksm/pages_volatile
+
+[plugin:proc:/sys/devices/system/edac/mc]
+ # directory to monitor = /sys/devices/system/edac/mc
+
+[plugin:proc:/proc/net/dev]
+ # filename to monitor = /proc/net/dev
+ # path to get virtual interfaces = /sys/devices/virtual/net/%s
+ # path to get net device speed = /sys/class/net/%s/speed
+ # path to get net device duplex = /sys/class/net/%s/duplex
+ # path to get net device operstate = /sys/class/net/%s/operstate
+ # enable new interfaces detected at runtime = auto
+ # bandwidth for all interfaces = auto
+ # packets for all interfaces = auto
+ # errors for all interfaces = auto
+ # drops for all interfaces = auto
+ # fifo for all interfaces = auto
+ # compressed packets for all interfaces = auto
+ # frames, collisions, carrier counters for all interfaces = auto
+ # disable by default interfaces matching = lo fireqos* *-ifb
+ # refresh interface speed every seconds = 10
+ # refresh interface duplex every seconds = 10
+ # refresh interface operstate every seconds = 10
+
+[plugin:proc:/proc/net/dev:lo]
+ # enabled = no
+ # virtual = yes
+
+[plugin:proc:/proc/net/dev:eth0]
+ # enabled = yes
+ # virtual = yes
+ # bandwidth = auto
+ # packets = auto
+ # errors = auto
+ # drops = auto
+ # fifo = auto
+ # compressed = auto
+ # events = auto
+
+[plugin:proc:/proc/net/sockstat]
+ # ipv4 sockets = auto
+ # ipv4 TCP sockets = auto
+ # ipv4 TCP memory = auto
+ # ipv4 UDP sockets = auto
+ # ipv4 UDP memory = auto
+ # ipv4 UDPLITE sockets = auto
+ # ipv4 RAW sockets = auto
+ # ipv4 FRAG sockets = auto
+ # ipv4 FRAG memory = auto
+ # update constants every = 60
+ # filename to monitor = /proc/net/sockstat
+
+[plugin:proc:/proc/net/sockstat6]
+ # ipv6 TCP sockets = auto
+ # ipv6 UDP sockets = auto
+ # ipv6 UDPLITE sockets = auto
+ # ipv6 RAW sockets = auto
+ # ipv6 FRAG sockets = auto
+ # filename to monitor = /proc/net/sockstat6
+
+[plugin:proc:/proc/net/netstat]
+ # bandwidth = auto
+ # input errors = auto
+ # multicast bandwidth = auto
+ # broadcast bandwidth = auto
+ # multicast packets = auto
+ # broadcast packets = auto
+ # ECN packets = auto
+ # TCP reorders = auto
+ # TCP SYN cookies = auto
+ # TCP out-of-order queue = auto
+ # TCP connection aborts = auto
+ # TCP memory pressures = auto
+ # TCP SYN queue = auto
+ # TCP accept queue = auto
+ # filename to monitor = /proc/net/netstat
+
+[plugin:proc:/proc/net/snmp]
+ # ipv4 packets = auto
+ # ipv4 fragments sent = auto
+ # ipv4 fragments assembly = auto
+ # ipv4 errors = auto
+ # ipv4 TCP connections = auto
+ # ipv4 TCP packets = auto
+ # ipv4 TCP errors = auto
+ # ipv4 TCP opens = auto
+ # ipv4 TCP handshake issues = auto
+ # ipv4 UDP packets = auto
+ # ipv4 UDP errors = auto
+ # ipv4 ICMP packets = auto
+ # ipv4 ICMP messages = auto
+ # ipv4 UDPLite packets = auto
+ # filename to monitor = /proc/net/snmp
+
+[plugin:proc:/proc/net/snmp6]
+ # ipv6 packets = auto
+ # ipv6 fragments sent = auto
+ # ipv6 fragments assembly = auto
+ # ipv6 errors = auto
+ # ipv6 UDP packets = auto
+ # ipv6 UDP errors = auto
+ # ipv6 UDPlite packets = auto
+ # ipv6 UDPlite errors = auto
+ # bandwidth = auto
+ # multicast bandwidth = auto
+ # broadcast bandwidth = auto
+ # multicast packets = auto
+ # icmp = auto
+ # icmp redirects = auto
+ # icmp errors = auto
+ # icmp echos = auto
+ # icmp group membership = auto
+ # icmp router = auto
+ # icmp neighbor = auto
+ # icmp mldv2 = auto
+ # icmp types = auto
+ # ect = auto
+ # filename to monitor = /proc/net/snmp6
+
+[plugin:proc:/proc/net/sctp/snmp]
+ # established associations = auto
+ # association transitions = auto
+ # fragmentation = auto
+ # packets = auto
+ # packet errors = auto
+ # chunk types = auto
+ # filename to monitor = /proc/net/sctp/snmp
+
+[plugin:proc:/proc/net/softnet_stat]
+ # softnet_stat per core = yes
+ # filename to monitor = /proc/net/softnet_stat
+
+[plugin:proc:/proc/net/ip_vs_stats]
+ # IPVS bandwidth = yes
+ # IPVS connections = yes
+ # IPVS packets = yes
+ # filename to monitor = /proc/net/ip_vs_stats
+
+[plugin:proc:/proc/net/stat/nf_conntrack]
+ # filename to monitor = /proc/net/stat/nf_conntrack
+ # netfilter new connections = yes
+ # netfilter connection changes = yes
+ # netfilter connection expectations = yes
+ # netfilter connection searches = yes
+ # netfilter errors = yes
+ # netfilter connections = yes
+
+[plugin:proc:/proc/sys/net/netfilter/nf_conntrack_max]
+ # filename to monitor = /proc/sys/net/netfilter/nf_conntrack_max
+ # read every seconds = 10
+
+[plugin:proc:/proc/net/stat/synproxy]
+ # SYNPROXY entries = auto
+ # SYNPROXY cookies = auto
+ # SYNPROXY SYN received = auto
+ # SYNPROXY connections reopened = auto
+ # filename to monitor = /proc/net/stat/synproxy
+
+[plugin:proc:/proc/diskstats]
+ # enable new disks detected at runtime = yes
+ # performance metrics for physical disks = auto
+ # performance metrics for virtual disks = auto
+ # performance metrics for partitions = no
+ # bandwidth for all disks = auto
+ # operations for all disks = auto
+ # merged operations for all disks = auto
+ # i/o time for all disks = auto
+ # queued operations for all disks = auto
+ # utilization percentage for all disks = auto
+ # backlog for all disks = auto
+ # bcache for all disks = auto
+ # bcache priority stats update every = 0
+ # remove charts of removed disks = yes
+ # path to get block device = /sys/block/%s
+ # path to get block device bcache = /sys/block/%s/bcache
+ # path to get virtual block device = /sys/devices/virtual/block/%s
+ # path to get block device infos = /sys/dev/block/%lu:%lu/%s
+ # path to device mapper = /dev/mapper
+ # path to /dev/disk/by-label = /dev/disk/by-label
+ # path to /dev/disk/by-id = /dev/disk/by-id
+ # path to /dev/vx/dsk = /dev/vx/dsk
+ # name disks by id = no
+ # preferred disk ids = *
+ # exclude disks = loop* ram*
+ # filename to monitor = /proc/diskstats
+ # performance metrics for disks with major 8 = yes
+
+[plugin:proc:/proc/diskstats:sda]
+ # enable = yes
+ # enable performance metrics = yes
+ # bandwidth = auto
+ # operations = auto
+ # merged operations = auto
+ # i/o time = auto
+ # queued operations = auto
+ # utilization percentage = auto
+ # backlog = auto
+
+[plugin:proc:/proc/diskstats:sda1]
+ # enable = yes
+ # enable performance metrics = no
+ # bandwidth = no
+ # operations = no
+ # merged operations = no
+ # i/o time = no
+ # queued operations = no
+ # utilization percentage = no
+ # backlog = no
+
+[plugin:proc:/proc/diskstats:sda2]
+ # enable = yes
+ # enable performance metrics = no
+ # bandwidth = no
+ # operations = no
+ # merged operations = no
+ # i/o time = no
+ # queued operations = no
+ # utilization percentage = no
+ # backlog = no
+
+[plugin:proc:/proc/diskstats:sda3]
+ # enable = yes
+ # enable performance metrics = no
+ # bandwidth = no
+ # operations = no
+ # merged operations = no
+ # i/o time = no
+ # queued operations = no
+ # utilization percentage = no
+ # backlog = no
+
+[plugin:proc:/proc/diskstats:sda4]
+ # enable = yes
+ # enable performance metrics = no
+ # bandwidth = no
+ # operations = no
+ # merged operations = no
+ # i/o time = no
+ # queued operations = no
+ # utilization percentage = no
+ # backlog = no
+
+[plugin:proc:/proc/diskstats:sda5]
+ # enable = yes
+ # enable performance metrics = no
+ # bandwidth = no
+ # operations = no
+ # merged operations = no
+ # i/o time = no
+ # queued operations = no
+ # utilization percentage = no
+ # backlog = no
+
+[plugin:proc:/proc/diskstats:sdb]
+ # enable = yes
+ # enable performance metrics = yes
+ # bandwidth = auto
+ # operations = auto
+ # merged operations = auto
+ # i/o time = auto
+ # queued operations = auto
+ # utilization percentage = auto
+ # backlog = auto
+
+[plugin:proc:/proc/diskstats:sdb1]
+ # enable = yes
+ # enable performance metrics = no
+ # bandwidth = no
+ # operations = no
+ # merged operations = no
+ # i/o time = no
+ # queued operations = no
+ # utilization percentage = no
+ # backlog = no
+
+[plugin:proc:/proc/diskstats:sdb2]
+ # enable = yes
+ # enable performance metrics = no
+ # bandwidth = no
+ # operations = no
+ # merged operations = no
+ # i/o time = no
+ # queued operations = no
+ # utilization percentage = no
+ # backlog = no
+
+[plugin:proc:/proc/diskstats:sdb3]
+ # enable = yes
+ # enable performance metrics = no
+ # bandwidth = no
+ # operations = no
+ # merged operations = no
+ # i/o time = no
+ # queued operations = no
+ # utilization percentage = no
+ # backlog = no
+
+[plugin:proc:/proc/diskstats:sdb4]
+ # enable = yes
+ # enable performance metrics = no
+ # bandwidth = no
+ # operations = no
+ # merged operations = no
+ # i/o time = no
+ # queued operations = no
+ # utilization percentage = no
+ # backlog = no
+
+[plugin:proc:/proc/diskstats:sdb5]
+ # enable = yes
+ # enable performance metrics = no
+ # bandwidth = no
+ # operations = no
+ # merged operations = no
+ # i/o time = no
+ # queued operations = no
+ # utilization percentage = no
+ # backlog = no
+
+[plugin:proc:/proc/mdstat]
+ # faulty devices = yes
+ # nonredundant arrays availability = yes
+ # mismatch count = auto
+ # disk stats = yes
+ # operation status = yes
+ # make charts obsolete = yes
+ # filename to monitor = /proc/mdstat
+ # mismatch_cnt filename to monitor = /sys/block/%s/md/mismatch_cnt
+
+[plugin:proc:/proc/net/rpc/nfsd]
+ # filename to monitor = /proc/net/rpc/nfsd
+
+[plugin:proc:/proc/net/rpc/nfs]
+ # filename to monitor = /proc/net/rpc/nfs
+
+[plugin:proc:/proc/spl/kstat/zfs/arcstats]
+ # filename to monitor = /proc/spl/kstat/zfs/arcstats
+
+[plugin:proc:/sys/fs/btrfs]
+ # path to monitor = /sys/fs/btrfs
+ # check for btrfs changes every = 60
+ # physical disks allocation = auto
+ # data allocation = auto
+ # metadata allocation = auto
+ # system allocation = auto
+
+[plugin:proc:ipc]
+ # message queues = yes
+ # semaphore totals = yes
+ # shared memory totals = yes
+ # msg filename to monitor = /proc/sysvipc/msg
+ # shm filename to monitor = /proc/sysvipc/shm
+ # max dimensions in memory allowed = 50
+
+[plugin:proc:/sys/class/power_supply]
+ # battery capacity = yes
+ # battery charge = no
+ # battery energy = no
+ # power supply voltage = no
+ # keep files open = auto
+ # directory to monitor = /sys/class/power_supply
+
+
+# per chart configuration
+
+[system.idlejitter]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.idlejitter
+ # chart type = area
+ # type = system
+ # family = idlejitter
+ # units = microseconds lost/s
+ # context = system.idlejitter
+ # priority = 800
+ # name = system.idlejitter
+ # title = CPU Idle Jitter
+ # dim min name = min
+ # dim min algorithm = absolute
+ # dim min multiplier = 1
+ # dim min divisor = 1
+ # dim max name = max
+ # dim max algorithm = absolute
+ # dim max multiplier = 1
+ # dim max divisor = 1
+ # dim average name = average
+ # dim average algorithm = absolute
+ # dim average multiplier = 1
+ # dim average divisor = 1
+
+[netdata.statsd_metrics]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.statsd_metrics
+ # chart type = stacked
+ # type = netdata
+ # family = statsd
+ # units = metrics
+ # context = netdata.statsd_metrics
+ # priority = 132010
+ # name = netdata.statsd_metrics
+ # title = Metrics in the netdata statsd database
+ # dim gauges name = gauges
+ # dim gauges algorithm = absolute
+ # dim gauges multiplier = 1
+ # dim gauges divisor = 1
+ # dim counters name = counters
+ # dim counters algorithm = absolute
+ # dim counters multiplier = 1
+ # dim counters divisor = 1
+ # dim timers name = timers
+ # dim timers algorithm = absolute
+ # dim timers multiplier = 1
+ # dim timers divisor = 1
+ # dim meters name = meters
+ # dim meters algorithm = absolute
+ # dim meters multiplier = 1
+ # dim meters divisor = 1
+ # dim histograms name = histograms
+ # dim histograms algorithm = absolute
+ # dim histograms multiplier = 1
+ # dim histograms divisor = 1
+ # dim sets name = sets
+ # dim sets algorithm = absolute
+ # dim sets multiplier = 1
+ # dim sets divisor = 1
+
+[netdata.statsd_useful_metrics]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.statsd_useful_metrics
+ # chart type = stacked
+ # type = netdata
+ # family = statsd
+ # units = metrics
+ # context = netdata.statsd_useful_metrics
+ # priority = 132010
+ # name = netdata.statsd_useful_metrics
+ # title = Useful metrics in the netdata statsd database
+ # dim gauges name = gauges
+ # dim gauges algorithm = absolute
+ # dim gauges multiplier = 1
+ # dim gauges divisor = 1
+ # dim counters name = counters
+ # dim counters algorithm = absolute
+ # dim counters multiplier = 1
+ # dim counters divisor = 1
+ # dim timers name = timers
+ # dim timers algorithm = absolute
+ # dim timers multiplier = 1
+ # dim timers divisor = 1
+ # dim meters name = meters
+ # dim meters algorithm = absolute
+ # dim meters multiplier = 1
+ # dim meters divisor = 1
+ # dim histograms name = histograms
+ # dim histograms algorithm = absolute
+ # dim histograms multiplier = 1
+ # dim histograms divisor = 1
+ # dim sets name = sets
+ # dim sets algorithm = absolute
+ # dim sets multiplier = 1
+ # dim sets divisor = 1
+
+[netdata.statsd_events]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.statsd_events
+ # chart type = stacked
+ # type = netdata
+ # family = statsd
+ # units = events/s
+ # context = netdata.statsd_events
+ # priority = 132011
+ # name = netdata.statsd_events
+ # title = Events processed by the netdata statsd server
+ # dim gauges name = gauges
+ # dim gauges algorithm = incremental
+ # dim gauges multiplier = 1
+ # dim gauges divisor = 1
+ # dim counters name = counters
+ # dim counters algorithm = incremental
+ # dim counters multiplier = 1
+ # dim counters divisor = 1
+ # dim timers name = timers
+ # dim timers algorithm = incremental
+ # dim timers multiplier = 1
+ # dim timers divisor = 1
+ # dim meters name = meters
+ # dim meters algorithm = incremental
+ # dim meters multiplier = 1
+ # dim meters divisor = 1
+ # dim histograms name = histograms
+ # dim histograms algorithm = incremental
+ # dim histograms multiplier = 1
+ # dim histograms divisor = 1
+ # dim sets name = sets
+ # dim sets algorithm = incremental
+ # dim sets multiplier = 1
+ # dim sets divisor = 1
+ # dim unknown name = unknown
+ # dim unknown algorithm = incremental
+ # dim unknown multiplier = 1
+ # dim unknown divisor = 1
+ # dim errors name = errors
+ # dim errors algorithm = incremental
+ # dim errors multiplier = 1
+ # dim errors divisor = 1
+
+[netdata.statsd_reads]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.statsd_reads
+ # chart type = stacked
+ # type = netdata
+ # family = statsd
+ # units = reads/s
+ # context = netdata.statsd_reads
+ # priority = 132012
+ # name = netdata.statsd_reads
+ # title = Read operations made by the netdata statsd server
+ # dim tcp name = tcp
+ # dim tcp algorithm = incremental
+ # dim tcp multiplier = 1
+ # dim tcp divisor = 1
+ # dim udp name = udp
+ # dim udp algorithm = incremental
+ # dim udp multiplier = 1
+ # dim udp divisor = 1
+
+[netdata.statsd_bytes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.statsd_bytes
+ # chart type = stacked
+ # type = netdata
+ # family = statsd
+ # units = kilobits/s
+ # context = netdata.statsd_bytes
+ # priority = 132013
+ # name = netdata.statsd_bytes
+ # title = Bytes read by the netdata statsd server
+ # dim tcp name = tcp
+ # dim tcp algorithm = incremental
+ # dim tcp multiplier = 8
+ # dim tcp divisor = 1000
+ # dim udp name = udp
+ # dim udp algorithm = incremental
+ # dim udp multiplier = 8
+ # dim udp divisor = 1000
+
+[netdata.statsd_packets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.statsd_packets
+ # chart type = stacked
+ # type = netdata
+ # family = statsd
+ # units = packets/s
+ # context = netdata.statsd_packets
+ # priority = 132014
+ # name = netdata.statsd_packets
+ # title = Network packets processed by the netdata statsd server
+ # dim tcp name = tcp
+ # dim tcp algorithm = incremental
+ # dim tcp multiplier = 1
+ # dim tcp divisor = 1
+ # dim udp name = udp
+ # dim udp algorithm = incremental
+ # dim udp multiplier = 1
+ # dim udp divisor = 1
+
+[netdata.tcp_connects]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.tcp_connects
+ # chart type = line
+ # type = netdata
+ # family = statsd
+ # units = events
+ # context = netdata.tcp_connects
+ # priority = 132015
+ # name = netdata.tcp_connects
+ # title = statsd server TCP connects and disconnects
+ # dim connects name = connects
+ # dim connects algorithm = incremental
+ # dim connects multiplier = 1
+ # dim connects divisor = 1
+ # dim disconnects name = disconnects
+ # dim disconnects algorithm = incremental
+ # dim disconnects multiplier = -1
+ # dim disconnects divisor = 1
+
+[netdata.tcp_connected]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.tcp_connected
+ # chart type = line
+ # type = netdata
+ # family = statsd
+ # units = sockets
+ # context = netdata.tcp_connected
+ # priority = 132016
+ # name = netdata.tcp_connected
+ # title = statsd server TCP connected sockets
+ # dim connected name = connected
+ # dim connected algorithm = absolute
+ # dim connected multiplier = 1
+ # dim connected divisor = 1
+
+[netdata.private_charts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.private_charts
+ # chart type = area
+ # type = netdata
+ # family = statsd
+ # units = charts
+ # context = netdata.private_charts
+ # priority = 132020
+ # name = netdata.private_charts
+ # title = Private metric charts created by the netdata statsd server
+ # dim charts name = charts
+ # dim charts algorithm = absolute
+ # dim charts multiplier = 1
+ # dim charts divisor = 1
+
+[netdata.plugin_statsd_charting_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.plugin_statsd_charting_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = statsd
+ # units = milliseconds/s
+ # context = netdata.statsd_cpu
+ # priority = 132001
+ # name = netdata.plugin_statsd_charting_cpu
+ # title = Netdata statsd charting thread CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[netdata.plugin_statsd_collector1_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.plugin_statsd_collector1_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = statsd
+ # units = milliseconds/s
+ # context = netdata.statsd_cpu
+ # priority = 132002
+ # name = netdata.plugin_statsd_collector1_cpu
+ # title = Netdata statsd collector thread No 1 CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[system.cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.cpu
+ # chart type = stacked
+ # type = system
+ # family = cpu
+ # units = percentage
+ # context = system.cpu
+ # priority = 100
+ # name = system.cpu
+ # title = Total CPU utilization
+ # dim guest_nice name = guest_nice
+ # dim guest_nice algorithm = percentage-of-incremental-row
+ # dim guest_nice multiplier = 1
+ # dim guest_nice divisor = 1
+ # dim guest name = guest
+ # dim guest algorithm = percentage-of-incremental-row
+ # dim guest multiplier = 1
+ # dim guest divisor = 1
+ # dim steal name = steal
+ # dim steal algorithm = percentage-of-incremental-row
+ # dim steal multiplier = 1
+ # dim steal divisor = 1
+ # dim softirq name = softirq
+ # dim softirq algorithm = percentage-of-incremental-row
+ # dim softirq multiplier = 1
+ # dim softirq divisor = 1
+ # dim irq name = irq
+ # dim irq algorithm = percentage-of-incremental-row
+ # dim irq multiplier = 1
+ # dim irq divisor = 1
+ # dim user name = user
+ # dim user algorithm = percentage-of-incremental-row
+ # dim user multiplier = 1
+ # dim user divisor = 1
+ # dim system name = system
+ # dim system algorithm = percentage-of-incremental-row
+ # dim system multiplier = 1
+ # dim system divisor = 1
+ # dim nice name = nice
+ # dim nice algorithm = percentage-of-incremental-row
+ # dim nice multiplier = 1
+ # dim nice divisor = 1
+ # dim iowait name = iowait
+ # dim iowait algorithm = percentage-of-incremental-row
+ # dim iowait multiplier = 1
+ # dim iowait divisor = 1
+ # dim idle name = idle
+ # dim idle algorithm = percentage-of-incremental-row
+ # dim idle multiplier = 1
+ # dim idle divisor = 1
+
+[cpu.cpu0]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu0
+ # chart type = stacked
+ # type = cpu
+ # family = utilization
+ # units = percentage
+ # context = cpu.cpu
+ # priority = 1001
+ # name = cpu.cpu0
+ # title = Core utilization
+ # dim guest_nice name = guest_nice
+ # dim guest_nice algorithm = percentage-of-incremental-row
+ # dim guest_nice multiplier = 1
+ # dim guest_nice divisor = 1
+ # dim guest name = guest
+ # dim guest algorithm = percentage-of-incremental-row
+ # dim guest multiplier = 1
+ # dim guest divisor = 1
+ # dim steal name = steal
+ # dim steal algorithm = percentage-of-incremental-row
+ # dim steal multiplier = 1
+ # dim steal divisor = 1
+ # dim softirq name = softirq
+ # dim softirq algorithm = percentage-of-incremental-row
+ # dim softirq multiplier = 1
+ # dim softirq divisor = 1
+ # dim irq name = irq
+ # dim irq algorithm = percentage-of-incremental-row
+ # dim irq multiplier = 1
+ # dim irq divisor = 1
+ # dim user name = user
+ # dim user algorithm = percentage-of-incremental-row
+ # dim user multiplier = 1
+ # dim user divisor = 1
+ # dim system name = system
+ # dim system algorithm = percentage-of-incremental-row
+ # dim system multiplier = 1
+ # dim system divisor = 1
+ # dim nice name = nice
+ # dim nice algorithm = percentage-of-incremental-row
+ # dim nice multiplier = 1
+ # dim nice divisor = 1
+ # dim iowait name = iowait
+ # dim iowait algorithm = percentage-of-incremental-row
+ # dim iowait multiplier = 1
+ # dim iowait divisor = 1
+ # dim idle name = idle
+ # dim idle algorithm = percentage-of-incremental-row
+ # dim idle multiplier = 1
+ # dim idle divisor = 1
+
+[cpu.cpu1]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu1
+ # chart type = stacked
+ # type = cpu
+ # family = utilization
+ # units = percentage
+ # context = cpu.cpu
+ # priority = 1002
+ # name = cpu.cpu1
+ # title = Core utilization
+ # dim guest_nice name = guest_nice
+ # dim guest_nice algorithm = percentage-of-incremental-row
+ # dim guest_nice multiplier = 1
+ # dim guest_nice divisor = 1
+ # dim guest name = guest
+ # dim guest algorithm = percentage-of-incremental-row
+ # dim guest multiplier = 1
+ # dim guest divisor = 1
+ # dim steal name = steal
+ # dim steal algorithm = percentage-of-incremental-row
+ # dim steal multiplier = 1
+ # dim steal divisor = 1
+ # dim softirq name = softirq
+ # dim softirq algorithm = percentage-of-incremental-row
+ # dim softirq multiplier = 1
+ # dim softirq divisor = 1
+ # dim irq name = irq
+ # dim irq algorithm = percentage-of-incremental-row
+ # dim irq multiplier = 1
+ # dim irq divisor = 1
+ # dim user name = user
+ # dim user algorithm = percentage-of-incremental-row
+ # dim user multiplier = 1
+ # dim user divisor = 1
+ # dim system name = system
+ # dim system algorithm = percentage-of-incremental-row
+ # dim system multiplier = 1
+ # dim system divisor = 1
+ # dim nice name = nice
+ # dim nice algorithm = percentage-of-incremental-row
+ # dim nice multiplier = 1
+ # dim nice divisor = 1
+ # dim iowait name = iowait
+ # dim iowait algorithm = percentage-of-incremental-row
+ # dim iowait multiplier = 1
+ # dim iowait divisor = 1
+ # dim idle name = idle
+ # dim idle algorithm = percentage-of-incremental-row
+ # dim idle multiplier = 1
+ # dim idle divisor = 1
+
+[disk_space._]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_space._
+ # chart type = stacked
+ # type = disk_space
+ # family = /
+ # units = GiB
+ # context = disk.space
+ # priority = 2023
+ # name = disk_space._
+ # title = Disk Space Usage for / [overlay]
+ # dim avail name = avail
+ # dim avail algorithm = absolute
+ # dim avail multiplier = 4096
+ # dim avail divisor = 1073741824
+ # dim used name = used
+ # dim used algorithm = absolute
+ # dim used multiplier = 4096
+ # dim used divisor = 1073741824
+ # dim reserved_for_root name = reserved for root
+ # dim reserved_for_root algorithm = absolute
+ # dim reserved_for_root multiplier = 4096
+ # dim reserved_for_root divisor = 1073741824
+
+[disk_inodes._]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_inodes._
+ # chart type = stacked
+ # type = disk_inodes
+ # family = /
+ # units = inodes
+ # context = disk.inodes
+ # priority = 2024
+ # name = disk_inodes._
+ # title = Disk Files (inodes) Usage for / [overlay]
+ # dim avail name = avail
+ # dim avail algorithm = absolute
+ # dim avail multiplier = 1
+ # dim avail divisor = 1
+ # dim used name = used
+ # dim used algorithm = absolute
+ # dim used multiplier = 1
+ # dim used divisor = 1
+ # dim reserved_for_root name = reserved for root
+ # dim reserved_for_root algorithm = absolute
+ # dim reserved_for_root multiplier = 1
+ # dim reserved_for_root divisor = 1
+
+[disk_space._dev]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_space._dev
+ # chart type = stacked
+ # type = disk_space
+ # family = /dev
+ # units = GiB
+ # context = disk.space
+ # priority = 2023
+ # name = disk_space._dev
+ # title = Disk Space Usage for /dev [tmpfs]
+ # dim avail name = avail
+ # dim avail algorithm = absolute
+ # dim avail multiplier = 4096
+ # dim avail divisor = 1073741824
+ # dim used name = used
+ # dim used algorithm = absolute
+ # dim used multiplier = 4096
+ # dim used divisor = 1073741824
+ # dim reserved_for_root name = reserved for root
+ # dim reserved_for_root algorithm = absolute
+ # dim reserved_for_root multiplier = 4096
+ # dim reserved_for_root divisor = 1073741824
+
+[disk_inodes._dev]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_inodes._dev
+ # chart type = stacked
+ # type = disk_inodes
+ # family = /dev
+ # units = inodes
+ # context = disk.inodes
+ # priority = 2024
+ # name = disk_inodes._dev
+ # title = Disk Files (inodes) Usage for /dev [tmpfs]
+ # dim avail name = avail
+ # dim avail algorithm = absolute
+ # dim avail multiplier = 1
+ # dim avail divisor = 1
+ # dim used name = used
+ # dim used algorithm = absolute
+ # dim used multiplier = 1
+ # dim used divisor = 1
+ # dim reserved_for_root name = reserved for root
+ # dim reserved_for_root algorithm = absolute
+ # dim reserved_for_root multiplier = 1
+ # dim reserved_for_root divisor = 1
+
+[disk_space._dev_shm]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_space._dev_shm
+ # chart type = stacked
+ # type = disk_space
+ # family = /dev/shm
+ # units = GiB
+ # context = disk.space
+ # priority = 2023
+ # name = disk_space._dev_shm
+ # title = Disk Space Usage for /dev/shm [shm]
+ # dim avail name = avail
+ # dim avail algorithm = absolute
+ # dim avail multiplier = 4096
+ # dim avail divisor = 1073741824
+ # dim used name = used
+ # dim used algorithm = absolute
+ # dim used multiplier = 4096
+ # dim used divisor = 1073741824
+ # dim reserved_for_root name = reserved for root
+ # dim reserved_for_root algorithm = absolute
+ # dim reserved_for_root multiplier = 4096
+ # dim reserved_for_root divisor = 1073741824
+
+[disk_inodes._dev_shm]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_inodes._dev_shm
+ # chart type = stacked
+ # type = disk_inodes
+ # family = /dev/shm
+ # units = inodes
+ # context = disk.inodes
+ # priority = 2024
+ # name = disk_inodes._dev_shm
+ # title = Disk Files (inodes) Usage for /dev/shm [shm]
+ # dim avail name = avail
+ # dim avail algorithm = absolute
+ # dim avail multiplier = 1
+ # dim avail divisor = 1
+ # dim used name = used
+ # dim used algorithm = absolute
+ # dim used multiplier = 1
+ # dim used divisor = 1
+ # dim reserved_for_root name = reserved for root
+ # dim reserved_for_root algorithm = absolute
+ # dim reserved_for_root multiplier = 1
+ # dim reserved_for_root divisor = 1
+
+[cpu.cpu2]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu2
+ # chart type = stacked
+ # type = cpu
+ # family = utilization
+ # units = percentage
+ # context = cpu.cpu
+ # priority = 1003
+ # name = cpu.cpu2
+ # title = Core utilization
+ # dim guest_nice name = guest_nice
+ # dim guest_nice algorithm = percentage-of-incremental-row
+ # dim guest_nice multiplier = 1
+ # dim guest_nice divisor = 1
+ # dim guest name = guest
+ # dim guest algorithm = percentage-of-incremental-row
+ # dim guest multiplier = 1
+ # dim guest divisor = 1
+ # dim steal name = steal
+ # dim steal algorithm = percentage-of-incremental-row
+ # dim steal multiplier = 1
+ # dim steal divisor = 1
+ # dim softirq name = softirq
+ # dim softirq algorithm = percentage-of-incremental-row
+ # dim softirq multiplier = 1
+ # dim softirq divisor = 1
+ # dim irq name = irq
+ # dim irq algorithm = percentage-of-incremental-row
+ # dim irq multiplier = 1
+ # dim irq divisor = 1
+ # dim user name = user
+ # dim user algorithm = percentage-of-incremental-row
+ # dim user multiplier = 1
+ # dim user divisor = 1
+ # dim system name = system
+ # dim system algorithm = percentage-of-incremental-row
+ # dim system multiplier = 1
+ # dim system divisor = 1
+ # dim nice name = nice
+ # dim nice algorithm = percentage-of-incremental-row
+ # dim nice multiplier = 1
+ # dim nice divisor = 1
+ # dim iowait name = iowait
+ # dim iowait algorithm = percentage-of-incremental-row
+ # dim iowait multiplier = 1
+ # dim iowait divisor = 1
+ # dim idle name = idle
+ # dim idle algorithm = percentage-of-incremental-row
+ # dim idle multiplier = 1
+ # dim idle divisor = 1
+
+[cpu.cpu3]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu3
+ # chart type = stacked
+ # type = cpu
+ # family = utilization
+ # units = percentage
+ # context = cpu.cpu
+ # priority = 1004
+ # name = cpu.cpu3
+ # title = Core utilization
+ # dim guest_nice name = guest_nice
+ # dim guest_nice algorithm = percentage-of-incremental-row
+ # dim guest_nice multiplier = 1
+ # dim guest_nice divisor = 1
+ # dim guest name = guest
+ # dim guest algorithm = percentage-of-incremental-row
+ # dim guest multiplier = 1
+ # dim guest divisor = 1
+ # dim steal name = steal
+ # dim steal algorithm = percentage-of-incremental-row
+ # dim steal multiplier = 1
+ # dim steal divisor = 1
+ # dim softirq name = softirq
+ # dim softirq algorithm = percentage-of-incremental-row
+ # dim softirq multiplier = 1
+ # dim softirq divisor = 1
+ # dim irq name = irq
+ # dim irq algorithm = percentage-of-incremental-row
+ # dim irq multiplier = 1
+ # dim irq divisor = 1
+ # dim user name = user
+ # dim user algorithm = percentage-of-incremental-row
+ # dim user multiplier = 1
+ # dim user divisor = 1
+ # dim system name = system
+ # dim system algorithm = percentage-of-incremental-row
+ # dim system multiplier = 1
+ # dim system divisor = 1
+ # dim nice name = nice
+ # dim nice algorithm = percentage-of-incremental-row
+ # dim nice multiplier = 1
+ # dim nice divisor = 1
+ # dim iowait name = iowait
+ # dim iowait algorithm = percentage-of-incremental-row
+ # dim iowait multiplier = 1
+ # dim iowait divisor = 1
+ # dim idle name = idle
+ # dim idle algorithm = percentage-of-incremental-row
+ # dim idle multiplier = 1
+ # dim idle divisor = 1
+
+[cpu.cpu4]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu4
+ # chart type = stacked
+ # type = cpu
+ # family = utilization
+ # units = percentage
+ # context = cpu.cpu
+ # priority = 1005
+ # name = cpu.cpu4
+ # title = Core utilization
+ # dim guest_nice name = guest_nice
+ # dim guest_nice algorithm = percentage-of-incremental-row
+ # dim guest_nice multiplier = 1
+ # dim guest_nice divisor = 1
+ # dim guest name = guest
+ # dim guest algorithm = percentage-of-incremental-row
+ # dim guest multiplier = 1
+ # dim guest divisor = 1
+ # dim steal name = steal
+ # dim steal algorithm = percentage-of-incremental-row
+ # dim steal multiplier = 1
+ # dim steal divisor = 1
+ # dim softirq name = softirq
+ # dim softirq algorithm = percentage-of-incremental-row
+ # dim softirq multiplier = 1
+ # dim softirq divisor = 1
+ # dim irq name = irq
+ # dim irq algorithm = percentage-of-incremental-row
+ # dim irq multiplier = 1
+ # dim irq divisor = 1
+ # dim user name = user
+ # dim user algorithm = percentage-of-incremental-row
+ # dim user multiplier = 1
+ # dim user divisor = 1
+ # dim system name = system
+ # dim system algorithm = percentage-of-incremental-row
+ # dim system multiplier = 1
+ # dim system divisor = 1
+ # dim nice name = nice
+ # dim nice algorithm = percentage-of-incremental-row
+ # dim nice multiplier = 1
+ # dim nice divisor = 1
+ # dim iowait name = iowait
+ # dim iowait algorithm = percentage-of-incremental-row
+ # dim iowait multiplier = 1
+ # dim iowait divisor = 1
+ # dim idle name = idle
+ # dim idle algorithm = percentage-of-incremental-row
+ # dim idle multiplier = 1
+ # dim idle divisor = 1
+
+[cpu.cpu5]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu5
+ # chart type = stacked
+ # type = cpu
+ # family = utilization
+ # units = percentage
+ # context = cpu.cpu
+ # priority = 1006
+ # name = cpu.cpu5
+ # title = Core utilization
+ # dim guest_nice name = guest_nice
+ # dim guest_nice algorithm = percentage-of-incremental-row
+ # dim guest_nice multiplier = 1
+ # dim guest_nice divisor = 1
+ # dim guest name = guest
+ # dim guest algorithm = percentage-of-incremental-row
+ # dim guest multiplier = 1
+ # dim guest divisor = 1
+ # dim steal name = steal
+ # dim steal algorithm = percentage-of-incremental-row
+ # dim steal multiplier = 1
+ # dim steal divisor = 1
+ # dim softirq name = softirq
+ # dim softirq algorithm = percentage-of-incremental-row
+ # dim softirq multiplier = 1
+ # dim softirq divisor = 1
+ # dim irq name = irq
+ # dim irq algorithm = percentage-of-incremental-row
+ # dim irq multiplier = 1
+ # dim irq divisor = 1
+ # dim user name = user
+ # dim user algorithm = percentage-of-incremental-row
+ # dim user multiplier = 1
+ # dim user divisor = 1
+ # dim system name = system
+ # dim system algorithm = percentage-of-incremental-row
+ # dim system multiplier = 1
+ # dim system divisor = 1
+ # dim nice name = nice
+ # dim nice algorithm = percentage-of-incremental-row
+ # dim nice multiplier = 1
+ # dim nice divisor = 1
+ # dim iowait name = iowait
+ # dim iowait algorithm = percentage-of-incremental-row
+ # dim iowait multiplier = 1
+ # dim iowait divisor = 1
+ # dim idle name = idle
+ # dim idle algorithm = percentage-of-incremental-row
+ # dim idle multiplier = 1
+ # dim idle divisor = 1
+
+[cpu.cpu6]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu6
+ # chart type = stacked
+ # type = cpu
+ # family = utilization
+ # units = percentage
+ # context = cpu.cpu
+ # priority = 1007
+ # name = cpu.cpu6
+ # title = Core utilization
+ # dim guest_nice name = guest_nice
+ # dim guest_nice algorithm = percentage-of-incremental-row
+ # dim guest_nice multiplier = 1
+ # dim guest_nice divisor = 1
+ # dim guest name = guest
+ # dim guest algorithm = percentage-of-incremental-row
+ # dim guest multiplier = 1
+ # dim guest divisor = 1
+ # dim steal name = steal
+ # dim steal algorithm = percentage-of-incremental-row
+ # dim steal multiplier = 1
+ # dim steal divisor = 1
+ # dim softirq name = softirq
+ # dim softirq algorithm = percentage-of-incremental-row
+ # dim softirq multiplier = 1
+ # dim softirq divisor = 1
+ # dim irq name = irq
+ # dim irq algorithm = percentage-of-incremental-row
+ # dim irq multiplier = 1
+ # dim irq divisor = 1
+ # dim user name = user
+ # dim user algorithm = percentage-of-incremental-row
+ # dim user multiplier = 1
+ # dim user divisor = 1
+ # dim system name = system
+ # dim system algorithm = percentage-of-incremental-row
+ # dim system multiplier = 1
+ # dim system divisor = 1
+ # dim nice name = nice
+ # dim nice algorithm = percentage-of-incremental-row
+ # dim nice multiplier = 1
+ # dim nice divisor = 1
+ # dim iowait name = iowait
+ # dim iowait algorithm = percentage-of-incremental-row
+ # dim iowait multiplier = 1
+ # dim iowait divisor = 1
+ # dim idle name = idle
+ # dim idle algorithm = percentage-of-incremental-row
+ # dim idle multiplier = 1
+ # dim idle divisor = 1
+
+[cpu.cpu7]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu7
+ # chart type = stacked
+ # type = cpu
+ # family = utilization
+ # units = percentage
+ # context = cpu.cpu
+ # priority = 1008
+ # name = cpu.cpu7
+ # title = Core utilization
+ # dim guest_nice name = guest_nice
+ # dim guest_nice algorithm = percentage-of-incremental-row
+ # dim guest_nice multiplier = 1
+ # dim guest_nice divisor = 1
+ # dim guest name = guest
+ # dim guest algorithm = percentage-of-incremental-row
+ # dim guest multiplier = 1
+ # dim guest divisor = 1
+ # dim steal name = steal
+ # dim steal algorithm = percentage-of-incremental-row
+ # dim steal multiplier = 1
+ # dim steal divisor = 1
+ # dim softirq name = softirq
+ # dim softirq algorithm = percentage-of-incremental-row
+ # dim softirq multiplier = 1
+ # dim softirq divisor = 1
+ # dim irq name = irq
+ # dim irq algorithm = percentage-of-incremental-row
+ # dim irq multiplier = 1
+ # dim irq divisor = 1
+ # dim user name = user
+ # dim user algorithm = percentage-of-incremental-row
+ # dim user multiplier = 1
+ # dim user divisor = 1
+ # dim system name = system
+ # dim system algorithm = percentage-of-incremental-row
+ # dim system multiplier = 1
+ # dim system divisor = 1
+ # dim nice name = nice
+ # dim nice algorithm = percentage-of-incremental-row
+ # dim nice multiplier = 1
+ # dim nice divisor = 1
+ # dim iowait name = iowait
+ # dim iowait algorithm = percentage-of-incremental-row
+ # dim iowait multiplier = 1
+ # dim iowait divisor = 1
+ # dim idle name = idle
+ # dim idle algorithm = percentage-of-incremental-row
+ # dim idle multiplier = 1
+ # dim idle divisor = 1
+
+[system.intr]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.intr
+ # chart type = line
+ # type = system
+ # family = interrupts
+ # units = interrupts/s
+ # context = system.intr
+ # priority = 900
+ # name = system.intr
+ # title = CPU Interrupts
+ # dim interrupts name = interrupts
+ # dim interrupts algorithm = incremental
+ # dim interrupts multiplier = 1
+ # dim interrupts divisor = 1
+
+[system.ctxt]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.ctxt
+ # chart type = line
+ # type = system
+ # family = processes
+ # units = context switches/s
+ # context = system.ctxt
+ # priority = 800
+ # name = system.ctxt
+ # title = CPU Context Switches
+ # dim switches name = switches
+ # dim switches algorithm = incremental
+ # dim switches multiplier = 1
+ # dim switches divisor = 1
+
+[system.forks]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.forks
+ # chart type = line
+ # type = system
+ # family = processes
+ # units = processes/s
+ # context = system.forks
+ # priority = 700
+ # name = system.forks
+ # title = Started Processes
+ # dim started name = started
+ # dim started algorithm = incremental
+ # dim started multiplier = 1
+ # dim started divisor = 1
+
+[system.processes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.processes
+ # chart type = line
+ # type = system
+ # family = processes
+ # units = processes
+ # context = system.processes
+ # priority = 600
+ # name = system.processes
+ # title = System Processes
+ # dim running name = running
+ # dim running algorithm = absolute
+ # dim running multiplier = 1
+ # dim running divisor = 1
+ # dim blocked name = blocked
+ # dim blocked algorithm = absolute
+ # dim blocked multiplier = -1
+ # dim blocked divisor = 1
+
+[cpu.core_throttling]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.core_throttling
+ # chart type = line
+ # type = cpu
+ # family = throttling
+ # units = events/s
+ # context = cpu.core_throttling
+ # priority = 5001
+ # name = cpu.core_throttling
+ # title = Core Thermal Throttling Events
+ # dim cpu0 name = cpu0
+ # dim cpu0 algorithm = incremental
+ # dim cpu0 multiplier = 1
+ # dim cpu0 divisor = 1
+ # dim cpu1 name = cpu1
+ # dim cpu1 algorithm = incremental
+ # dim cpu1 multiplier = 1
+ # dim cpu1 divisor = 1
+ # dim cpu2 name = cpu2
+ # dim cpu2 algorithm = incremental
+ # dim cpu2 multiplier = 1
+ # dim cpu2 divisor = 1
+ # dim cpu3 name = cpu3
+ # dim cpu3 algorithm = incremental
+ # dim cpu3 multiplier = 1
+ # dim cpu3 divisor = 1
+ # dim cpu4 name = cpu4
+ # dim cpu4 algorithm = incremental
+ # dim cpu4 multiplier = 1
+ # dim cpu4 divisor = 1
+ # dim cpu5 name = cpu5
+ # dim cpu5 algorithm = incremental
+ # dim cpu5 multiplier = 1
+ # dim cpu5 divisor = 1
+ # dim cpu6 name = cpu6
+ # dim cpu6 algorithm = incremental
+ # dim cpu6 multiplier = 1
+ # dim cpu6 divisor = 1
+ # dim cpu7 name = cpu7
+ # dim cpu7 algorithm = incremental
+ # dim cpu7 multiplier = 1
+ # dim cpu7 divisor = 1
+
+[cpu.cpufreq]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpufreq
+ # chart type = line
+ # type = cpu
+ # family = cpufreq
+ # units = MHz
+ # context = cpufreq.cpufreq
+ # priority = 5003
+ # name = cpu.cpufreq
+ # title = Current CPU Frequency
+ # dim cpu0 name = cpu0
+ # dim cpu0 algorithm = absolute
+ # dim cpu0 multiplier = 1
+ # dim cpu0 divisor = 1000
+ # dim cpu1 name = cpu1
+ # dim cpu1 algorithm = absolute
+ # dim cpu1 multiplier = 1
+ # dim cpu1 divisor = 1000
+ # dim cpu2 name = cpu2
+ # dim cpu2 algorithm = absolute
+ # dim cpu2 multiplier = 1
+ # dim cpu2 divisor = 1000
+ # dim cpu3 name = cpu3
+ # dim cpu3 algorithm = absolute
+ # dim cpu3 multiplier = 1
+ # dim cpu3 divisor = 1000
+ # dim cpu4 name = cpu4
+ # dim cpu4 algorithm = absolute
+ # dim cpu4 multiplier = 1
+ # dim cpu4 divisor = 1000
+ # dim cpu5 name = cpu5
+ # dim cpu5 algorithm = absolute
+ # dim cpu5 multiplier = 1
+ # dim cpu5 divisor = 1000
+ # dim cpu6 name = cpu6
+ # dim cpu6 algorithm = absolute
+ # dim cpu6 multiplier = 1
+ # dim cpu6 divisor = 1000
+ # dim cpu7 name = cpu7
+ # dim cpu7 algorithm = absolute
+ # dim cpu7 multiplier = 1
+ # dim cpu7 divisor = 1000
+
+[netdata.plugin_cgroups_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.plugin_cgroups_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = cgroups
+ # units = milliseconds/s
+ # context = netdata.plugin_cgroups_cpu
+ # priority = 132000
+ # name = netdata.plugin_cgroups_cpu
+ # title = Netdata CGroups Plugin CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[netdata.plugin_diskspace]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.plugin_diskspace
+ # chart type = stacked
+ # type = netdata
+ # family = diskspace
+ # units = milliseconds/s
+ # context = netdata.plugin_diskspace
+ # priority = 132020
+ # name = netdata.plugin_diskspace
+ # title = Netdata Disk Space Plugin CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[netdata.plugin_diskspace_dt]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.plugin_diskspace_dt
+ # chart type = area
+ # type = netdata
+ # family = diskspace
+ # units = milliseconds/run
+ # context = netdata.plugin_diskspace_dt
+ # priority = 132021
+ # name = netdata.plugin_diskspace_dt
+ # title = Netdata Disk Space Plugin Duration
+ # dim duration name = duration
+ # dim duration algorithm = absolute
+ # dim duration multiplier = 1
+ # dim duration divisor = 1000
+
+[cpu.cpu0_cpuidle]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu0_cpuidle
+ # chart type = stacked
+ # type = cpu
+ # family = cpuidle
+ # units = percentage
+ # context = cpuidle.cpuidle
+ # priority = 6000
+ # name = cpu.cpu0_cpuidle
+ # title = C-state residency time
+ # dim cpu0_active_time name = C0 (active)
+ # dim cpu0_active_time algorithm = percentage-of-incremental-row
+ # dim cpu0_active_time multiplier = 1
+ # dim cpu0_active_time divisor = 1
+ # dim cpu0_cpuidle_state0_time name = POLL
+ # dim cpu0_cpuidle_state0_time algorithm = percentage-of-incremental-row
+ # dim cpu0_cpuidle_state0_time multiplier = 1
+ # dim cpu0_cpuidle_state0_time divisor = 1
+ # dim cpu0_cpuidle_state1_time name = C1
+ # dim cpu0_cpuidle_state1_time algorithm = percentage-of-incremental-row
+ # dim cpu0_cpuidle_state1_time multiplier = 1
+ # dim cpu0_cpuidle_state1_time divisor = 1
+ # dim cpu0_cpuidle_state2_time name = C1E
+ # dim cpu0_cpuidle_state2_time algorithm = percentage-of-incremental-row
+ # dim cpu0_cpuidle_state2_time multiplier = 1
+ # dim cpu0_cpuidle_state2_time divisor = 1
+ # dim cpu0_cpuidle_state3_time name = C3
+ # dim cpu0_cpuidle_state3_time algorithm = percentage-of-incremental-row
+ # dim cpu0_cpuidle_state3_time multiplier = 1
+ # dim cpu0_cpuidle_state3_time divisor = 1
+ # dim cpu0_cpuidle_state4_time name = C6
+ # dim cpu0_cpuidle_state4_time algorithm = percentage-of-incremental-row
+ # dim cpu0_cpuidle_state4_time multiplier = 1
+ # dim cpu0_cpuidle_state4_time divisor = 1
+ # dim cpu0_cpuidle_state5_time name = C7s
+ # dim cpu0_cpuidle_state5_time algorithm = percentage-of-incremental-row
+ # dim cpu0_cpuidle_state5_time multiplier = 1
+ # dim cpu0_cpuidle_state5_time divisor = 1
+
+[cpu.cpu1_cpuidle]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu1_cpuidle
+ # chart type = stacked
+ # type = cpu
+ # family = cpuidle
+ # units = percentage
+ # context = cpuidle.cpuidle
+ # priority = 6001
+ # name = cpu.cpu1_cpuidle
+ # title = C-state residency time
+ # dim cpu1_active_time name = C0 (active)
+ # dim cpu1_active_time algorithm = percentage-of-incremental-row
+ # dim cpu1_active_time multiplier = 1
+ # dim cpu1_active_time divisor = 1
+ # dim cpu1_cpuidle_state0_time name = POLL
+ # dim cpu1_cpuidle_state0_time algorithm = percentage-of-incremental-row
+ # dim cpu1_cpuidle_state0_time multiplier = 1
+ # dim cpu1_cpuidle_state0_time divisor = 1
+ # dim cpu1_cpuidle_state1_time name = C1
+ # dim cpu1_cpuidle_state1_time algorithm = percentage-of-incremental-row
+ # dim cpu1_cpuidle_state1_time multiplier = 1
+ # dim cpu1_cpuidle_state1_time divisor = 1
+ # dim cpu1_cpuidle_state2_time name = C1E
+ # dim cpu1_cpuidle_state2_time algorithm = percentage-of-incremental-row
+ # dim cpu1_cpuidle_state2_time multiplier = 1
+ # dim cpu1_cpuidle_state2_time divisor = 1
+ # dim cpu1_cpuidle_state3_time name = C3
+ # dim cpu1_cpuidle_state3_time algorithm = percentage-of-incremental-row
+ # dim cpu1_cpuidle_state3_time multiplier = 1
+ # dim cpu1_cpuidle_state3_time divisor = 1
+ # dim cpu1_cpuidle_state4_time name = C6
+ # dim cpu1_cpuidle_state4_time algorithm = percentage-of-incremental-row
+ # dim cpu1_cpuidle_state4_time multiplier = 1
+ # dim cpu1_cpuidle_state4_time divisor = 1
+ # dim cpu1_cpuidle_state5_time name = C7s
+ # dim cpu1_cpuidle_state5_time algorithm = percentage-of-incremental-row
+ # dim cpu1_cpuidle_state5_time multiplier = 1
+ # dim cpu1_cpuidle_state5_time divisor = 1
+
+[cpu.cpu2_cpuidle]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu2_cpuidle
+ # chart type = stacked
+ # type = cpu
+ # family = cpuidle
+ # units = percentage
+ # context = cpuidle.cpuidle
+ # priority = 6002
+ # name = cpu.cpu2_cpuidle
+ # title = C-state residency time
+ # dim cpu2_active_time name = C0 (active)
+ # dim cpu2_active_time algorithm = percentage-of-incremental-row
+ # dim cpu2_active_time multiplier = 1
+ # dim cpu2_active_time divisor = 1
+ # dim cpu2_cpuidle_state0_time name = POLL
+ # dim cpu2_cpuidle_state0_time algorithm = percentage-of-incremental-row
+ # dim cpu2_cpuidle_state0_time multiplier = 1
+ # dim cpu2_cpuidle_state0_time divisor = 1
+ # dim cpu2_cpuidle_state1_time name = C1
+ # dim cpu2_cpuidle_state1_time algorithm = percentage-of-incremental-row
+ # dim cpu2_cpuidle_state1_time multiplier = 1
+ # dim cpu2_cpuidle_state1_time divisor = 1
+ # dim cpu2_cpuidle_state2_time name = C1E
+ # dim cpu2_cpuidle_state2_time algorithm = percentage-of-incremental-row
+ # dim cpu2_cpuidle_state2_time multiplier = 1
+ # dim cpu2_cpuidle_state2_time divisor = 1
+ # dim cpu2_cpuidle_state3_time name = C3
+ # dim cpu2_cpuidle_state3_time algorithm = percentage-of-incremental-row
+ # dim cpu2_cpuidle_state3_time multiplier = 1
+ # dim cpu2_cpuidle_state3_time divisor = 1
+ # dim cpu2_cpuidle_state4_time name = C6
+ # dim cpu2_cpuidle_state4_time algorithm = percentage-of-incremental-row
+ # dim cpu2_cpuidle_state4_time multiplier = 1
+ # dim cpu2_cpuidle_state4_time divisor = 1
+ # dim cpu2_cpuidle_state5_time name = C7s
+ # dim cpu2_cpuidle_state5_time algorithm = percentage-of-incremental-row
+ # dim cpu2_cpuidle_state5_time multiplier = 1
+ # dim cpu2_cpuidle_state5_time divisor = 1
+
+[cpu.cpu3_cpuidle]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu3_cpuidle
+ # chart type = stacked
+ # type = cpu
+ # family = cpuidle
+ # units = percentage
+ # context = cpuidle.cpuidle
+ # priority = 6003
+ # name = cpu.cpu3_cpuidle
+ # title = C-state residency time
+ # dim cpu3_active_time name = C0 (active)
+ # dim cpu3_active_time algorithm = percentage-of-incremental-row
+ # dim cpu3_active_time multiplier = 1
+ # dim cpu3_active_time divisor = 1
+ # dim cpu3_cpuidle_state0_time name = POLL
+ # dim cpu3_cpuidle_state0_time algorithm = percentage-of-incremental-row
+ # dim cpu3_cpuidle_state0_time multiplier = 1
+ # dim cpu3_cpuidle_state0_time divisor = 1
+ # dim cpu3_cpuidle_state1_time name = C1
+ # dim cpu3_cpuidle_state1_time algorithm = percentage-of-incremental-row
+ # dim cpu3_cpuidle_state1_time multiplier = 1
+ # dim cpu3_cpuidle_state1_time divisor = 1
+ # dim cpu3_cpuidle_state2_time name = C1E
+ # dim cpu3_cpuidle_state2_time algorithm = percentage-of-incremental-row
+ # dim cpu3_cpuidle_state2_time multiplier = 1
+ # dim cpu3_cpuidle_state2_time divisor = 1
+ # dim cpu3_cpuidle_state3_time name = C3
+ # dim cpu3_cpuidle_state3_time algorithm = percentage-of-incremental-row
+ # dim cpu3_cpuidle_state3_time multiplier = 1
+ # dim cpu3_cpuidle_state3_time divisor = 1
+ # dim cpu3_cpuidle_state4_time name = C6
+ # dim cpu3_cpuidle_state4_time algorithm = percentage-of-incremental-row
+ # dim cpu3_cpuidle_state4_time multiplier = 1
+ # dim cpu3_cpuidle_state4_time divisor = 1
+ # dim cpu3_cpuidle_state5_time name = C7s
+ # dim cpu3_cpuidle_state5_time algorithm = percentage-of-incremental-row
+ # dim cpu3_cpuidle_state5_time multiplier = 1
+ # dim cpu3_cpuidle_state5_time divisor = 1
+
+[cpu.cpu4_cpuidle]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu4_cpuidle
+ # chart type = stacked
+ # type = cpu
+ # family = cpuidle
+ # units = percentage
+ # context = cpuidle.cpuidle
+ # priority = 6004
+ # name = cpu.cpu4_cpuidle
+ # title = C-state residency time
+ # dim cpu4_active_time name = C0 (active)
+ # dim cpu4_active_time algorithm = percentage-of-incremental-row
+ # dim cpu4_active_time multiplier = 1
+ # dim cpu4_active_time divisor = 1
+ # dim cpu4_cpuidle_state0_time name = POLL
+ # dim cpu4_cpuidle_state0_time algorithm = percentage-of-incremental-row
+ # dim cpu4_cpuidle_state0_time multiplier = 1
+ # dim cpu4_cpuidle_state0_time divisor = 1
+ # dim cpu4_cpuidle_state1_time name = C1
+ # dim cpu4_cpuidle_state1_time algorithm = percentage-of-incremental-row
+ # dim cpu4_cpuidle_state1_time multiplier = 1
+ # dim cpu4_cpuidle_state1_time divisor = 1
+ # dim cpu4_cpuidle_state2_time name = C1E
+ # dim cpu4_cpuidle_state2_time algorithm = percentage-of-incremental-row
+ # dim cpu4_cpuidle_state2_time multiplier = 1
+ # dim cpu4_cpuidle_state2_time divisor = 1
+ # dim cpu4_cpuidle_state3_time name = C3
+ # dim cpu4_cpuidle_state3_time algorithm = percentage-of-incremental-row
+ # dim cpu4_cpuidle_state3_time multiplier = 1
+ # dim cpu4_cpuidle_state3_time divisor = 1
+ # dim cpu4_cpuidle_state4_time name = C6
+ # dim cpu4_cpuidle_state4_time algorithm = percentage-of-incremental-row
+ # dim cpu4_cpuidle_state4_time multiplier = 1
+ # dim cpu4_cpuidle_state4_time divisor = 1
+ # dim cpu4_cpuidle_state5_time name = C7s
+ # dim cpu4_cpuidle_state5_time algorithm = percentage-of-incremental-row
+ # dim cpu4_cpuidle_state5_time multiplier = 1
+ # dim cpu4_cpuidle_state5_time divisor = 1
+
+[cpu.cpu5_cpuidle]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu5_cpuidle
+ # chart type = stacked
+ # type = cpu
+ # family = cpuidle
+ # units = percentage
+ # context = cpuidle.cpuidle
+ # priority = 6005
+ # name = cpu.cpu5_cpuidle
+ # title = C-state residency time
+ # dim cpu5_active_time name = C0 (active)
+ # dim cpu5_active_time algorithm = percentage-of-incremental-row
+ # dim cpu5_active_time multiplier = 1
+ # dim cpu5_active_time divisor = 1
+ # dim cpu5_cpuidle_state0_time name = POLL
+ # dim cpu5_cpuidle_state0_time algorithm = percentage-of-incremental-row
+ # dim cpu5_cpuidle_state0_time multiplier = 1
+ # dim cpu5_cpuidle_state0_time divisor = 1
+ # dim cpu5_cpuidle_state1_time name = C1
+ # dim cpu5_cpuidle_state1_time algorithm = percentage-of-incremental-row
+ # dim cpu5_cpuidle_state1_time multiplier = 1
+ # dim cpu5_cpuidle_state1_time divisor = 1
+ # dim cpu5_cpuidle_state2_time name = C1E
+ # dim cpu5_cpuidle_state2_time algorithm = percentage-of-incremental-row
+ # dim cpu5_cpuidle_state2_time multiplier = 1
+ # dim cpu5_cpuidle_state2_time divisor = 1
+ # dim cpu5_cpuidle_state3_time name = C3
+ # dim cpu5_cpuidle_state3_time algorithm = percentage-of-incremental-row
+ # dim cpu5_cpuidle_state3_time multiplier = 1
+ # dim cpu5_cpuidle_state3_time divisor = 1
+ # dim cpu5_cpuidle_state4_time name = C6
+ # dim cpu5_cpuidle_state4_time algorithm = percentage-of-incremental-row
+ # dim cpu5_cpuidle_state4_time multiplier = 1
+ # dim cpu5_cpuidle_state4_time divisor = 1
+ # dim cpu5_cpuidle_state5_time name = C7s
+ # dim cpu5_cpuidle_state5_time algorithm = percentage-of-incremental-row
+ # dim cpu5_cpuidle_state5_time multiplier = 1
+ # dim cpu5_cpuidle_state5_time divisor = 1
+
+[cpu.cpu6_cpuidle]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu6_cpuidle
+ # chart type = stacked
+ # type = cpu
+ # family = cpuidle
+ # units = percentage
+ # context = cpuidle.cpuidle
+ # priority = 6006
+ # name = cpu.cpu6_cpuidle
+ # title = C-state residency time
+ # dim cpu6_active_time name = C0 (active)
+ # dim cpu6_active_time algorithm = percentage-of-incremental-row
+ # dim cpu6_active_time multiplier = 1
+ # dim cpu6_active_time divisor = 1
+ # dim cpu6_cpuidle_state0_time name = POLL
+ # dim cpu6_cpuidle_state0_time algorithm = percentage-of-incremental-row
+ # dim cpu6_cpuidle_state0_time multiplier = 1
+ # dim cpu6_cpuidle_state0_time divisor = 1
+ # dim cpu6_cpuidle_state1_time name = C1
+ # dim cpu6_cpuidle_state1_time algorithm = percentage-of-incremental-row
+ # dim cpu6_cpuidle_state1_time multiplier = 1
+ # dim cpu6_cpuidle_state1_time divisor = 1
+ # dim cpu6_cpuidle_state2_time name = C1E
+ # dim cpu6_cpuidle_state2_time algorithm = percentage-of-incremental-row
+ # dim cpu6_cpuidle_state2_time multiplier = 1
+ # dim cpu6_cpuidle_state2_time divisor = 1
+ # dim cpu6_cpuidle_state3_time name = C3
+ # dim cpu6_cpuidle_state3_time algorithm = percentage-of-incremental-row
+ # dim cpu6_cpuidle_state3_time multiplier = 1
+ # dim cpu6_cpuidle_state3_time divisor = 1
+ # dim cpu6_cpuidle_state4_time name = C6
+ # dim cpu6_cpuidle_state4_time algorithm = percentage-of-incremental-row
+ # dim cpu6_cpuidle_state4_time multiplier = 1
+ # dim cpu6_cpuidle_state4_time divisor = 1
+ # dim cpu6_cpuidle_state5_time name = C7s
+ # dim cpu6_cpuidle_state5_time algorithm = percentage-of-incremental-row
+ # dim cpu6_cpuidle_state5_time multiplier = 1
+ # dim cpu6_cpuidle_state5_time divisor = 1
+
+[cpu.cpu7_cpuidle]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu7_cpuidle
+ # chart type = stacked
+ # type = cpu
+ # family = cpuidle
+ # units = percentage
+ # context = cpuidle.cpuidle
+ # priority = 6007
+ # name = cpu.cpu7_cpuidle
+ # title = C-state residency time
+ # dim cpu7_active_time name = C0 (active)
+ # dim cpu7_active_time algorithm = percentage-of-incremental-row
+ # dim cpu7_active_time multiplier = 1
+ # dim cpu7_active_time divisor = 1
+ # dim cpu7_cpuidle_state0_time name = POLL
+ # dim cpu7_cpuidle_state0_time algorithm = percentage-of-incremental-row
+ # dim cpu7_cpuidle_state0_time multiplier = 1
+ # dim cpu7_cpuidle_state0_time divisor = 1
+ # dim cpu7_cpuidle_state1_time name = C1
+ # dim cpu7_cpuidle_state1_time algorithm = percentage-of-incremental-row
+ # dim cpu7_cpuidle_state1_time multiplier = 1
+ # dim cpu7_cpuidle_state1_time divisor = 1
+ # dim cpu7_cpuidle_state2_time name = C1E
+ # dim cpu7_cpuidle_state2_time algorithm = percentage-of-incremental-row
+ # dim cpu7_cpuidle_state2_time multiplier = 1
+ # dim cpu7_cpuidle_state2_time divisor = 1
+ # dim cpu7_cpuidle_state3_time name = C3
+ # dim cpu7_cpuidle_state3_time algorithm = percentage-of-incremental-row
+ # dim cpu7_cpuidle_state3_time multiplier = 1
+ # dim cpu7_cpuidle_state3_time divisor = 1
+ # dim cpu7_cpuidle_state4_time name = C6
+ # dim cpu7_cpuidle_state4_time algorithm = percentage-of-incremental-row
+ # dim cpu7_cpuidle_state4_time multiplier = 1
+ # dim cpu7_cpuidle_state4_time divisor = 1
+ # dim cpu7_cpuidle_state5_time name = C7s
+ # dim cpu7_cpuidle_state5_time algorithm = percentage-of-incremental-row
+ # dim cpu7_cpuidle_state5_time multiplier = 1
+ # dim cpu7_cpuidle_state5_time divisor = 1
+
+[system.uptime]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.uptime
+ # chart type = line
+ # type = system
+ # family = uptime
+ # units = seconds
+ # context = system.uptime
+ # priority = 1000
+ # name = system.uptime
+ # title = System Uptime
+ # dim uptime name = uptime
+ # dim uptime algorithm = absolute
+ # dim uptime multiplier = 1
+ # dim uptime divisor = 1000
+
+[system.load]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.load
+ # chart type = line
+ # type = system
+ # family = load
+ # units = load
+ # context = system.load
+ # priority = 100
+ # name = system.load
+ # title = System Load Average
+ # dim load1 name = load1
+ # dim load1 algorithm = absolute
+ # dim load1 multiplier = 1
+ # dim load1 divisor = 1000
+ # dim load5 name = load5
+ # dim load5 algorithm = absolute
+ # dim load5 multiplier = 1
+ # dim load5 divisor = 1000
+ # dim load15 name = load15
+ # dim load15 algorithm = absolute
+ # dim load15 multiplier = 1
+ # dim load15 divisor = 1000
+
+[system.active_processes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.active_processes
+ # chart type = line
+ # type = system
+ # family = processes
+ # units = processes
+ # context = system.active_processes
+ # priority = 750
+ # name = system.active_processes
+ # title = System Active Processes
+ # dim active name = active
+ # dim active algorithm = absolute
+ # dim active multiplier = 1
+ # dim active divisor = 1
+
+[system.entropy]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.entropy
+ # chart type = line
+ # type = system
+ # family = entropy
+ # units = entropy
+ # context = system.entropy
+ # priority = 1000
+ # name = system.entropy
+ # title = Available Entropy
+ # dim entropy name = entropy
+ # dim entropy algorithm = absolute
+ # dim entropy multiplier = 1
+ # dim entropy divisor = 1
+
+[system.interrupts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.interrupts
+ # chart type = stacked
+ # type = system
+ # family = interrupts
+ # units = interrupts/s
+ # context = system.interrupts
+ # priority = 1000
+ # name = system.interrupts
+ # title = System interrupts
+ # dim 0 name = timer_0
+ # dim 0 algorithm = incremental
+ # dim 0 multiplier = 1
+ # dim 0 divisor = 1
+ # dim 8 name = rtc0_8
+ # dim 8 algorithm = incremental
+ # dim 8 multiplier = 1
+ # dim 8 divisor = 1
+ # dim 16 name = ehci_hcd:usb1_16
+ # dim 16 algorithm = incremental
+ # dim 16 multiplier = 1
+ # dim 16 divisor = 1
+ # dim 18 name = snd_hda_intel:card1_18
+ # dim 18 algorithm = incremental
+ # dim 18 multiplier = 1
+ # dim 18 divisor = 1
+ # dim 23 name = ehci_hcd:usb3_23
+ # dim 23 algorithm = incremental
+ # dim 23 multiplier = 1
+ # dim 23 divisor = 1
+ # dim 25 name = ahci[0000:00:1f.2]_25
+ # dim 25 algorithm = incremental
+ # dim 25 multiplier = 1
+ # dim 25 divisor = 1
+ # dim 26 name = xhci_hcd_26
+ # dim 26 algorithm = incremental
+ # dim 26 multiplier = 1
+ # dim 26 divisor = 1
+ # dim 27 name = mei_me_27
+ # dim 27 algorithm = incremental
+ # dim 27 multiplier = 1
+ # dim 27 divisor = 1
+ # dim 28 name = snd_hda_intel:card0_28
+ # dim 28 algorithm = incremental
+ # dim 28 multiplier = 1
+ # dim 28 divisor = 1
+ # dim 29 name = enp4s0_29
+ # dim 29 algorithm = incremental
+ # dim 29 multiplier = 1
+ # dim 29 divisor = 1
+ # dim 30 name = enp4s0-TxRx-0_30
+ # dim 30 algorithm = incremental
+ # dim 30 multiplier = 1
+ # dim 30 divisor = 1
+ # dim 31 name = enp4s0-tx-1_31
+ # dim 31 algorithm = incremental
+ # dim 31 multiplier = 1
+ # dim 31 divisor = 1
+ # dim 32 name = enp4s0-tx-2_32
+ # dim 32 algorithm = incremental
+ # dim 32 multiplier = 1
+ # dim 32 divisor = 1
+ # dim 33 name = enp4s0-tx-3_33
+ # dim 33 algorithm = incremental
+ # dim 33 multiplier = 1
+ # dim 33 divisor = 1
+ # dim 34 name = nvidia_34
+ # dim 34 algorithm = incremental
+ # dim 34 multiplier = 1
+ # dim 34 divisor = 1
+ # dim NMI name = NMI
+ # dim NMI algorithm = incremental
+ # dim NMI multiplier = 1
+ # dim NMI divisor = 1
+ # dim LOC name = LOC
+ # dim LOC algorithm = incremental
+ # dim LOC multiplier = 1
+ # dim LOC divisor = 1
+ # dim PMI name = PMI
+ # dim PMI algorithm = incremental
+ # dim PMI multiplier = 1
+ # dim PMI divisor = 1
+ # dim IWI name = IWI
+ # dim IWI algorithm = incremental
+ # dim IWI multiplier = 1
+ # dim IWI divisor = 1
+ # dim RES name = RES
+ # dim RES algorithm = incremental
+ # dim RES multiplier = 1
+ # dim RES divisor = 1
+ # dim CAL name = CAL
+ # dim CAL algorithm = incremental
+ # dim CAL multiplier = 1
+ # dim CAL divisor = 1
+ # dim TLB name = TLB
+ # dim TLB algorithm = incremental
+ # dim TLB multiplier = 1
+ # dim TLB divisor = 1
+ # dim MCP name = MCP
+ # dim MCP algorithm = incremental
+ # dim MCP multiplier = 1
+ # dim MCP divisor = 1
+
+[cpu.cpu0_interrupts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu0_interrupts
+ # chart type = stacked
+ # type = cpu
+ # family = interrupts
+ # units = interrupts/s
+ # context = cpu.interrupts
+ # priority = 1100
+ # name = cpu.cpu0_interrupts
+ # title = CPU0 Interrupts
+ # dim 0 name = timer_0
+ # dim 0 algorithm = incremental
+ # dim 0 multiplier = 1
+ # dim 0 divisor = 1
+ # dim 34 name = nvidia_34
+ # dim 34 algorithm = incremental
+ # dim 34 multiplier = 1
+ # dim 34 divisor = 1
+ # dim NMI name = NMI
+ # dim NMI algorithm = incremental
+ # dim NMI multiplier = 1
+ # dim NMI divisor = 1
+ # dim LOC name = LOC
+ # dim LOC algorithm = incremental
+ # dim LOC multiplier = 1
+ # dim LOC divisor = 1
+ # dim PMI name = PMI
+ # dim PMI algorithm = incremental
+ # dim PMI multiplier = 1
+ # dim PMI divisor = 1
+ # dim IWI name = IWI
+ # dim IWI algorithm = incremental
+ # dim IWI multiplier = 1
+ # dim IWI divisor = 1
+ # dim RES name = RES
+ # dim RES algorithm = incremental
+ # dim RES multiplier = 1
+ # dim RES divisor = 1
+ # dim CAL name = CAL
+ # dim CAL algorithm = incremental
+ # dim CAL multiplier = 1
+ # dim CAL divisor = 1
+ # dim TLB name = TLB
+ # dim TLB algorithm = incremental
+ # dim TLB multiplier = 1
+ # dim TLB divisor = 1
+ # dim MCP name = MCP
+ # dim MCP algorithm = incremental
+ # dim MCP multiplier = 1
+ # dim MCP divisor = 1
+
+[cpu.cpu1_interrupts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu1_interrupts
+ # chart type = stacked
+ # type = cpu
+ # family = interrupts
+ # units = interrupts/s
+ # context = cpu.interrupts
+ # priority = 1101
+ # name = cpu.cpu1_interrupts
+ # title = CPU1 Interrupts
+ # dim 27 name = mei_me_27
+ # dim 27 algorithm = incremental
+ # dim 27 multiplier = 1
+ # dim 27 divisor = 1
+ # dim NMI name = NMI
+ # dim NMI algorithm = incremental
+ # dim NMI multiplier = 1
+ # dim NMI divisor = 1
+ # dim LOC name = LOC
+ # dim LOC algorithm = incremental
+ # dim LOC multiplier = 1
+ # dim LOC divisor = 1
+ # dim PMI name = PMI
+ # dim PMI algorithm = incremental
+ # dim PMI multiplier = 1
+ # dim PMI divisor = 1
+ # dim RES name = RES
+ # dim RES algorithm = incremental
+ # dim RES multiplier = 1
+ # dim RES divisor = 1
+ # dim CAL name = CAL
+ # dim CAL algorithm = incremental
+ # dim CAL multiplier = 1
+ # dim CAL divisor = 1
+ # dim TLB name = TLB
+ # dim TLB algorithm = incremental
+ # dim TLB multiplier = 1
+ # dim TLB divisor = 1
+ # dim MCP name = MCP
+ # dim MCP algorithm = incremental
+ # dim MCP multiplier = 1
+ # dim MCP divisor = 1
+
+[cpu.cpu2_interrupts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu2_interrupts
+ # chart type = stacked
+ # type = cpu
+ # family = interrupts
+ # units = interrupts/s
+ # context = cpu.interrupts
+ # priority = 1102
+ # name = cpu.cpu2_interrupts
+ # title = CPU2 Interrupts
+ # dim 8 name = rtc0_8
+ # dim 8 algorithm = incremental
+ # dim 8 multiplier = 1
+ # dim 8 divisor = 1
+ # dim 28 name = snd_hda_intel:card0_28
+ # dim 28 algorithm = incremental
+ # dim 28 multiplier = 1
+ # dim 28 divisor = 1
+ # dim NMI name = NMI
+ # dim NMI algorithm = incremental
+ # dim NMI multiplier = 1
+ # dim NMI divisor = 1
+ # dim LOC name = LOC
+ # dim LOC algorithm = incremental
+ # dim LOC multiplier = 1
+ # dim LOC divisor = 1
+ # dim PMI name = PMI
+ # dim PMI algorithm = incremental
+ # dim PMI multiplier = 1
+ # dim PMI divisor = 1
+ # dim RES name = RES
+ # dim RES algorithm = incremental
+ # dim RES multiplier = 1
+ # dim RES divisor = 1
+ # dim CAL name = CAL
+ # dim CAL algorithm = incremental
+ # dim CAL multiplier = 1
+ # dim CAL divisor = 1
+ # dim TLB name = TLB
+ # dim TLB algorithm = incremental
+ # dim TLB multiplier = 1
+ # dim TLB divisor = 1
+ # dim MCP name = MCP
+ # dim MCP algorithm = incremental
+ # dim MCP multiplier = 1
+ # dim MCP divisor = 1
+
+[cpu.cpu3_interrupts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu3_interrupts
+ # chart type = stacked
+ # type = cpu
+ # family = interrupts
+ # units = interrupts/s
+ # context = cpu.interrupts
+ # priority = 1103
+ # name = cpu.cpu3_interrupts
+ # title = CPU3 Interrupts
+ # dim 18 name = snd_hda_intel:card1_18
+ # dim 18 algorithm = incremental
+ # dim 18 multiplier = 1
+ # dim 18 divisor = 1
+ # dim 29 name = enp4s0_29
+ # dim 29 algorithm = incremental
+ # dim 29 multiplier = 1
+ # dim 29 divisor = 1
+ # dim NMI name = NMI
+ # dim NMI algorithm = incremental
+ # dim NMI multiplier = 1
+ # dim NMI divisor = 1
+ # dim LOC name = LOC
+ # dim LOC algorithm = incremental
+ # dim LOC multiplier = 1
+ # dim LOC divisor = 1
+ # dim PMI name = PMI
+ # dim PMI algorithm = incremental
+ # dim PMI multiplier = 1
+ # dim PMI divisor = 1
+ # dim IWI name = IWI
+ # dim IWI algorithm = incremental
+ # dim IWI multiplier = 1
+ # dim IWI divisor = 1
+ # dim RES name = RES
+ # dim RES algorithm = incremental
+ # dim RES multiplier = 1
+ # dim RES divisor = 1
+ # dim CAL name = CAL
+ # dim CAL algorithm = incremental
+ # dim CAL multiplier = 1
+ # dim CAL divisor = 1
+ # dim TLB name = TLB
+ # dim TLB algorithm = incremental
+ # dim TLB multiplier = 1
+ # dim TLB divisor = 1
+ # dim MCP name = MCP
+ # dim MCP algorithm = incremental
+ # dim MCP multiplier = 1
+ # dim MCP divisor = 1
+
+[cpu.cpu4_interrupts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu4_interrupts
+ # chart type = stacked
+ # type = cpu
+ # family = interrupts
+ # units = interrupts/s
+ # context = cpu.interrupts
+ # priority = 1104
+ # name = cpu.cpu4_interrupts
+ # title = CPU4 Interrupts
+ # dim 16 name = ehci_hcd:usb1_16
+ # dim 16 algorithm = incremental
+ # dim 16 multiplier = 1
+ # dim 16 divisor = 1
+ # dim 30 name = enp4s0-TxRx-0_30
+ # dim 30 algorithm = incremental
+ # dim 30 multiplier = 1
+ # dim 30 divisor = 1
+ # dim NMI name = NMI
+ # dim NMI algorithm = incremental
+ # dim NMI multiplier = 1
+ # dim NMI divisor = 1
+ # dim LOC name = LOC
+ # dim LOC algorithm = incremental
+ # dim LOC multiplier = 1
+ # dim LOC divisor = 1
+ # dim PMI name = PMI
+ # dim PMI algorithm = incremental
+ # dim PMI multiplier = 1
+ # dim PMI divisor = 1
+ # dim RES name = RES
+ # dim RES algorithm = incremental
+ # dim RES multiplier = 1
+ # dim RES divisor = 1
+ # dim CAL name = CAL
+ # dim CAL algorithm = incremental
+ # dim CAL multiplier = 1
+ # dim CAL divisor = 1
+ # dim TLB name = TLB
+ # dim TLB algorithm = incremental
+ # dim TLB multiplier = 1
+ # dim TLB divisor = 1
+ # dim MCP name = MCP
+ # dim MCP algorithm = incremental
+ # dim MCP multiplier = 1
+ # dim MCP divisor = 1
+
+[cpu.cpu5_interrupts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu5_interrupts
+ # chart type = stacked
+ # type = cpu
+ # family = interrupts
+ # units = interrupts/s
+ # context = cpu.interrupts
+ # priority = 1105
+ # name = cpu.cpu5_interrupts
+ # title = CPU5 Interrupts
+ # dim 25 name = ahci[0000:00:1f.2]_25
+ # dim 25 algorithm = incremental
+ # dim 25 multiplier = 1
+ # dim 25 divisor = 1
+ # dim 31 name = enp4s0-tx-1_31
+ # dim 31 algorithm = incremental
+ # dim 31 multiplier = 1
+ # dim 31 divisor = 1
+ # dim NMI name = NMI
+ # dim NMI algorithm = incremental
+ # dim NMI multiplier = 1
+ # dim NMI divisor = 1
+ # dim LOC name = LOC
+ # dim LOC algorithm = incremental
+ # dim LOC multiplier = 1
+ # dim LOC divisor = 1
+ # dim PMI name = PMI
+ # dim PMI algorithm = incremental
+ # dim PMI multiplier = 1
+ # dim PMI divisor = 1
+ # dim RES name = RES
+ # dim RES algorithm = incremental
+ # dim RES multiplier = 1
+ # dim RES divisor = 1
+ # dim CAL name = CAL
+ # dim CAL algorithm = incremental
+ # dim CAL multiplier = 1
+ # dim CAL divisor = 1
+ # dim TLB name = TLB
+ # dim TLB algorithm = incremental
+ # dim TLB multiplier = 1
+ # dim TLB divisor = 1
+ # dim MCP name = MCP
+ # dim MCP algorithm = incremental
+ # dim MCP multiplier = 1
+ # dim MCP divisor = 1
+
+[cpu.cpu6_interrupts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu6_interrupts
+ # chart type = stacked
+ # type = cpu
+ # family = interrupts
+ # units = interrupts/s
+ # context = cpu.interrupts
+ # priority = 1106
+ # name = cpu.cpu6_interrupts
+ # title = CPU6 Interrupts
+ # dim 26 name = xhci_hcd_26
+ # dim 26 algorithm = incremental
+ # dim 26 multiplier = 1
+ # dim 26 divisor = 1
+ # dim 32 name = enp4s0-tx-2_32
+ # dim 32 algorithm = incremental
+ # dim 32 multiplier = 1
+ # dim 32 divisor = 1
+ # dim NMI name = NMI
+ # dim NMI algorithm = incremental
+ # dim NMI multiplier = 1
+ # dim NMI divisor = 1
+ # dim LOC name = LOC
+ # dim LOC algorithm = incremental
+ # dim LOC multiplier = 1
+ # dim LOC divisor = 1
+ # dim PMI name = PMI
+ # dim PMI algorithm = incremental
+ # dim PMI multiplier = 1
+ # dim PMI divisor = 1
+ # dim IWI name = IWI
+ # dim IWI algorithm = incremental
+ # dim IWI multiplier = 1
+ # dim IWI divisor = 1
+ # dim RES name = RES
+ # dim RES algorithm = incremental
+ # dim RES multiplier = 1
+ # dim RES divisor = 1
+ # dim CAL name = CAL
+ # dim CAL algorithm = incremental
+ # dim CAL multiplier = 1
+ # dim CAL divisor = 1
+ # dim TLB name = TLB
+ # dim TLB algorithm = incremental
+ # dim TLB multiplier = 1
+ # dim TLB divisor = 1
+ # dim MCP name = MCP
+ # dim MCP algorithm = incremental
+ # dim MCP multiplier = 1
+ # dim MCP divisor = 1
+
+[cpu.cpu7_interrupts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu7_interrupts
+ # chart type = stacked
+ # type = cpu
+ # family = interrupts
+ # units = interrupts/s
+ # context = cpu.interrupts
+ # priority = 1107
+ # name = cpu.cpu7_interrupts
+ # title = CPU7 Interrupts
+ # dim 23 name = ehci_hcd:usb3_23
+ # dim 23 algorithm = incremental
+ # dim 23 multiplier = 1
+ # dim 23 divisor = 1
+ # dim 33 name = enp4s0-tx-3_33
+ # dim 33 algorithm = incremental
+ # dim 33 multiplier = 1
+ # dim 33 divisor = 1
+ # dim NMI name = NMI
+ # dim NMI algorithm = incremental
+ # dim NMI multiplier = 1
+ # dim NMI divisor = 1
+ # dim LOC name = LOC
+ # dim LOC algorithm = incremental
+ # dim LOC multiplier = 1
+ # dim LOC divisor = 1
+ # dim PMI name = PMI
+ # dim PMI algorithm = incremental
+ # dim PMI multiplier = 1
+ # dim PMI divisor = 1
+ # dim RES name = RES
+ # dim RES algorithm = incremental
+ # dim RES multiplier = 1
+ # dim RES divisor = 1
+ # dim CAL name = CAL
+ # dim CAL algorithm = incremental
+ # dim CAL multiplier = 1
+ # dim CAL divisor = 1
+ # dim TLB name = TLB
+ # dim TLB algorithm = incremental
+ # dim TLB multiplier = 1
+ # dim TLB divisor = 1
+ # dim MCP name = MCP
+ # dim MCP algorithm = incremental
+ # dim MCP multiplier = 1
+ # dim MCP divisor = 1
+
+[system.softirqs]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.softirqs
+ # chart type = stacked
+ # type = system
+ # family = softirqs
+ # units = softirqs/s
+ # context = system.softirqs
+ # priority = 950
+ # name = system.softirqs
+ # title = System softirqs
+ # dim HI name = HI
+ # dim HI algorithm = incremental
+ # dim HI multiplier = 1
+ # dim HI divisor = 1
+ # dim TIMER name = TIMER
+ # dim TIMER algorithm = incremental
+ # dim TIMER multiplier = 1
+ # dim TIMER divisor = 1
+ # dim NET_TX name = NET_TX
+ # dim NET_TX algorithm = incremental
+ # dim NET_TX multiplier = 1
+ # dim NET_TX divisor = 1
+ # dim NET_RX name = NET_RX
+ # dim NET_RX algorithm = incremental
+ # dim NET_RX multiplier = 1
+ # dim NET_RX divisor = 1
+ # dim TASKLET name = TASKLET
+ # dim TASKLET algorithm = incremental
+ # dim TASKLET multiplier = 1
+ # dim TASKLET divisor = 1
+ # dim SCHED name = SCHED
+ # dim SCHED algorithm = incremental
+ # dim SCHED multiplier = 1
+ # dim SCHED divisor = 1
+ # dim HRTIMER name = HRTIMER
+ # dim HRTIMER algorithm = incremental
+ # dim HRTIMER multiplier = 1
+ # dim HRTIMER divisor = 1
+ # dim RCU name = RCU
+ # dim RCU algorithm = incremental
+ # dim RCU multiplier = 1
+ # dim RCU divisor = 1
+
+[cpu.cpu0_softirqs]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu0_softirqs
+ # chart type = stacked
+ # type = cpu
+ # family = softirqs
+ # units = softirqs/s
+ # context = cpu.softirqs
+ # priority = 3000
+ # name = cpu.cpu0_softirqs
+ # title = CPU0 softirqs
+ # dim HI name = HI
+ # dim HI algorithm = incremental
+ # dim HI multiplier = 1
+ # dim HI divisor = 1
+ # dim TIMER name = TIMER
+ # dim TIMER algorithm = incremental
+ # dim TIMER multiplier = 1
+ # dim TIMER divisor = 1
+ # dim NET_TX name = NET_TX
+ # dim NET_TX algorithm = incremental
+ # dim NET_TX multiplier = 1
+ # dim NET_TX divisor = 1
+ # dim NET_RX name = NET_RX
+ # dim NET_RX algorithm = incremental
+ # dim NET_RX multiplier = 1
+ # dim NET_RX divisor = 1
+ # dim TASKLET name = TASKLET
+ # dim TASKLET algorithm = incremental
+ # dim TASKLET multiplier = 1
+ # dim TASKLET divisor = 1
+ # dim SCHED name = SCHED
+ # dim SCHED algorithm = incremental
+ # dim SCHED multiplier = 1
+ # dim SCHED divisor = 1
+ # dim RCU name = RCU
+ # dim RCU algorithm = incremental
+ # dim RCU multiplier = 1
+ # dim RCU divisor = 1
+
+[cpu.cpu1_softirqs]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu1_softirqs
+ # chart type = stacked
+ # type = cpu
+ # family = softirqs
+ # units = softirqs/s
+ # context = cpu.softirqs
+ # priority = 3001
+ # name = cpu.cpu1_softirqs
+ # title = CPU1 softirqs
+ # dim TIMER name = TIMER
+ # dim TIMER algorithm = incremental
+ # dim TIMER multiplier = 1
+ # dim TIMER divisor = 1
+ # dim NET_TX name = NET_TX
+ # dim NET_TX algorithm = incremental
+ # dim NET_TX multiplier = 1
+ # dim NET_TX divisor = 1
+ # dim NET_RX name = NET_RX
+ # dim NET_RX algorithm = incremental
+ # dim NET_RX multiplier = 1
+ # dim NET_RX divisor = 1
+ # dim TASKLET name = TASKLET
+ # dim TASKLET algorithm = incremental
+ # dim TASKLET multiplier = 1
+ # dim TASKLET divisor = 1
+ # dim SCHED name = SCHED
+ # dim SCHED algorithm = incremental
+ # dim SCHED multiplier = 1
+ # dim SCHED divisor = 1
+ # dim RCU name = RCU
+ # dim RCU algorithm = incremental
+ # dim RCU multiplier = 1
+ # dim RCU divisor = 1
+
+[cpu.cpu2_softirqs]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu2_softirqs
+ # chart type = stacked
+ # type = cpu
+ # family = softirqs
+ # units = softirqs/s
+ # context = cpu.softirqs
+ # priority = 3002
+ # name = cpu.cpu2_softirqs
+ # title = CPU2 softirqs
+ # dim HI name = HI
+ # dim HI algorithm = incremental
+ # dim HI multiplier = 1
+ # dim HI divisor = 1
+ # dim TIMER name = TIMER
+ # dim TIMER algorithm = incremental
+ # dim TIMER multiplier = 1
+ # dim TIMER divisor = 1
+ # dim NET_TX name = NET_TX
+ # dim NET_TX algorithm = incremental
+ # dim NET_TX multiplier = 1
+ # dim NET_TX divisor = 1
+ # dim NET_RX name = NET_RX
+ # dim NET_RX algorithm = incremental
+ # dim NET_RX multiplier = 1
+ # dim NET_RX divisor = 1
+ # dim TASKLET name = TASKLET
+ # dim TASKLET algorithm = incremental
+ # dim TASKLET multiplier = 1
+ # dim TASKLET divisor = 1
+ # dim SCHED name = SCHED
+ # dim SCHED algorithm = incremental
+ # dim SCHED multiplier = 1
+ # dim SCHED divisor = 1
+ # dim RCU name = RCU
+ # dim RCU algorithm = incremental
+ # dim RCU multiplier = 1
+ # dim RCU divisor = 1
+
+[cpu.cpu3_softirqs]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu3_softirqs
+ # chart type = stacked
+ # type = cpu
+ # family = softirqs
+ # units = softirqs/s
+ # context = cpu.softirqs
+ # priority = 3003
+ # name = cpu.cpu3_softirqs
+ # title = CPU3 softirqs
+ # dim TIMER name = TIMER
+ # dim TIMER algorithm = incremental
+ # dim TIMER multiplier = 1
+ # dim TIMER divisor = 1
+ # dim NET_TX name = NET_TX
+ # dim NET_TX algorithm = incremental
+ # dim NET_TX multiplier = 1
+ # dim NET_TX divisor = 1
+ # dim NET_RX name = NET_RX
+ # dim NET_RX algorithm = incremental
+ # dim NET_RX multiplier = 1
+ # dim NET_RX divisor = 1
+ # dim TASKLET name = TASKLET
+ # dim TASKLET algorithm = incremental
+ # dim TASKLET multiplier = 1
+ # dim TASKLET divisor = 1
+ # dim SCHED name = SCHED
+ # dim SCHED algorithm = incremental
+ # dim SCHED multiplier = 1
+ # dim SCHED divisor = 1
+ # dim RCU name = RCU
+ # dim RCU algorithm = incremental
+ # dim RCU multiplier = 1
+ # dim RCU divisor = 1
+
+[cpu.cpu4_softirqs]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu4_softirqs
+ # chart type = stacked
+ # type = cpu
+ # family = softirqs
+ # units = softirqs/s
+ # context = cpu.softirqs
+ # priority = 3004
+ # name = cpu.cpu4_softirqs
+ # title = CPU4 softirqs
+ # dim HI name = HI
+ # dim HI algorithm = incremental
+ # dim HI multiplier = 1
+ # dim HI divisor = 1
+ # dim TIMER name = TIMER
+ # dim TIMER algorithm = incremental
+ # dim TIMER multiplier = 1
+ # dim TIMER divisor = 1
+ # dim NET_TX name = NET_TX
+ # dim NET_TX algorithm = incremental
+ # dim NET_TX multiplier = 1
+ # dim NET_TX divisor = 1
+ # dim NET_RX name = NET_RX
+ # dim NET_RX algorithm = incremental
+ # dim NET_RX multiplier = 1
+ # dim NET_RX divisor = 1
+ # dim TASKLET name = TASKLET
+ # dim TASKLET algorithm = incremental
+ # dim TASKLET multiplier = 1
+ # dim TASKLET divisor = 1
+ # dim SCHED name = SCHED
+ # dim SCHED algorithm = incremental
+ # dim SCHED multiplier = 1
+ # dim SCHED divisor = 1
+ # dim HRTIMER name = HRTIMER
+ # dim HRTIMER algorithm = incremental
+ # dim HRTIMER multiplier = 1
+ # dim HRTIMER divisor = 1
+ # dim RCU name = RCU
+ # dim RCU algorithm = incremental
+ # dim RCU multiplier = 1
+ # dim RCU divisor = 1
+
+[cpu.cpu5_softirqs]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu5_softirqs
+ # chart type = stacked
+ # type = cpu
+ # family = softirqs
+ # units = softirqs/s
+ # context = cpu.softirqs
+ # priority = 3005
+ # name = cpu.cpu5_softirqs
+ # title = CPU5 softirqs
+ # dim HI name = HI
+ # dim HI algorithm = incremental
+ # dim HI multiplier = 1
+ # dim HI divisor = 1
+ # dim TIMER name = TIMER
+ # dim TIMER algorithm = incremental
+ # dim TIMER multiplier = 1
+ # dim TIMER divisor = 1
+ # dim NET_TX name = NET_TX
+ # dim NET_TX algorithm = incremental
+ # dim NET_TX multiplier = 1
+ # dim NET_TX divisor = 1
+ # dim NET_RX name = NET_RX
+ # dim NET_RX algorithm = incremental
+ # dim NET_RX multiplier = 1
+ # dim NET_RX divisor = 1
+ # dim TASKLET name = TASKLET
+ # dim TASKLET algorithm = incremental
+ # dim TASKLET multiplier = 1
+ # dim TASKLET divisor = 1
+ # dim SCHED name = SCHED
+ # dim SCHED algorithm = incremental
+ # dim SCHED multiplier = 1
+ # dim SCHED divisor = 1
+ # dim RCU name = RCU
+ # dim RCU algorithm = incremental
+ # dim RCU multiplier = 1
+ # dim RCU divisor = 1
+
+[cpu.cpu6_softirqs]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu6_softirqs
+ # chart type = stacked
+ # type = cpu
+ # family = softirqs
+ # units = softirqs/s
+ # context = cpu.softirqs
+ # priority = 3006
+ # name = cpu.cpu6_softirqs
+ # title = CPU6 softirqs
+ # dim HI name = HI
+ # dim HI algorithm = incremental
+ # dim HI multiplier = 1
+ # dim HI divisor = 1
+ # dim TIMER name = TIMER
+ # dim TIMER algorithm = incremental
+ # dim TIMER multiplier = 1
+ # dim TIMER divisor = 1
+ # dim NET_TX name = NET_TX
+ # dim NET_TX algorithm = incremental
+ # dim NET_TX multiplier = 1
+ # dim NET_TX divisor = 1
+ # dim NET_RX name = NET_RX
+ # dim NET_RX algorithm = incremental
+ # dim NET_RX multiplier = 1
+ # dim NET_RX divisor = 1
+ # dim TASKLET name = TASKLET
+ # dim TASKLET algorithm = incremental
+ # dim TASKLET multiplier = 1
+ # dim TASKLET divisor = 1
+ # dim SCHED name = SCHED
+ # dim SCHED algorithm = incremental
+ # dim SCHED multiplier = 1
+ # dim SCHED divisor = 1
+ # dim RCU name = RCU
+ # dim RCU algorithm = incremental
+ # dim RCU multiplier = 1
+ # dim RCU divisor = 1
+
+[cpu.cpu7_softirqs]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu7_softirqs
+ # chart type = stacked
+ # type = cpu
+ # family = softirqs
+ # units = softirqs/s
+ # context = cpu.softirqs
+ # priority = 3007
+ # name = cpu.cpu7_softirqs
+ # title = CPU7 softirqs
+ # dim TIMER name = TIMER
+ # dim TIMER algorithm = incremental
+ # dim TIMER multiplier = 1
+ # dim TIMER divisor = 1
+ # dim NET_TX name = NET_TX
+ # dim NET_TX algorithm = incremental
+ # dim NET_TX multiplier = 1
+ # dim NET_TX divisor = 1
+ # dim NET_RX name = NET_RX
+ # dim NET_RX algorithm = incremental
+ # dim NET_RX multiplier = 1
+ # dim NET_RX divisor = 1
+ # dim TASKLET name = TASKLET
+ # dim TASKLET algorithm = incremental
+ # dim TASKLET multiplier = 1
+ # dim TASKLET divisor = 1
+ # dim SCHED name = SCHED
+ # dim SCHED algorithm = incremental
+ # dim SCHED multiplier = 1
+ # dim SCHED divisor = 1
+ # dim HRTIMER name = HRTIMER
+ # dim HRTIMER algorithm = incremental
+ # dim HRTIMER multiplier = 1
+ # dim HRTIMER divisor = 1
+ # dim RCU name = RCU
+ # dim RCU algorithm = incremental
+ # dim RCU multiplier = 1
+ # dim RCU divisor = 1
+
+[system.pgpgio]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.pgpgio
+ # chart type = area
+ # type = system
+ # family = disk
+ # units = KiB/s
+ # context = system.pgpgio
+ # priority = 151
+ # name = system.pgpgio
+ # title = Memory Paged from/to disk
+ # dim in name = in
+ # dim in algorithm = incremental
+ # dim in multiplier = 1
+ # dim in divisor = 1
+ # dim out name = out
+ # dim out algorithm = incremental
+ # dim out multiplier = -1
+ # dim out divisor = 1
+
+[mem.pgfaults]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/mem.pgfaults
+ # chart type = line
+ # type = mem
+ # family = system
+ # units = faults/s
+ # context = mem.pgfaults
+ # priority = 1030
+ # name = mem.pgfaults
+ # title = Memory Page Faults
+ # dim minor name = minor
+ # dim minor algorithm = incremental
+ # dim minor multiplier = 1
+ # dim minor divisor = 1
+ # dim major name = major
+ # dim major algorithm = incremental
+ # dim major multiplier = -1
+ # dim major divisor = 1
+
+[system.ram]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.ram
+ # chart type = stacked
+ # type = system
+ # family = ram
+ # units = MiB
+ # context = system.ram
+ # priority = 200
+ # name = system.ram
+ # title = System RAM
+ # dim free name = free
+ # dim free algorithm = absolute
+ # dim free multiplier = 1
+ # dim free divisor = 1024
+ # dim used name = used
+ # dim used algorithm = absolute
+ # dim used multiplier = 1
+ # dim used divisor = 1024
+ # dim cached name = cached
+ # dim cached algorithm = absolute
+ # dim cached multiplier = 1
+ # dim cached divisor = 1024
+ # dim buffers name = buffers
+ # dim buffers algorithm = absolute
+ # dim buffers multiplier = 1
+ # dim buffers divisor = 1024
+
+[mem.available]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/mem.available
+ # chart type = area
+ # type = mem
+ # family = system
+ # units = MiB
+ # context = mem.available
+ # priority = 1010
+ # name = mem.available
+ # title = Available RAM for applications
+ # dim MemAvailable name = avail
+ # dim MemAvailable algorithm = absolute
+ # dim MemAvailable multiplier = 1
+ # dim MemAvailable divisor = 1024
+
+[system.swap]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.swap
+ # chart type = stacked
+ # type = system
+ # family = swap
+ # units = MiB
+ # context = system.swap
+ # priority = 201
+ # name = system.swap
+ # title = System Swap
+ # dim free name = free
+ # dim free algorithm = absolute
+ # dim free multiplier = 1
+ # dim free divisor = 1024
+ # dim used name = used
+ # dim used algorithm = absolute
+ # dim used multiplier = 1
+ # dim used divisor = 1024
+
+[mem.committed]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/mem.committed
+ # chart type = area
+ # type = mem
+ # family = system
+ # units = MiB
+ # context = mem.committed
+ # priority = 1020
+ # name = mem.committed
+ # title = Committed (Allocated) Memory
+ # dim Committed_AS name = Committed_AS
+ # dim Committed_AS algorithm = absolute
+ # dim Committed_AS multiplier = 1
+ # dim Committed_AS divisor = 1024
+
+[mem.writeback]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/mem.writeback
+ # chart type = line
+ # type = mem
+ # family = kernel
+ # units = MiB
+ # context = mem.writeback
+ # priority = 1100
+ # name = mem.writeback
+ # title = Writeback Memory
+ # dim Dirty name = Dirty
+ # dim Dirty algorithm = absolute
+ # dim Dirty multiplier = 1
+ # dim Dirty divisor = 1024
+ # dim Writeback name = Writeback
+ # dim Writeback algorithm = absolute
+ # dim Writeback multiplier = 1
+ # dim Writeback divisor = 1024
+ # dim FuseWriteback name = FuseWriteback
+ # dim FuseWriteback algorithm = absolute
+ # dim FuseWriteback multiplier = 1
+ # dim FuseWriteback divisor = 1024
+ # dim NfsWriteback name = NfsWriteback
+ # dim NfsWriteback algorithm = absolute
+ # dim NfsWriteback multiplier = 1
+ # dim NfsWriteback divisor = 1024
+ # dim Bounce name = Bounce
+ # dim Bounce algorithm = absolute
+ # dim Bounce multiplier = 1
+ # dim Bounce divisor = 1024
+
+[mem.kernel]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/mem.kernel
+ # chart type = stacked
+ # type = mem
+ # family = kernel
+ # units = MiB
+ # context = mem.kernel
+ # priority = 1101
+ # name = mem.kernel
+ # title = Memory Used by Kernel
+ # dim Slab name = Slab
+ # dim Slab algorithm = absolute
+ # dim Slab multiplier = 1
+ # dim Slab divisor = 1024
+ # dim KernelStack name = KernelStack
+ # dim KernelStack algorithm = absolute
+ # dim KernelStack multiplier = 1
+ # dim KernelStack divisor = 1024
+ # dim PageTables name = PageTables
+ # dim PageTables algorithm = absolute
+ # dim PageTables multiplier = 1
+ # dim PageTables divisor = 1024
+ # dim VmallocUsed name = VmallocUsed
+ # dim VmallocUsed algorithm = absolute
+ # dim VmallocUsed multiplier = 1
+ # dim VmallocUsed divisor = 1024
+
+[mem.slab]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/mem.slab
+ # chart type = stacked
+ # type = mem
+ # family = slab
+ # units = MiB
+ # context = mem.slab
+ # priority = 1200
+ # name = mem.slab
+ # title = Reclaimable Kernel Memory
+ # dim reclaimable name = reclaimable
+ # dim reclaimable algorithm = absolute
+ # dim reclaimable multiplier = 1
+ # dim reclaimable divisor = 1024
+ # dim unreclaimable name = unreclaimable
+ # dim unreclaimable algorithm = absolute
+ # dim unreclaimable multiplier = 1
+ # dim unreclaimable divisor = 1024
+
+[mem.transparent_hugepages]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/mem.transparent_hugepages
+ # chart type = stacked
+ # type = mem
+ # family = hugepages
+ # units = MiB
+ # context = mem.transparent_hugepages
+ # priority = 1250
+ # name = mem.transparent_hugepages
+ # title = Transparent HugePages Memory
+ # dim anonymous name = anonymous
+ # dim anonymous algorithm = absolute
+ # dim anonymous multiplier = 1
+ # dim anonymous divisor = 1024
+ # dim shmem name = shmem
+ # dim shmem algorithm = absolute
+ # dim shmem multiplier = 1
+ # dim shmem divisor = 1024
+
+[net.eth0]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/net.eth0
+ # chart type = area
+ # type = net
+ # family = eth0
+ # units = kilobits/s
+ # context = net.net
+ # priority = 7000
+ # name = net.eth0
+ # title = Bandwidth
+ # dim received name = received
+ # dim received algorithm = incremental
+ # dim received multiplier = 8
+ # dim received divisor = 1000
+ # dim sent name = sent
+ # dim sent algorithm = incremental
+ # dim sent multiplier = -8
+ # dim sent divisor = 1000
+
+[net_packets.eth0]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/net_packets.eth0
+ # chart type = line
+ # type = net_packets
+ # family = eth0
+ # units = packets/s
+ # context = net.packets
+ # priority = 7001
+ # name = net_packets.eth0
+ # title = Packets
+ # dim received name = received
+ # dim received algorithm = incremental
+ # dim received multiplier = 1
+ # dim received divisor = 1
+ # dim sent name = sent
+ # dim sent algorithm = incremental
+ # dim sent multiplier = -1
+ # dim sent divisor = 1
+ # dim multicast name = multicast
+ # dim multicast algorithm = incremental
+ # dim multicast multiplier = 1
+ # dim multicast divisor = 1
+
+[ipv4.sockstat_sockets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv4.sockstat_sockets
+ # chart type = line
+ # type = ipv4
+ # family = sockets
+ # units = sockets
+ # context = ipv4.sockstat_sockets
+ # priority = 5100
+ # name = ipv4.sockstat_sockets
+ # title = IPv4 Sockets Used
+ # dim used name = used
+ # dim used algorithm = absolute
+ # dim used multiplier = 1
+ # dim used divisor = 1
+
+[ipv4.sockstat_tcp_sockets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv4.sockstat_tcp_sockets
+ # chart type = line
+ # type = ipv4
+ # family = tcp
+ # units = sockets
+ # context = ipv4.sockstat_tcp_sockets
+ # priority = 5201
+ # name = ipv4.sockstat_tcp_sockets
+ # title = IPv4 TCP Sockets
+ # dim alloc name = alloc
+ # dim alloc algorithm = absolute
+ # dim alloc multiplier = 1
+ # dim alloc divisor = 1
+ # dim orphan name = orphan
+ # dim orphan algorithm = absolute
+ # dim orphan multiplier = 1
+ # dim orphan divisor = 1
+ # dim inuse name = inuse
+ # dim inuse algorithm = absolute
+ # dim inuse multiplier = 1
+ # dim inuse divisor = 1
+ # dim timewait name = timewait
+ # dim timewait algorithm = absolute
+ # dim timewait multiplier = 1
+ # dim timewait divisor = 1
+
+[ipv4.sockstat_tcp_mem]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv4.sockstat_tcp_mem
+ # chart type = area
+ # type = ipv4
+ # family = tcp
+ # units = KiB
+ # context = ipv4.sockstat_tcp_mem
+ # priority = 5290
+ # name = ipv4.sockstat_tcp_mem
+ # title = IPv4 TCP Sockets Memory
+ # dim mem name = mem
+ # dim mem algorithm = absolute
+ # dim mem multiplier = 4096
+ # dim mem divisor = 1024
+
+[ipv4.sockstat_udp_sockets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv4.sockstat_udp_sockets
+ # chart type = line
+ # type = ipv4
+ # family = udp
+ # units = sockets
+ # context = ipv4.sockstat_udp_sockets
+ # priority = 5300
+ # name = ipv4.sockstat_udp_sockets
+ # title = IPv4 UDP Sockets
+ # dim inuse name = inuse
+ # dim inuse algorithm = absolute
+ # dim inuse multiplier = 1
+ # dim inuse divisor = 1
+
+[ipv4.sockstat_udp_mem]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv4.sockstat_udp_mem
+ # chart type = area
+ # type = ipv4
+ # family = udp
+ # units = KiB
+ # context = ipv4.sockstat_udp_mem
+ # priority = 5390
+ # name = ipv4.sockstat_udp_mem
+ # title = IPv4 UDP Sockets Memory
+ # dim mem name = mem
+ # dim mem algorithm = absolute
+ # dim mem multiplier = 4096
+ # dim mem divisor = 1024
+
+[ipv6.sockstat6_tcp_sockets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv6.sockstat6_tcp_sockets
+ # chart type = line
+ # type = ipv6
+ # family = tcp6
+ # units = sockets
+ # context = ipv6.sockstat6_tcp_sockets
+ # priority = 6500
+ # name = ipv6.sockstat6_tcp_sockets
+ # title = IPv6 TCP Sockets
+ # dim inuse name = inuse
+ # dim inuse algorithm = absolute
+ # dim inuse multiplier = 1
+ # dim inuse divisor = 1
+
+[ip.tcpconnaborts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ip.tcpconnaborts
+ # chart type = line
+ # type = ip
+ # family = tcp
+ # units = connections/s
+ # context = ip.tcpconnaborts
+ # priority = 4210
+ # name = ip.tcpconnaborts
+ # title = TCP Connection Aborts
+ # dim TCPAbortOnData name = baddata
+ # dim TCPAbortOnData algorithm = incremental
+ # dim TCPAbortOnData multiplier = 1
+ # dim TCPAbortOnData divisor = 1
+ # dim TCPAbortOnClose name = userclosed
+ # dim TCPAbortOnClose algorithm = incremental
+ # dim TCPAbortOnClose multiplier = 1
+ # dim TCPAbortOnClose divisor = 1
+ # dim TCPAbortOnMemory name = nomemory
+ # dim TCPAbortOnMemory algorithm = incremental
+ # dim TCPAbortOnMemory multiplier = 1
+ # dim TCPAbortOnMemory divisor = 1
+ # dim TCPAbortOnTimeout name = timeout
+ # dim TCPAbortOnTimeout algorithm = incremental
+ # dim TCPAbortOnTimeout multiplier = 1
+ # dim TCPAbortOnTimeout divisor = 1
+ # dim TCPAbortOnLinger name = linger
+ # dim TCPAbortOnLinger algorithm = incremental
+ # dim TCPAbortOnLinger multiplier = 1
+ # dim TCPAbortOnLinger divisor = 1
+ # dim TCPAbortFailed name = failed
+ # dim TCPAbortFailed algorithm = incremental
+ # dim TCPAbortFailed multiplier = -1
+ # dim TCPAbortFailed divisor = 1
+
+[ip.tcpofo]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ip.tcpofo
+ # chart type = line
+ # type = ip
+ # family = tcp
+ # units = packets/s
+ # context = ip.tcpofo
+ # priority = 4250
+ # name = ip.tcpofo
+ # title = TCP Out-Of-Order Queue
+ # dim TCPOFOQueue name = inqueue
+ # dim TCPOFOQueue algorithm = incremental
+ # dim TCPOFOQueue multiplier = 1
+ # dim TCPOFOQueue divisor = 1
+ # dim TCPOFODrop name = dropped
+ # dim TCPOFODrop algorithm = incremental
+ # dim TCPOFODrop multiplier = -1
+ # dim TCPOFODrop divisor = 1
+ # dim TCPOFOMerge name = merged
+ # dim TCPOFOMerge algorithm = incremental
+ # dim TCPOFOMerge multiplier = 1
+ # dim TCPOFOMerge divisor = 1
+ # dim OfoPruned name = pruned
+ # dim OfoPruned algorithm = incremental
+ # dim OfoPruned multiplier = -1
+ # dim OfoPruned divisor = 1
+
+[system.ip]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.ip
+ # chart type = area
+ # type = system
+ # family = network
+ # units = kilobits/s
+ # context = system.ip
+ # priority = 501
+ # name = system.ip
+ # title = IP Bandwidth
+ # dim InOctets name = received
+ # dim InOctets algorithm = incremental
+ # dim InOctets multiplier = 8
+ # dim InOctets divisor = 1000
+ # dim OutOctets name = sent
+ # dim OutOctets algorithm = incremental
+ # dim OutOctets multiplier = -8
+ # dim OutOctets divisor = 1000
+
+[ip.bcast]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ip.bcast
+ # chart type = area
+ # type = ip
+ # family = broadcast
+ # units = kilobits/s
+ # context = ip.bcast
+ # priority = 4500
+ # name = ip.bcast
+ # title = IP Broadcast Bandwidth
+ # dim InBcastOctets name = received
+ # dim InBcastOctets algorithm = incremental
+ # dim InBcastOctets multiplier = 8
+ # dim InBcastOctets divisor = 1000
+ # dim OutBcastOctets name = sent
+ # dim OutBcastOctets algorithm = incremental
+ # dim OutBcastOctets multiplier = -8
+ # dim OutBcastOctets divisor = 1000
+
+[ip.bcastpkts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ip.bcastpkts
+ # chart type = line
+ # type = ip
+ # family = broadcast
+ # units = packets/s
+ # context = ip.bcastpkts
+ # priority = 4510
+ # name = ip.bcastpkts
+ # title = IP Broadcast Packets
+ # dim InBcastPkts name = received
+ # dim InBcastPkts algorithm = incremental
+ # dim InBcastPkts multiplier = 1
+ # dim InBcastPkts divisor = 1
+ # dim OutBcastPkts name = sent
+ # dim OutBcastPkts algorithm = incremental
+ # dim OutBcastPkts multiplier = -1
+ # dim OutBcastPkts divisor = 1
+
+[ip.ecnpkts]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ip.ecnpkts
+ # chart type = line
+ # type = ip
+ # family = ecn
+ # units = packets/s
+ # context = ip.ecnpkts
+ # priority = 4700
+ # name = ip.ecnpkts
+ # title = IP ECN Statistics
+ # dim InCEPkts name = CEP
+ # dim InCEPkts algorithm = incremental
+ # dim InCEPkts multiplier = 1
+ # dim InCEPkts divisor = 1
+ # dim InNoECTPkts name = NoECTP
+ # dim InNoECTPkts algorithm = incremental
+ # dim InNoECTPkts multiplier = -1
+ # dim InNoECTPkts divisor = 1
+ # dim InECT0Pkts name = ECTP0
+ # dim InECT0Pkts algorithm = incremental
+ # dim InECT0Pkts multiplier = 1
+ # dim InECT0Pkts divisor = 1
+ # dim InECT1Pkts name = ECTP1
+ # dim InECT1Pkts algorithm = incremental
+ # dim InECT1Pkts multiplier = 1
+ # dim InECT1Pkts divisor = 1
+
+[ipv4.packets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv4.packets
+ # chart type = line
+ # type = ipv4
+ # family = packets
+ # units = packets/s
+ # context = ipv4.packets
+ # priority = 5130
+ # name = ipv4.packets
+ # title = IPv4 Packets
+ # dim InReceives name = received
+ # dim InReceives algorithm = incremental
+ # dim InReceives multiplier = 1
+ # dim InReceives divisor = 1
+ # dim OutRequests name = sent
+ # dim OutRequests algorithm = incremental
+ # dim OutRequests multiplier = -1
+ # dim OutRequests divisor = 1
+ # dim ForwDatagrams name = forwarded
+ # dim ForwDatagrams algorithm = incremental
+ # dim ForwDatagrams multiplier = 1
+ # dim ForwDatagrams divisor = 1
+ # dim InDelivers name = delivered
+ # dim InDelivers algorithm = incremental
+ # dim InDelivers multiplier = 1
+ # dim InDelivers divisor = 1
+
+[ipv4.tcppackets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv4.tcppackets
+ # chart type = line
+ # type = ipv4
+ # family = tcp
+ # units = packets/s
+ # context = ipv4.tcppackets
+ # priority = 5204
+ # name = ipv4.tcppackets
+ # title = IPv4 TCP Packets
+ # dim InSegs name = received
+ # dim InSegs algorithm = incremental
+ # dim InSegs multiplier = 1
+ # dim InSegs divisor = 1
+ # dim OutSegs name = sent
+ # dim OutSegs algorithm = incremental
+ # dim OutSegs multiplier = -1
+ # dim OutSegs divisor = 1
+
+[ipv4.tcpopens]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv4.tcpopens
+ # chart type = line
+ # type = ipv4
+ # family = tcp
+ # units = connections/s
+ # context = ipv4.tcpopens
+ # priority = 5205
+ # name = ipv4.tcpopens
+ # title = IPv4 TCP Opens
+ # dim ActiveOpens name = active
+ # dim ActiveOpens algorithm = incremental
+ # dim ActiveOpens multiplier = 1
+ # dim ActiveOpens divisor = 1
+ # dim PassiveOpens name = passive
+ # dim PassiveOpens algorithm = incremental
+ # dim PassiveOpens multiplier = 1
+ # dim PassiveOpens divisor = 1
+
+[ipv4.tcphandshake]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv4.tcphandshake
+ # chart type = line
+ # type = ipv4
+ # family = tcp
+ # units = events/s
+ # context = ipv4.tcphandshake
+ # priority = 5230
+ # name = ipv4.tcphandshake
+ # title = IPv4 TCP Handshake Issues
+ # dim EstabResets name = EstabResets
+ # dim EstabResets algorithm = incremental
+ # dim EstabResets multiplier = 1
+ # dim EstabResets divisor = 1
+ # dim OutRsts name = OutRsts
+ # dim OutRsts algorithm = incremental
+ # dim OutRsts multiplier = 1
+ # dim OutRsts divisor = 1
+ # dim AttemptFails name = AttemptFails
+ # dim AttemptFails algorithm = incremental
+ # dim AttemptFails multiplier = 1
+ # dim AttemptFails divisor = 1
+ # dim TCPSynRetrans name = SynRetrans
+ # dim TCPSynRetrans algorithm = incremental
+ # dim TCPSynRetrans multiplier = 1
+ # dim TCPSynRetrans divisor = 1
+
+[ipv4.udppackets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv4.udppackets
+ # chart type = line
+ # type = ipv4
+ # family = udp
+ # units = packets/s
+ # context = ipv4.udppackets
+ # priority = 5300
+ # name = ipv4.udppackets
+ # title = IPv4 UDP Packets
+ # dim InDatagrams name = received
+ # dim InDatagrams algorithm = incremental
+ # dim InDatagrams multiplier = 1
+ # dim InDatagrams divisor = 1
+ # dim OutDatagrams name = sent
+ # dim OutDatagrams algorithm = incremental
+ # dim OutDatagrams multiplier = -1
+ # dim OutDatagrams divisor = 1
+
+[ipv4.udperrors]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv4.udperrors
+ # chart type = line
+ # type = ipv4
+ # family = udp
+ # units = events/s
+ # context = ipv4.udperrors
+ # priority = 5310
+ # name = ipv4.udperrors
+ # title = IPv4 UDP Errors
+ # dim RcvbufErrors name = RcvbufErrors
+ # dim RcvbufErrors algorithm = incremental
+ # dim RcvbufErrors multiplier = 1
+ # dim RcvbufErrors divisor = 1
+ # dim SndbufErrors name = SndbufErrors
+ # dim SndbufErrors algorithm = incremental
+ # dim SndbufErrors multiplier = -1
+ # dim SndbufErrors divisor = 1
+ # dim InErrors name = InErrors
+ # dim InErrors algorithm = incremental
+ # dim InErrors multiplier = 1
+ # dim InErrors divisor = 1
+ # dim NoPorts name = NoPorts
+ # dim NoPorts algorithm = incremental
+ # dim NoPorts multiplier = 1
+ # dim NoPorts divisor = 1
+ # dim InCsumErrors name = InCsumErrors
+ # dim InCsumErrors algorithm = incremental
+ # dim InCsumErrors multiplier = 1
+ # dim InCsumErrors divisor = 1
+ # dim IgnoredMulti name = IgnoredMulti
+ # dim IgnoredMulti algorithm = incremental
+ # dim IgnoredMulti multiplier = 1
+ # dim IgnoredMulti divisor = 1
+
+[system.ipv6]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.ipv6
+ # chart type = area
+ # type = system
+ # family = network
+ # units = kilobits/s
+ # context = system.ipv6
+ # priority = 502
+ # name = system.ipv6
+ # title = IPv6 Bandwidth
+ # dim InOctets name = received
+ # dim InOctets algorithm = incremental
+ # dim InOctets multiplier = 8
+ # dim InOctets divisor = 1000
+ # dim OutOctets name = sent
+ # dim OutOctets algorithm = incremental
+ # dim OutOctets multiplier = -8
+ # dim OutOctets divisor = 1000
+
+[ipv6.packets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv6.packets
+ # chart type = line
+ # type = ipv6
+ # family = packets
+ # units = packets/s
+ # context = ipv6.packets
+ # priority = 6200
+ # name = ipv6.packets
+ # title = IPv6 Packets
+ # dim InReceives name = received
+ # dim InReceives algorithm = incremental
+ # dim InReceives multiplier = 1
+ # dim InReceives divisor = 1
+ # dim OutRequests name = sent
+ # dim OutRequests algorithm = incremental
+ # dim OutRequests multiplier = -1
+ # dim OutRequests divisor = 1
+ # dim OutForwDatagrams name = forwarded
+ # dim OutForwDatagrams algorithm = incremental
+ # dim OutForwDatagrams multiplier = -1
+ # dim OutForwDatagrams divisor = 1
+ # dim InDelivers name = delivers
+ # dim InDelivers algorithm = incremental
+ # dim InDelivers multiplier = 1
+ # dim InDelivers divisor = 1
+
+[ipv6.errors]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/ipv6.errors
+ # chart type = line
+ # type = ipv6
+ # family = errors
+ # units = packets/s
+ # context = ipv6.errors
+ # priority = 6300
+ # name = ipv6.errors
+ # title = IPv6 Errors
+ # dim InDiscards name = InDiscards
+ # dim InDiscards algorithm = incremental
+ # dim InDiscards multiplier = 1
+ # dim InDiscards divisor = 1
+ # dim OutDiscards name = OutDiscards
+ # dim OutDiscards algorithm = incremental
+ # dim OutDiscards multiplier = -1
+ # dim OutDiscards divisor = 1
+ # dim InHdrErrors name = InHdrErrors
+ # dim InHdrErrors algorithm = incremental
+ # dim InHdrErrors multiplier = 1
+ # dim InHdrErrors divisor = 1
+ # dim InAddrErrors name = InAddrErrors
+ # dim InAddrErrors algorithm = incremental
+ # dim InAddrErrors multiplier = 1
+ # dim InAddrErrors divisor = 1
+ # dim InUnknownProtos name = InUnknownProtos
+ # dim InUnknownProtos algorithm = incremental
+ # dim InUnknownProtos multiplier = 1
+ # dim InUnknownProtos divisor = 1
+ # dim InTooBigErrors name = InTooBigErrors
+ # dim InTooBigErrors algorithm = incremental
+ # dim InTooBigErrors multiplier = 1
+ # dim InTooBigErrors divisor = 1
+ # dim InTruncatedPkts name = InTruncatedPkts
+ # dim InTruncatedPkts algorithm = incremental
+ # dim InTruncatedPkts multiplier = 1
+ # dim InTruncatedPkts divisor = 1
+ # dim InNoRoutes name = InNoRoutes
+ # dim InNoRoutes algorithm = incremental
+ # dim InNoRoutes multiplier = 1
+ # dim InNoRoutes divisor = 1
+ # dim OutNoRoutes name = OutNoRoutes
+ # dim OutNoRoutes algorithm = incremental
+ # dim OutNoRoutes multiplier = -1
+ # dim OutNoRoutes divisor = 1
+
+[system.softnet_stat]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.softnet_stat
+ # chart type = line
+ # type = system
+ # family = softnet_stat
+ # units = events/s
+ # context = system.softnet_stat
+ # priority = 955
+ # name = system.softnet_stat
+ # title = System softnet_stat
+ # dim processed name = processed
+ # dim processed algorithm = incremental
+ # dim processed multiplier = 1
+ # dim processed divisor = 1
+ # dim dropped name = dropped
+ # dim dropped algorithm = incremental
+ # dim dropped multiplier = 1
+ # dim dropped divisor = 1
+ # dim squeezed name = squeezed
+ # dim squeezed algorithm = incremental
+ # dim squeezed multiplier = 1
+ # dim squeezed divisor = 1
+ # dim received_rps name = received_rps
+ # dim received_rps algorithm = incremental
+ # dim received_rps multiplier = 1
+ # dim received_rps divisor = 1
+ # dim flow_limit_count name = flow_limit_count
+ # dim flow_limit_count algorithm = incremental
+ # dim flow_limit_count multiplier = 1
+ # dim flow_limit_count divisor = 1
+
+[cpu.cpu0_softnet_stat]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu0_softnet_stat
+ # chart type = line
+ # type = cpu
+ # family = softnet_stat
+ # units = events/s
+ # context = cpu.softnet_stat
+ # priority = 4101
+ # name = cpu.cpu0_softnet_stat
+ # title = CPU0 softnet_stat
+ # dim processed name = processed
+ # dim processed algorithm = incremental
+ # dim processed multiplier = 1
+ # dim processed divisor = 1
+ # dim dropped name = dropped
+ # dim dropped algorithm = incremental
+ # dim dropped multiplier = 1
+ # dim dropped divisor = 1
+ # dim squeezed name = squeezed
+ # dim squeezed algorithm = incremental
+ # dim squeezed multiplier = 1
+ # dim squeezed divisor = 1
+ # dim received_rps name = received_rps
+ # dim received_rps algorithm = incremental
+ # dim received_rps multiplier = 1
+ # dim received_rps divisor = 1
+ # dim flow_limit_count name = flow_limit_count
+ # dim flow_limit_count algorithm = incremental
+ # dim flow_limit_count multiplier = 1
+ # dim flow_limit_count divisor = 1
+
+[cpu.cpu1_softnet_stat]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu1_softnet_stat
+ # chart type = line
+ # type = cpu
+ # family = softnet_stat
+ # units = events/s
+ # context = cpu.softnet_stat
+ # priority = 4102
+ # name = cpu.cpu1_softnet_stat
+ # title = CPU1 softnet_stat
+ # dim processed name = processed
+ # dim processed algorithm = incremental
+ # dim processed multiplier = 1
+ # dim processed divisor = 1
+ # dim dropped name = dropped
+ # dim dropped algorithm = incremental
+ # dim dropped multiplier = 1
+ # dim dropped divisor = 1
+ # dim squeezed name = squeezed
+ # dim squeezed algorithm = incremental
+ # dim squeezed multiplier = 1
+ # dim squeezed divisor = 1
+ # dim received_rps name = received_rps
+ # dim received_rps algorithm = incremental
+ # dim received_rps multiplier = 1
+ # dim received_rps divisor = 1
+ # dim flow_limit_count name = flow_limit_count
+ # dim flow_limit_count algorithm = incremental
+ # dim flow_limit_count multiplier = 1
+ # dim flow_limit_count divisor = 1
+
+[cpu.cpu2_softnet_stat]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu2_softnet_stat
+ # chart type = line
+ # type = cpu
+ # family = softnet_stat
+ # units = events/s
+ # context = cpu.softnet_stat
+ # priority = 4103
+ # name = cpu.cpu2_softnet_stat
+ # title = CPU2 softnet_stat
+ # dim processed name = processed
+ # dim processed algorithm = incremental
+ # dim processed multiplier = 1
+ # dim processed divisor = 1
+ # dim dropped name = dropped
+ # dim dropped algorithm = incremental
+ # dim dropped multiplier = 1
+ # dim dropped divisor = 1
+ # dim squeezed name = squeezed
+ # dim squeezed algorithm = incremental
+ # dim squeezed multiplier = 1
+ # dim squeezed divisor = 1
+ # dim received_rps name = received_rps
+ # dim received_rps algorithm = incremental
+ # dim received_rps multiplier = 1
+ # dim received_rps divisor = 1
+ # dim flow_limit_count name = flow_limit_count
+ # dim flow_limit_count algorithm = incremental
+ # dim flow_limit_count multiplier = 1
+ # dim flow_limit_count divisor = 1
+
+[cpu.cpu3_softnet_stat]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu3_softnet_stat
+ # chart type = line
+ # type = cpu
+ # family = softnet_stat
+ # units = events/s
+ # context = cpu.softnet_stat
+ # priority = 4104
+ # name = cpu.cpu3_softnet_stat
+ # title = CPU3 softnet_stat
+ # dim processed name = processed
+ # dim processed algorithm = incremental
+ # dim processed multiplier = 1
+ # dim processed divisor = 1
+ # dim dropped name = dropped
+ # dim dropped algorithm = incremental
+ # dim dropped multiplier = 1
+ # dim dropped divisor = 1
+ # dim squeezed name = squeezed
+ # dim squeezed algorithm = incremental
+ # dim squeezed multiplier = 1
+ # dim squeezed divisor = 1
+ # dim received_rps name = received_rps
+ # dim received_rps algorithm = incremental
+ # dim received_rps multiplier = 1
+ # dim received_rps divisor = 1
+ # dim flow_limit_count name = flow_limit_count
+ # dim flow_limit_count algorithm = incremental
+ # dim flow_limit_count multiplier = 1
+ # dim flow_limit_count divisor = 1
+
+[cpu.cpu4_softnet_stat]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu4_softnet_stat
+ # chart type = line
+ # type = cpu
+ # family = softnet_stat
+ # units = events/s
+ # context = cpu.softnet_stat
+ # priority = 4105
+ # name = cpu.cpu4_softnet_stat
+ # title = CPU4 softnet_stat
+ # dim processed name = processed
+ # dim processed algorithm = incremental
+ # dim processed multiplier = 1
+ # dim processed divisor = 1
+ # dim dropped name = dropped
+ # dim dropped algorithm = incremental
+ # dim dropped multiplier = 1
+ # dim dropped divisor = 1
+ # dim squeezed name = squeezed
+ # dim squeezed algorithm = incremental
+ # dim squeezed multiplier = 1
+ # dim squeezed divisor = 1
+ # dim received_rps name = received_rps
+ # dim received_rps algorithm = incremental
+ # dim received_rps multiplier = 1
+ # dim received_rps divisor = 1
+ # dim flow_limit_count name = flow_limit_count
+ # dim flow_limit_count algorithm = incremental
+ # dim flow_limit_count multiplier = 1
+ # dim flow_limit_count divisor = 1
+
+[cpu.cpu5_softnet_stat]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu5_softnet_stat
+ # chart type = line
+ # type = cpu
+ # family = softnet_stat
+ # units = events/s
+ # context = cpu.softnet_stat
+ # priority = 4106
+ # name = cpu.cpu5_softnet_stat
+ # title = CPU5 softnet_stat
+ # dim processed name = processed
+ # dim processed algorithm = incremental
+ # dim processed multiplier = 1
+ # dim processed divisor = 1
+ # dim dropped name = dropped
+ # dim dropped algorithm = incremental
+ # dim dropped multiplier = 1
+ # dim dropped divisor = 1
+ # dim squeezed name = squeezed
+ # dim squeezed algorithm = incremental
+ # dim squeezed multiplier = 1
+ # dim squeezed divisor = 1
+ # dim received_rps name = received_rps
+ # dim received_rps algorithm = incremental
+ # dim received_rps multiplier = 1
+ # dim received_rps divisor = 1
+ # dim flow_limit_count name = flow_limit_count
+ # dim flow_limit_count algorithm = incremental
+ # dim flow_limit_count multiplier = 1
+ # dim flow_limit_count divisor = 1
+
+[cpu.cpu6_softnet_stat]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu6_softnet_stat
+ # chart type = line
+ # type = cpu
+ # family = softnet_stat
+ # units = events/s
+ # context = cpu.softnet_stat
+ # priority = 4107
+ # name = cpu.cpu6_softnet_stat
+ # title = CPU6 softnet_stat
+ # dim processed name = processed
+ # dim processed algorithm = incremental
+ # dim processed multiplier = 1
+ # dim processed divisor = 1
+ # dim dropped name = dropped
+ # dim dropped algorithm = incremental
+ # dim dropped multiplier = 1
+ # dim dropped divisor = 1
+ # dim squeezed name = squeezed
+ # dim squeezed algorithm = incremental
+ # dim squeezed multiplier = 1
+ # dim squeezed divisor = 1
+ # dim received_rps name = received_rps
+ # dim received_rps algorithm = incremental
+ # dim received_rps multiplier = 1
+ # dim received_rps divisor = 1
+ # dim flow_limit_count name = flow_limit_count
+ # dim flow_limit_count algorithm = incremental
+ # dim flow_limit_count multiplier = 1
+ # dim flow_limit_count divisor = 1
+
+[cpu.cpu7_softnet_stat]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/cpu.cpu7_softnet_stat
+ # chart type = line
+ # type = cpu
+ # family = softnet_stat
+ # units = events/s
+ # context = cpu.softnet_stat
+ # priority = 4108
+ # name = cpu.cpu7_softnet_stat
+ # title = CPU7 softnet_stat
+ # dim processed name = processed
+ # dim processed algorithm = incremental
+ # dim processed multiplier = 1
+ # dim processed divisor = 1
+ # dim dropped name = dropped
+ # dim dropped algorithm = incremental
+ # dim dropped multiplier = 1
+ # dim dropped divisor = 1
+ # dim squeezed name = squeezed
+ # dim squeezed algorithm = incremental
+ # dim squeezed multiplier = 1
+ # dim squeezed divisor = 1
+ # dim received_rps name = received_rps
+ # dim received_rps algorithm = incremental
+ # dim received_rps multiplier = 1
+ # dim received_rps divisor = 1
+ # dim flow_limit_count name = flow_limit_count
+ # dim flow_limit_count algorithm = incremental
+ # dim flow_limit_count multiplier = 1
+ # dim flow_limit_count divisor = 1
+
+[netfilter.conntrack_sockets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netfilter.conntrack_sockets
+ # chart type = line
+ # type = netfilter
+ # family = conntrack
+ # units = active connections
+ # context = netfilter.conntrack_sockets
+ # priority = 8700
+ # name = netfilter.conntrack_sockets
+ # title = Connection Tracker Connections
+ # dim connections name = connections
+ # dim connections algorithm = absolute
+ # dim connections multiplier = 1
+ # dim connections divisor = 1
+
+[netfilter.conntrack_new]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netfilter.conntrack_new
+ # chart type = line
+ # type = netfilter
+ # family = conntrack
+ # units = connections/s
+ # context = netfilter.conntrack_new
+ # priority = 8701
+ # name = netfilter.conntrack_new
+ # title = Connection Tracker New Connections
+ # dim new name = new
+ # dim new algorithm = incremental
+ # dim new multiplier = 1
+ # dim new divisor = 1
+ # dim ignore name = ignore
+ # dim ignore algorithm = incremental
+ # dim ignore multiplier = -1
+ # dim ignore divisor = 1
+ # dim invalid name = invalid
+ # dim invalid algorithm = incremental
+ # dim invalid multiplier = -1
+ # dim invalid divisor = 1
+
+[netfilter.conntrack_changes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netfilter.conntrack_changes
+ # chart type = line
+ # type = netfilter
+ # family = conntrack
+ # units = changes/s
+ # context = netfilter.conntrack_changes
+ # priority = 8702
+ # name = netfilter.conntrack_changes
+ # title = Connection Tracker Changes
+ # dim inserted name = inserted
+ # dim inserted algorithm = incremental
+ # dim inserted multiplier = 1
+ # dim inserted divisor = 1
+ # dim deleted name = deleted
+ # dim deleted algorithm = incremental
+ # dim deleted multiplier = -1
+ # dim deleted divisor = 1
+ # dim delete_list name = delete_list
+ # dim delete_list algorithm = incremental
+ # dim delete_list multiplier = -1
+ # dim delete_list divisor = 1
+
+[netfilter.conntrack_expect]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netfilter.conntrack_expect
+ # chart type = line
+ # type = netfilter
+ # family = conntrack
+ # units = expectations/s
+ # context = netfilter.conntrack_expect
+ # priority = 8703
+ # name = netfilter.conntrack_expect
+ # title = Connection Tracker Expectations
+ # dim created name = created
+ # dim created algorithm = incremental
+ # dim created multiplier = 1
+ # dim created divisor = 1
+ # dim deleted name = deleted
+ # dim deleted algorithm = incremental
+ # dim deleted multiplier = -1
+ # dim deleted divisor = 1
+ # dim new name = new
+ # dim new algorithm = incremental
+ # dim new multiplier = 1
+ # dim new divisor = 1
+
+[netfilter.conntrack_search]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netfilter.conntrack_search
+ # chart type = line
+ # type = netfilter
+ # family = conntrack
+ # units = searches/s
+ # context = netfilter.conntrack_search
+ # priority = 8710
+ # name = netfilter.conntrack_search
+ # title = Connection Tracker Searches
+ # dim searched name = searched
+ # dim searched algorithm = incremental
+ # dim searched multiplier = 1
+ # dim searched divisor = 1
+ # dim restarted name = restarted
+ # dim restarted algorithm = incremental
+ # dim restarted multiplier = -1
+ # dim restarted divisor = 1
+ # dim found name = found
+ # dim found algorithm = incremental
+ # dim found multiplier = 1
+ # dim found divisor = 1
+
+[netfilter.conntrack_errors]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netfilter.conntrack_errors
+ # chart type = line
+ # type = netfilter
+ # family = conntrack
+ # units = events/s
+ # context = netfilter.conntrack_errors
+ # priority = 8705
+ # name = netfilter.conntrack_errors
+ # title = Connection Tracker Errors
+ # dim icmp_error name = icmp_error
+ # dim icmp_error algorithm = incremental
+ # dim icmp_error multiplier = 1
+ # dim icmp_error divisor = 1
+ # dim insert_failed name = insert_failed
+ # dim insert_failed algorithm = incremental
+ # dim insert_failed multiplier = -1
+ # dim insert_failed divisor = 1
+ # dim drop name = drop
+ # dim drop algorithm = incremental
+ # dim drop multiplier = -1
+ # dim drop divisor = 1
+ # dim early_drop name = early_drop
+ # dim early_drop algorithm = incremental
+ # dim early_drop multiplier = -1
+ # dim early_drop divisor = 1
+
+[disk.sda]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk.sda
+ # chart type = area
+ # type = disk
+ # family = sda
+ # units = KiB/s
+ # context = disk.io
+ # priority = 2000
+ # name = disk.sda
+ # title = Disk I/O Bandwidth
+ # dim reads name = reads
+ # dim reads algorithm = incremental
+ # dim reads multiplier = 512
+ # dim reads divisor = 1024
+ # dim writes name = writes
+ # dim writes algorithm = incremental
+ # dim writes multiplier = -512
+ # dim writes divisor = 1024
+
+[disk_ops.sda]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_ops.sda
+ # chart type = line
+ # type = disk_ops
+ # family = sda
+ # units = operations/s
+ # context = disk.ops
+ # priority = 2001
+ # name = disk_ops.sda
+ # title = Disk Completed I/O Operations
+ # dim reads name = reads
+ # dim reads algorithm = incremental
+ # dim reads multiplier = 1
+ # dim reads divisor = 1
+ # dim writes name = writes
+ # dim writes algorithm = incremental
+ # dim writes multiplier = -1
+ # dim writes divisor = 1
+
+[disk_backlog.sda]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_backlog.sda
+ # chart type = area
+ # type = disk_backlog
+ # family = sda
+ # units = milliseconds
+ # context = disk.backlog
+ # priority = 2003
+ # name = disk_backlog.sda
+ # title = Disk Backlog
+ # dim backlog name = backlog
+ # dim backlog algorithm = incremental
+ # dim backlog multiplier = 1
+ # dim backlog divisor = 10
+
+[disk_util.sda]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_util.sda
+ # chart type = area
+ # type = disk_util
+ # family = sda
+ # units = % of time working
+ # context = disk.util
+ # priority = 2004
+ # name = disk_util.sda
+ # title = Disk Utilization Time
+ # dim utilization name = utilization
+ # dim utilization algorithm = incremental
+ # dim utilization multiplier = 1
+ # dim utilization divisor = 10
+
+[disk_iotime.sda]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_iotime.sda
+ # chart type = line
+ # type = disk_iotime
+ # family = sda
+ # units = milliseconds/s
+ # context = disk.iotime
+ # priority = 2022
+ # name = disk_iotime.sda
+ # title = Disk Total I/O Time
+ # dim reads name = reads
+ # dim reads algorithm = incremental
+ # dim reads multiplier = 1
+ # dim reads divisor = 1
+ # dim writes name = writes
+ # dim writes algorithm = incremental
+ # dim writes multiplier = -1
+ # dim writes divisor = 1
+
+[disk.sdb]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk.sdb
+ # chart type = area
+ # type = disk
+ # family = sdb
+ # units = KiB/s
+ # context = disk.io
+ # priority = 2000
+ # name = disk.sdb
+ # title = Disk I/O Bandwidth
+ # dim reads name = reads
+ # dim reads algorithm = incremental
+ # dim reads multiplier = 512
+ # dim reads divisor = 1024
+ # dim writes name = writes
+ # dim writes algorithm = incremental
+ # dim writes multiplier = -512
+ # dim writes divisor = 1024
+
+[disk_ops.sdb]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_ops.sdb
+ # chart type = line
+ # type = disk_ops
+ # family = sdb
+ # units = operations/s
+ # context = disk.ops
+ # priority = 2001
+ # name = disk_ops.sdb
+ # title = Disk Completed I/O Operations
+ # dim reads name = reads
+ # dim reads algorithm = incremental
+ # dim reads multiplier = 1
+ # dim reads divisor = 1
+ # dim writes name = writes
+ # dim writes algorithm = incremental
+ # dim writes multiplier = -1
+ # dim writes divisor = 1
+
+[disk_backlog.sdb]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_backlog.sdb
+ # chart type = area
+ # type = disk_backlog
+ # family = sdb
+ # units = milliseconds
+ # context = disk.backlog
+ # priority = 2003
+ # name = disk_backlog.sdb
+ # title = Disk Backlog
+ # dim backlog name = backlog
+ # dim backlog algorithm = incremental
+ # dim backlog multiplier = 1
+ # dim backlog divisor = 10
+
+[disk_util.sdb]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_util.sdb
+ # chart type = area
+ # type = disk_util
+ # family = sdb
+ # units = % of time working
+ # context = disk.util
+ # priority = 2004
+ # name = disk_util.sdb
+ # title = Disk Utilization Time
+ # dim utilization name = utilization
+ # dim utilization algorithm = incremental
+ # dim utilization multiplier = 1
+ # dim utilization divisor = 10
+
+[disk_mops.sdb]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_mops.sdb
+ # chart type = line
+ # type = disk_mops
+ # family = sdb
+ # units = merged operations/s
+ # context = disk.mops
+ # priority = 2021
+ # name = disk_mops.sdb
+ # title = Disk Merged Operations
+ # dim reads name = reads
+ # dim reads algorithm = incremental
+ # dim reads multiplier = 1
+ # dim reads divisor = 1
+ # dim writes name = writes
+ # dim writes algorithm = incremental
+ # dim writes multiplier = -1
+ # dim writes divisor = 1
+
+[disk_iotime.sdb]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_iotime.sdb
+ # chart type = line
+ # type = disk_iotime
+ # family = sdb
+ # units = milliseconds/s
+ # context = disk.iotime
+ # priority = 2022
+ # name = disk_iotime.sdb
+ # title = Disk Total I/O Time
+ # dim reads name = reads
+ # dim reads algorithm = incremental
+ # dim reads multiplier = 1
+ # dim reads divisor = 1
+ # dim writes name = writes
+ # dim writes algorithm = incremental
+ # dim writes multiplier = -1
+ # dim writes divisor = 1
+
+[system.io]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.io
+ # chart type = area
+ # type = system
+ # family = disk
+ # units = KiB/s
+ # context = system.io
+ # priority = 150
+ # name = system.io
+ # title = Disk I/O
+ # dim in name = in
+ # dim in algorithm = incremental
+ # dim in multiplier = 1
+ # dim in divisor = 1
+ # dim out name = out
+ # dim out algorithm = incremental
+ # dim out multiplier = -1
+ # dim out divisor = 1
+
+[system.ipc_semaphores]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.ipc_semaphores
+ # chart type = area
+ # type = system
+ # family = ipc semaphores
+ # units = semaphores
+ # context = system.ipc_semaphores
+ # priority = 1203
+ # name = system.ipc_semaphores
+ # title = IPC Semaphores
+ # dim semaphores name = semaphores
+ # dim semaphores algorithm = absolute
+ # dim semaphores multiplier = 1
+ # dim semaphores divisor = 1
+
+[system.ipc_semaphore_arrays]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.ipc_semaphore_arrays
+ # chart type = area
+ # type = system
+ # family = ipc semaphores
+ # units = arrays
+ # context = system.ipc_semaphore_arrays
+ # priority = 1204
+ # name = system.ipc_semaphore_arrays
+ # title = IPC Semaphore Arrays
+ # dim arrays name = arrays
+ # dim arrays algorithm = absolute
+ # dim arrays multiplier = 1
+ # dim arrays divisor = 1
+
+[system.shared_memory_segments]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.shared_memory_segments
+ # chart type = stacked
+ # type = system
+ # family = ipc shared memory
+ # units = segments
+ # context = system.shared_memory_segments
+ # priority = 1205
+ # name = system.shared_memory_segments
+ # title = IPC Shared Memory Number of Segments
+ # dim segments name = segments
+ # dim segments algorithm = absolute
+ # dim segments multiplier = 1
+ # dim segments divisor = 1
+
+[system.shared_memory_bytes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/system.shared_memory_bytes
+ # chart type = stacked
+ # type = system
+ # family = ipc shared memory
+ # units = bytes
+ # context = system.shared_memory_bytes
+ # priority = 1206
+ # name = system.shared_memory_bytes
+ # title = IPC Shared Memory Used Bytes
+ # dim bytes name = bytes
+ # dim bytes algorithm = absolute
+ # dim bytes multiplier = 1
+ # dim bytes divisor = 1
+
+[netdata.plugin_proc_modules]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.plugin_proc_modules
+ # chart type = stacked
+ # type = netdata
+ # family = proc
+ # units = milliseconds/run
+ # context = netdata.plugin_proc_modules
+ # priority = 132001
+ # name = netdata.plugin_proc_modules
+ # title = Netdata Proc Plugin Modules Durations
+ # dim stat name = stat
+ # dim stat algorithm = absolute
+ # dim stat multiplier = 1
+ # dim stat divisor = 1000
+ # dim uptime name = uptime
+ # dim uptime algorithm = absolute
+ # dim uptime multiplier = 1
+ # dim uptime divisor = 1000
+ # dim loadavg name = loadavg
+ # dim loadavg algorithm = absolute
+ # dim loadavg multiplier = 1
+ # dim loadavg divisor = 1000
+ # dim entropy name = entropy
+ # dim entropy algorithm = absolute
+ # dim entropy multiplier = 1
+ # dim entropy divisor = 1000
+ # dim interrupts name = interrupts
+ # dim interrupts algorithm = absolute
+ # dim interrupts multiplier = 1
+ # dim interrupts divisor = 1000
+ # dim softirqs name = softirqs
+ # dim softirqs algorithm = absolute
+ # dim softirqs multiplier = 1
+ # dim softirqs divisor = 1000
+ # dim vmstat name = vmstat
+ # dim vmstat algorithm = absolute
+ # dim vmstat multiplier = 1
+ # dim vmstat divisor = 1000
+ # dim meminfo name = meminfo
+ # dim meminfo algorithm = absolute
+ # dim meminfo multiplier = 1
+ # dim meminfo divisor = 1000
+ # dim ksm name = ksm
+ # dim ksm algorithm = absolute
+ # dim ksm multiplier = 1
+ # dim ksm divisor = 1000
+ # dim numa name = numa
+ # dim numa algorithm = absolute
+ # dim numa multiplier = 1
+ # dim numa divisor = 1000
+ # dim netdev name = netdev
+ # dim netdev algorithm = absolute
+ # dim netdev multiplier = 1
+ # dim netdev divisor = 1000
+ # dim sockstat name = sockstat
+ # dim sockstat algorithm = absolute
+ # dim sockstat multiplier = 1
+ # dim sockstat divisor = 1000
+ # dim sockstat6 name = sockstat6
+ # dim sockstat6 algorithm = absolute
+ # dim sockstat6 multiplier = 1
+ # dim sockstat6 divisor = 1000
+ # dim netstat name = netstat
+ # dim netstat algorithm = absolute
+ # dim netstat multiplier = 1
+ # dim netstat divisor = 1000
+ # dim snmp name = snmp
+ # dim snmp algorithm = absolute
+ # dim snmp multiplier = 1
+ # dim snmp divisor = 1000
+ # dim snmp6 name = snmp6
+ # dim snmp6 algorithm = absolute
+ # dim snmp6 multiplier = 1
+ # dim snmp6 divisor = 1000
+ # dim softnet name = softnet
+ # dim softnet algorithm = absolute
+ # dim softnet multiplier = 1
+ # dim softnet divisor = 1000
+ # dim conntrack name = conntrack
+ # dim conntrack algorithm = absolute
+ # dim conntrack multiplier = 1
+ # dim conntrack divisor = 1000
+ # dim diskstats name = diskstats
+ # dim diskstats algorithm = absolute
+ # dim diskstats multiplier = 1
+ # dim diskstats divisor = 1000
+ # dim mdstat name = mdstat
+ # dim mdstat algorithm = absolute
+ # dim mdstat multiplier = 1
+ # dim mdstat divisor = 1000
+ # dim btrfs name = btrfs
+ # dim btrfs algorithm = absolute
+ # dim btrfs multiplier = 1
+ # dim btrfs divisor = 1000
+ # dim ipc name = ipc
+ # dim ipc algorithm = absolute
+ # dim ipc multiplier = 1
+ # dim ipc divisor = 1000
+ # dim power_supply name = power_supply
+ # dim power_supply algorithm = absolute
+ # dim power_supply multiplier = 1
+ # dim power_supply divisor = 1000
+
+[netdata.plugin_proc_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.plugin_proc_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = proc
+ # units = milliseconds/s
+ # context = netdata.plugin_proc_cpu
+ # priority = 132000
+ # name = netdata.plugin_proc_cpu
+ # title = Netdata Proc Plugin CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[netdata.server_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.server_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = netdata
+ # units = milliseconds/s
+ # context = netdata.server_cpu
+ # priority = 130000
+ # name = netdata.server_cpu
+ # title = Netdata CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[netdata.clients]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.clients
+ # chart type = line
+ # type = netdata
+ # family = netdata
+ # units = connected clients
+ # context = netdata.clients
+ # priority = 130200
+ # name = netdata.clients
+ # title = Netdata Web Clients
+ # dim clients name = clients
+ # dim clients algorithm = absolute
+ # dim clients multiplier = 1
+ # dim clients divisor = 1
+
+[netdata.requests]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.requests
+ # chart type = line
+ # type = netdata
+ # family = netdata
+ # units = requests/s
+ # context = netdata.requests
+ # priority = 130300
+ # name = netdata.requests
+ # title = Netdata Web Requests
+ # dim requests name = requests
+ # dim requests algorithm = incremental
+ # dim requests multiplier = 1
+ # dim requests divisor = 1
+
+[netdata.net]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.net
+ # chart type = area
+ # type = netdata
+ # family = netdata
+ # units = kilobits/s
+ # context = netdata.net
+ # priority = 130000
+ # name = netdata.net
+ # title = Netdata Network Traffic
+ # dim in name = in
+ # dim in algorithm = incremental
+ # dim in multiplier = 8
+ # dim in divisor = 1000
+ # dim out name = out
+ # dim out algorithm = incremental
+ # dim out multiplier = -8
+ # dim out divisor = 1000
+
+[netdata.response_time]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.response_time
+ # chart type = line
+ # type = netdata
+ # family = netdata
+ # units = milliseconds/request
+ # context = netdata.response_time
+ # priority = 130400
+ # name = netdata.response_time
+ # title = Netdata API Response Time
+ # dim average name = average
+ # dim average algorithm = absolute
+ # dim average multiplier = 1
+ # dim average divisor = 1000
+ # dim max name = max
+ # dim max algorithm = absolute
+ # dim max multiplier = 1
+ # dim max divisor = 1000
+
+[netdata.compression_ratio]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.compression_ratio
+ # chart type = line
+ # type = netdata
+ # family = netdata
+ # units = percentage
+ # context = netdata.compression_ratio
+ # priority = 130500
+ # name = netdata.compression_ratio
+ # title = Netdata API Responses Compression Savings Ratio
+ # dim savings name = savings
+ # dim savings algorithm = absolute
+ # dim savings multiplier = 1
+ # dim savings divisor = 1000
+
+[netdata.dbengine_compression_ratio]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.dbengine_compression_ratio
+ # chart type = line
+ # type = netdata
+ # family = dbengine
+ # units = percentage
+ # context = netdata.dbengine_compression_ratio
+ # priority = 130502
+ # name = netdata.dbengine_compression_ratio
+ # title = Netdata DB engine data extents' compression savings ratio
+ # dim savings name = savings
+ # dim savings algorithm = absolute
+ # dim savings multiplier = 1
+ # dim savings divisor = 1000
+
+[netdata.page_cache_hit_ratio]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.page_cache_hit_ratio
+ # chart type = line
+ # type = netdata
+ # family = dbengine
+ # units = percentage
+ # context = netdata.page_cache_hit_ratio
+ # priority = 130503
+ # name = netdata.page_cache_hit_ratio
+ # title = Netdata DB engine page cache hit ratio
+ # dim ratio name = ratio
+ # dim ratio algorithm = absolute
+ # dim ratio multiplier = 1
+ # dim ratio divisor = 1000
+
+[netdata.page_cache_stats]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.page_cache_stats
+ # chart type = line
+ # type = netdata
+ # family = dbengine
+ # units = pages
+ # context = netdata.page_cache_stats
+ # priority = 130504
+ # name = netdata.page_cache_stats
+ # title = Netdata dbengine page cache statistics
+ # dim descriptors name = descriptors
+ # dim descriptors algorithm = absolute
+ # dim descriptors multiplier = 1
+ # dim descriptors divisor = 1
+ # dim populated name = populated
+ # dim populated algorithm = absolute
+ # dim populated multiplier = 1
+ # dim populated divisor = 1
+ # dim dirty name = dirty
+ # dim dirty algorithm = absolute
+ # dim dirty multiplier = 1
+ # dim dirty divisor = 1
+ # dim backfills name = backfills
+ # dim backfills algorithm = incremental
+ # dim backfills multiplier = 1
+ # dim backfills divisor = 1
+ # dim evictions name = evictions
+ # dim evictions algorithm = incremental
+ # dim evictions multiplier = -1
+ # dim evictions divisor = 1
+ # dim used_by_collectors name = used_by_collectors
+ # dim used_by_collectors algorithm = absolute
+ # dim used_by_collectors multiplier = 1
+ # dim used_by_collectors divisor = 1
+
+[netdata.dbengine_long_term_page_stats]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.dbengine_long_term_page_stats
+ # chart type = line
+ # type = netdata
+ # family = dbengine
+ # units = pages
+ # context = netdata.dbengine_long_term_page_stats
+ # priority = 130505
+ # name = netdata.dbengine_long_term_page_stats
+ # title = Netdata dbengine long-term page statistics
+ # dim total name = total
+ # dim total algorithm = absolute
+ # dim total multiplier = 1
+ # dim total divisor = 1
+ # dim insertions name = insertions
+ # dim insertions algorithm = incremental
+ # dim insertions multiplier = 1
+ # dim insertions divisor = 1
+ # dim deletions name = deletions
+ # dim deletions algorithm = incremental
+ # dim deletions multiplier = -1
+ # dim deletions divisor = 1
+ # dim flushing_pressure_deletions name = flushing_pressure_deletions
+ # dim flushing_pressure_deletions algorithm = incremental
+ # dim flushing_pressure_deletions multiplier = -1
+ # dim flushing_pressure_deletions divisor = 1
+
+[netdata.dbengine_io_throughput]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.dbengine_io_throughput
+ # chart type = line
+ # type = netdata
+ # family = dbengine
+ # units = MiB/s
+ # context = netdata.dbengine_io_throughput
+ # priority = 130506
+ # name = netdata.dbengine_io_throughput
+ # title = Netdata DB engine I/O throughput
+ # dim reads name = reads
+ # dim reads algorithm = incremental
+ # dim reads multiplier = 1
+ # dim reads divisor = 1048576
+ # dim writes name = writes
+ # dim writes algorithm = incremental
+ # dim writes multiplier = -1
+ # dim writes divisor = 1048576
+
+[netdata.dbengine_io_operations]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.dbengine_io_operations
+ # chart type = line
+ # type = netdata
+ # family = dbengine
+ # units = operations/s
+ # context = netdata.dbengine_io_operations
+ # priority = 130507
+ # name = netdata.dbengine_io_operations
+ # title = Netdata DB engine I/O operations
+ # dim reads name = reads
+ # dim reads algorithm = incremental
+ # dim reads multiplier = 1
+ # dim reads divisor = 1
+ # dim writes name = writes
+ # dim writes algorithm = incremental
+ # dim writes multiplier = -1
+ # dim writes divisor = 1
+
+[netdata.dbengine_global_errors]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.dbengine_global_errors
+ # chart type = line
+ # type = netdata
+ # family = dbengine
+ # units = errors/s
+ # context = netdata.dbengine_global_errors
+ # priority = 130508
+ # name = netdata.dbengine_global_errors
+ # title = Netdata DB engine errors
+ # dim io_errors name = io_errors
+ # dim io_errors algorithm = incremental
+ # dim io_errors multiplier = 1
+ # dim io_errors divisor = 1
+ # dim fs_errors name = fs_errors
+ # dim fs_errors algorithm = incremental
+ # dim fs_errors multiplier = 1
+ # dim fs_errors divisor = 1
+ # dim pg_cache_over_half_dirty_events name = pg_cache_over_half_dirty_events
+ # dim pg_cache_over_half_dirty_events algorithm = incremental
+ # dim pg_cache_over_half_dirty_events multiplier = 1
+ # dim pg_cache_over_half_dirty_events divisor = 1
+
+[netdata.dbengine_global_file_descriptors]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.dbengine_global_file_descriptors
+ # chart type = line
+ # type = netdata
+ # family = dbengine
+ # units = descriptors
+ # context = netdata.dbengine_global_file_descriptors
+ # priority = 130509
+ # name = netdata.dbengine_global_file_descriptors
+ # title = Netdata DB engine File Descriptors
+ # dim current name = current
+ # dim current algorithm = absolute
+ # dim current multiplier = 1
+ # dim current divisor = 1
+ # dim max name = max
+ # dim max algorithm = absolute
+ # dim max multiplier = 1
+ # dim max divisor = 1
+
+[netdata.dbengine_ram]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.dbengine_ram
+ # chart type = stacked
+ # type = netdata
+ # family = dbengine
+ # units = MiB
+ # context = netdata.dbengine_ram
+ # priority = 130510
+ # name = netdata.dbengine_ram
+ # title = Netdata DB engine RAM usage
+ # dim cache name = cache
+ # dim cache algorithm = absolute
+ # dim cache multiplier = 1
+ # dim cache divisor = 256
+ # dim collectors name = collectors
+ # dim collectors algorithm = absolute
+ # dim collectors multiplier = 1
+ # dim collectors divisor = 256
+ # dim metadata name = metadata
+ # dim metadata algorithm = absolute
+ # dim metadata multiplier = 1
+ # dim metadata divisor = 1048576
+
+[netdata.web_thread4_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.web_thread4_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = web
+ # units = milliseconds/s
+ # context = netdata.web_cpu
+ # priority = 132003
+ # name = netdata.web_thread4_cpu
+ # title = Netdata web server thread No 4 CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[netdata.web_thread1_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.web_thread1_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = web
+ # units = milliseconds/s
+ # context = netdata.web_cpu
+ # priority = 132000
+ # name = netdata.web_thread1_cpu
+ # title = Netdata web server thread No 1 CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[netdata.web_thread6_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.web_thread6_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = web
+ # units = milliseconds/s
+ # context = netdata.web_cpu
+ # priority = 132005
+ # name = netdata.web_thread6_cpu
+ # title = Netdata web server thread No 6 CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[netdata.web_thread3_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.web_thread3_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = web
+ # units = milliseconds/s
+ # context = netdata.web_cpu
+ # priority = 132002
+ # name = netdata.web_thread3_cpu
+ # title = Netdata web server thread No 3 CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[netdata.web_thread2_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.web_thread2_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = web
+ # units = milliseconds/s
+ # context = netdata.web_cpu
+ # priority = 132001
+ # name = netdata.web_thread2_cpu
+ # title = Netdata web server thread No 2 CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[disk_await.sda]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_await.sda
+ # chart type = line
+ # type = disk_await
+ # family = sda
+ # units = milliseconds/operation
+ # context = disk.await
+ # priority = 2005
+ # name = disk_await.sda
+ # title = Average Completed I/O Operation Time
+ # dim reads name = reads
+ # dim reads algorithm = absolute
+ # dim reads multiplier = 1
+ # dim reads divisor = 1
+ # dim writes name = writes
+ # dim writes algorithm = absolute
+ # dim writes multiplier = -1
+ # dim writes divisor = 1
+
+[disk_avgsz.sda]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_avgsz.sda
+ # chart type = area
+ # type = disk_avgsz
+ # family = sda
+ # units = KiB/operation
+ # context = disk.avgsz
+ # priority = 2006
+ # name = disk_avgsz.sda
+ # title = Average Completed I/O Operation Bandwidth
+ # dim reads name = reads
+ # dim reads algorithm = absolute
+ # dim reads multiplier = 512
+ # dim reads divisor = 1024
+ # dim writes name = writes
+ # dim writes algorithm = absolute
+ # dim writes multiplier = -512
+ # dim writes divisor = 1024
+
+[disk_svctm.sda]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_svctm.sda
+ # chart type = line
+ # type = disk_svctm
+ # family = sda
+ # units = milliseconds/operation
+ # context = disk.svctm
+ # priority = 2007
+ # name = disk_svctm.sda
+ # title = Average Service Time
+ # dim svctm name = svctm
+ # dim svctm algorithm = absolute
+ # dim svctm multiplier = 1
+ # dim svctm divisor = 1
+
+[disk_await.sdb]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_await.sdb
+ # chart type = line
+ # type = disk_await
+ # family = sdb
+ # units = milliseconds/operation
+ # context = disk.await
+ # priority = 2005
+ # name = disk_await.sdb
+ # title = Average Completed I/O Operation Time
+ # dim reads name = reads
+ # dim reads algorithm = absolute
+ # dim reads multiplier = 1
+ # dim reads divisor = 1
+ # dim writes name = writes
+ # dim writes algorithm = absolute
+ # dim writes multiplier = -1
+ # dim writes divisor = 1
+
+[disk_avgsz.sdb]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_avgsz.sdb
+ # chart type = area
+ # type = disk_avgsz
+ # family = sdb
+ # units = KiB/operation
+ # context = disk.avgsz
+ # priority = 2006
+ # name = disk_avgsz.sdb
+ # title = Average Completed I/O Operation Bandwidth
+ # dim reads name = reads
+ # dim reads algorithm = absolute
+ # dim reads multiplier = 512
+ # dim reads divisor = 1024
+ # dim writes name = writes
+ # dim writes algorithm = absolute
+ # dim writes multiplier = -512
+ # dim writes divisor = 1024
+
+[disk_svctm.sdb]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/disk_svctm.sdb
+ # chart type = line
+ # type = disk_svctm
+ # family = sdb
+ # units = milliseconds/operation
+ # context = disk.svctm
+ # priority = 2007
+ # name = disk_svctm.sdb
+ # title = Average Service Time
+ # dim svctm name = svctm
+ # dim svctm algorithm = absolute
+ # dim svctm multiplier = 1
+ # dim svctm divisor = 1
+
+[netdata.web_thread5_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.web_thread5_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = web
+ # units = milliseconds/s
+ # context = netdata.web_cpu
+ # priority = 132004
+ # name = netdata.web_thread5_cpu
+ # title = Netdata web server thread No 5 CPU usage
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[netdata.apps_cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.apps_cpu
+ # chart type = stacked
+ # type = netdata
+ # family = apps.plugin
+ # units = milliseconds/s
+ # context = netdata.apps_cpu
+ # priority = 140000
+ # name = netdata.apps_cpu
+ # title = Apps Plugin CPU
+ # dim user name = user
+ # dim user algorithm = incremental
+ # dim user multiplier = 1
+ # dim user divisor = 1000
+ # dim system name = system
+ # dim system algorithm = incremental
+ # dim system multiplier = 1
+ # dim system divisor = 1000
+
+[netdata.apps_sizes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.apps_sizes
+ # chart type = line
+ # type = netdata
+ # family = apps.plugin
+ # units = files/s
+ # context = netdata.apps_sizes
+ # priority = 140001
+ # name = netdata.apps_sizes
+ # title = Apps Plugin Files
+ # dim calls name = calls
+ # dim calls algorithm = incremental
+ # dim calls multiplier = 1
+ # dim calls divisor = 1
+ # dim files name = files
+ # dim files algorithm = incremental
+ # dim files multiplier = 1
+ # dim files divisor = 1
+ # dim filenames name = filenames
+ # dim filenames algorithm = incremental
+ # dim filenames multiplier = 1
+ # dim filenames divisor = 1
+ # dim inode_changes name = inode_changes
+ # dim inode_changes algorithm = incremental
+ # dim inode_changes multiplier = 1
+ # dim inode_changes divisor = 1
+ # dim link_changes name = link_changes
+ # dim link_changes algorithm = incremental
+ # dim link_changes multiplier = 1
+ # dim link_changes divisor = 1
+ # dim pids name = pids
+ # dim pids algorithm = absolute
+ # dim pids multiplier = 1
+ # dim pids divisor = 1
+ # dim fds name = fds
+ # dim fds algorithm = absolute
+ # dim fds multiplier = 1
+ # dim fds divisor = 1
+ # dim targets name = targets
+ # dim targets algorithm = absolute
+ # dim targets multiplier = 1
+ # dim targets divisor = 1
+ # dim new_pids name = new pids
+ # dim new_pids algorithm = incremental
+ # dim new_pids multiplier = 1
+ # dim new_pids divisor = 1
+
+[netdata.apps_fix]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.apps_fix
+ # chart type = line
+ # type = netdata
+ # family = apps.plugin
+ # units = percentage
+ # context = netdata.apps_fix
+ # priority = 140002
+ # name = netdata.apps_fix
+ # title = Apps Plugin Normalization Ratios
+ # dim utime name = utime
+ # dim utime algorithm = absolute
+ # dim utime multiplier = 1
+ # dim utime divisor = 10000
+ # dim stime name = stime
+ # dim stime algorithm = absolute
+ # dim stime multiplier = 1
+ # dim stime divisor = 10000
+ # dim gtime name = gtime
+ # dim gtime algorithm = absolute
+ # dim gtime multiplier = 1
+ # dim gtime divisor = 10000
+ # dim minflt name = minflt
+ # dim minflt algorithm = absolute
+ # dim minflt multiplier = 1
+ # dim minflt divisor = 10000
+ # dim majflt name = majflt
+ # dim majflt algorithm = absolute
+ # dim majflt multiplier = 1
+ # dim majflt divisor = 10000
+
+[netdata.apps_children_fix]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/netdata.apps_children_fix
+ # chart type = line
+ # type = netdata
+ # family = apps.plugin
+ # units = percentage
+ # context = netdata.apps_children_fix
+ # priority = 140003
+ # name = netdata.apps_children_fix
+ # title = Apps Plugin Exited Children Normalization Ratios
+ # dim cutime name = cutime
+ # dim cutime algorithm = absolute
+ # dim cutime multiplier = 1
+ # dim cutime divisor = 10000
+ # dim cstime name = cstime
+ # dim cstime algorithm = absolute
+ # dim cstime multiplier = 1
+ # dim cstime divisor = 10000
+ # dim cgtime name = cgtime
+ # dim cgtime algorithm = absolute
+ # dim cgtime multiplier = 1
+ # dim cgtime divisor = 10000
+ # dim cminflt name = cminflt
+ # dim cminflt algorithm = absolute
+ # dim cminflt multiplier = 1
+ # dim cminflt divisor = 10000
+ # dim cmajflt name = cmajflt
+ # dim cmajflt algorithm = absolute
+ # dim cmajflt multiplier = 1
+ # dim cmajflt divisor = 10000
+
+[apps.cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.cpu
+ # chart type = stacked
+ # type = apps
+ # family = cpu
+ # units = percentage
+ # context = apps.cpu
+ # priority = 20001
+ # name = apps.cpu
+ # title = Apps CPU Time (800% = 8 cores)
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 10000
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 10000
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 10000
+
+[apps.mem]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.mem
+ # chart type = stacked
+ # type = apps
+ # family = mem
+ # units = MiB
+ # context = apps.mem
+ # priority = 20003
+ # name = apps.mem
+ # title = Apps Real Memory (w/o shared)
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1024
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1024
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1024
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1024
+
+[apps.vmem]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.vmem
+ # chart type = stacked
+ # type = apps
+ # family = mem
+ # units = MiB
+ # context = apps.vmem
+ # priority = 20005
+ # name = apps.vmem
+ # title = Apps Virtual Memory Size
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1024
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1024
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1024
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1024
+
+[apps.threads]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.threads
+ # chart type = stacked
+ # type = apps
+ # family = processes
+ # units = threads
+ # context = apps.threads
+ # priority = 20006
+ # name = apps.threads
+ # title = Apps Threads
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1
+
+[apps.processes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.processes
+ # chart type = stacked
+ # type = apps
+ # family = processes
+ # units = processes
+ # context = apps.processes
+ # priority = 20007
+ # name = apps.processes
+ # title = Apps Processes
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1
+
+[apps.uptime]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.uptime
+ # chart type = line
+ # type = apps
+ # family = processes
+ # units = seconds
+ # context = apps.uptime
+ # priority = 20008
+ # name = apps.uptime
+ # title = Apps Carried Over Uptime
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1
+
+[apps.uptime_min]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.uptime_min
+ # chart type = line
+ # type = apps
+ # family = processes
+ # units = seconds
+ # context = apps.uptime_min
+ # priority = 20009
+ # name = apps.uptime_min
+ # title = Apps Minimum Uptime
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1
+
+[apps.uptime_avg]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.uptime_avg
+ # chart type = line
+ # type = apps
+ # family = processes
+ # units = seconds
+ # context = apps.uptime_avg
+ # priority = 20010
+ # name = apps.uptime_avg
+ # title = Apps Average Uptime
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1
+
+[apps.uptime_max]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.uptime_max
+ # chart type = line
+ # type = apps
+ # family = processes
+ # units = seconds
+ # context = apps.uptime_max
+ # priority = 20011
+ # name = apps.uptime_max
+ # title = Apps Maximum Uptime
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1
+
+[apps.cpu_user]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.cpu_user
+ # chart type = stacked
+ # type = apps
+ # family = cpu
+ # units = percentage
+ # context = apps.cpu_user
+ # priority = 20020
+ # name = apps.cpu_user
+ # title = Apps CPU User Time (800% = 8 cores)
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 10000
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 10000
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 10000
+
+[apps.cpu_system]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.cpu_system
+ # chart type = stacked
+ # type = apps
+ # family = cpu
+ # units = percentage
+ # context = apps.cpu_system
+ # priority = 20021
+ # name = apps.cpu_system
+ # title = Apps CPU System Time (800% = 8 cores)
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 10000
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 10000
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 10000
+
+[apps.swap]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.swap
+ # chart type = stacked
+ # type = apps
+ # family = swap
+ # units = MiB
+ # context = apps.swap
+ # priority = 20011
+ # name = apps.swap
+ # title = Apps Swap Memory
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1024
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1024
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1024
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1024
+
+[apps.major_faults]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.major_faults
+ # chart type = stacked
+ # type = apps
+ # family = swap
+ # units = page faults/s
+ # context = apps.major_faults
+ # priority = 20012
+ # name = apps.major_faults
+ # title = Apps Major Page Faults (swap read)
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 10000
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 10000
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 10000
+
+[apps.minor_faults]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.minor_faults
+ # chart type = stacked
+ # type = apps
+ # family = mem
+ # units = page faults/s
+ # context = apps.minor_faults
+ # priority = 20011
+ # name = apps.minor_faults
+ # title = Apps Minor Page Faults
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 10000
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 10000
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 10000
+
+[apps.preads]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.preads
+ # chart type = stacked
+ # type = apps
+ # family = disk
+ # units = KiB/s
+ # context = apps.preads
+ # priority = 20002
+ # name = apps.preads
+ # title = Apps Disk Reads
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 10240000
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 10240000
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 10240000
+
+[apps.pwrites]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.pwrites
+ # chart type = stacked
+ # type = apps
+ # family = disk
+ # units = KiB/s
+ # context = apps.pwrites
+ # priority = 20002
+ # name = apps.pwrites
+ # title = Apps Disk Writes
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 10240000
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 10240000
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 10240000
+
+[apps.lreads]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.lreads
+ # chart type = stacked
+ # type = apps
+ # family = disk
+ # units = KiB/s
+ # context = apps.lreads
+ # priority = 20042
+ # name = apps.lreads
+ # title = Apps Disk Logical Reads
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 10240000
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 10240000
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 10240000
+
+[apps.lwrites]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.lwrites
+ # chart type = stacked
+ # type = apps
+ # family = disk
+ # units = KiB/s
+ # context = apps.lwrites
+ # priority = 20042
+ # name = apps.lwrites
+ # title = Apps I/O Logical Writes
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 10240000
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 10240000
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 10240000
+
+[apps.files]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.files
+ # chart type = stacked
+ # type = apps
+ # family = disk
+ # units = open files
+ # context = apps.files
+ # priority = 20050
+ # name = apps.files
+ # title = Apps Open Files
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1
+
+[apps.sockets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.sockets
+ # chart type = stacked
+ # type = apps
+ # family = net
+ # units = open sockets
+ # context = apps.sockets
+ # priority = 20051
+ # name = apps.sockets
+ # title = Apps Open Sockets
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1
+
+[apps.pipes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/apps.pipes
+ # chart type = stacked
+ # type = apps
+ # family = processes
+ # units = open pipes
+ # context = apps.pipes
+ # priority = 20053
+ # name = apps.pipes
+ # title = Apps Pipes
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim apps.plugin name = apps.plugin
+ # dim apps.plugin algorithm = absolute
+ # dim apps.plugin multiplier = 1
+ # dim apps.plugin divisor = 1
+ # dim go.d.plugin name = go.d.plugin
+ # dim go.d.plugin algorithm = absolute
+ # dim go.d.plugin multiplier = 1
+ # dim go.d.plugin divisor = 1
+ # dim other name = other
+ # dim other algorithm = absolute
+ # dim other multiplier = 1
+ # dim other divisor = 1
+
+[users.cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.cpu
+ # chart type = stacked
+ # type = users
+ # family = cpu
+ # units = percentage
+ # context = users.cpu
+ # priority = 20001
+ # name = users.cpu
+ # title = Users CPU Time (800% = 8 cores)
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10000
+
+[users.mem]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.mem
+ # chart type = stacked
+ # type = users
+ # family = mem
+ # units = MiB
+ # context = users.mem
+ # priority = 20003
+ # name = users.mem
+ # title = Users Real Memory (w/o shared)
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1024
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1024
+
+[users.vmem]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.vmem
+ # chart type = stacked
+ # type = users
+ # family = mem
+ # units = MiB
+ # context = users.vmem
+ # priority = 20005
+ # name = users.vmem
+ # title = Users Virtual Memory Size
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1024
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1024
+
+[users.threads]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.threads
+ # chart type = stacked
+ # type = users
+ # family = processes
+ # units = threads
+ # context = users.threads
+ # priority = 20006
+ # name = users.threads
+ # title = Users Threads
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+
+[users.processes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.processes
+ # chart type = stacked
+ # type = users
+ # family = processes
+ # units = processes
+ # context = users.processes
+ # priority = 20007
+ # name = users.processes
+ # title = Users Processes
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+
+[users.uptime]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.uptime
+ # chart type = line
+ # type = users
+ # family = processes
+ # units = seconds
+ # context = users.uptime
+ # priority = 20008
+ # name = users.uptime
+ # title = Users Carried Over Uptime
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+
+[users.uptime_min]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.uptime_min
+ # chart type = line
+ # type = users
+ # family = processes
+ # units = seconds
+ # context = users.uptime_min
+ # priority = 20009
+ # name = users.uptime_min
+ # title = Users Minimum Uptime
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+
+[users.uptime_avg]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.uptime_avg
+ # chart type = line
+ # type = users
+ # family = processes
+ # units = seconds
+ # context = users.uptime_avg
+ # priority = 20010
+ # name = users.uptime_avg
+ # title = Users Average Uptime
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+
+[users.uptime_max]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.uptime_max
+ # chart type = line
+ # type = users
+ # family = processes
+ # units = seconds
+ # context = users.uptime_max
+ # priority = 20011
+ # name = users.uptime_max
+ # title = Users Maximum Uptime
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+
+[users.cpu_user]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.cpu_user
+ # chart type = stacked
+ # type = users
+ # family = cpu
+ # units = percentage
+ # context = users.cpu_user
+ # priority = 20020
+ # name = users.cpu_user
+ # title = Users CPU User Time (800% = 8 cores)
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10000
+
+[users.cpu_system]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.cpu_system
+ # chart type = stacked
+ # type = users
+ # family = cpu
+ # units = percentage
+ # context = users.cpu_system
+ # priority = 20021
+ # name = users.cpu_system
+ # title = Users CPU System Time (800% = 8 cores)
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10000
+
+[users.swap]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.swap
+ # chart type = stacked
+ # type = users
+ # family = swap
+ # units = MiB
+ # context = users.swap
+ # priority = 20011
+ # name = users.swap
+ # title = Users Swap Memory
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1024
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1024
+
+[users.major_faults]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.major_faults
+ # chart type = stacked
+ # type = users
+ # family = swap
+ # units = page faults/s
+ # context = users.major_faults
+ # priority = 20012
+ # name = users.major_faults
+ # title = Users Major Page Faults (swap read)
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10000
+
+[users.minor_faults]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.minor_faults
+ # chart type = stacked
+ # type = users
+ # family = mem
+ # units = page faults/s
+ # context = users.minor_faults
+ # priority = 20011
+ # name = users.minor_faults
+ # title = Users Minor Page Faults
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10000
+
+[users.preads]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.preads
+ # chart type = stacked
+ # type = users
+ # family = disk
+ # units = KiB/s
+ # context = users.preads
+ # priority = 20002
+ # name = users.preads
+ # title = Users Disk Reads
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10240000
+
+[users.pwrites]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.pwrites
+ # chart type = stacked
+ # type = users
+ # family = disk
+ # units = KiB/s
+ # context = users.pwrites
+ # priority = 20002
+ # name = users.pwrites
+ # title = Users Disk Writes
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10240000
+
+[users.lreads]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.lreads
+ # chart type = stacked
+ # type = users
+ # family = disk
+ # units = KiB/s
+ # context = users.lreads
+ # priority = 20042
+ # name = users.lreads
+ # title = Users Disk Logical Reads
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10240000
+
+[users.lwrites]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.lwrites
+ # chart type = stacked
+ # type = users
+ # family = disk
+ # units = KiB/s
+ # context = users.lwrites
+ # priority = 20042
+ # name = users.lwrites
+ # title = Users I/O Logical Writes
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10240000
+
+[users.files]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.files
+ # chart type = stacked
+ # type = users
+ # family = disk
+ # units = open files
+ # context = users.files
+ # priority = 20050
+ # name = users.files
+ # title = Users Open Files
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+
+[users.sockets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.sockets
+ # chart type = stacked
+ # type = users
+ # family = net
+ # units = open sockets
+ # context = users.sockets
+ # priority = 20051
+ # name = users.sockets
+ # title = Users Open Sockets
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+
+[users.pipes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/users.pipes
+ # chart type = stacked
+ # type = users
+ # family = processes
+ # units = open pipes
+ # context = users.pipes
+ # priority = 20053
+ # name = users.pipes
+ # title = Users Pipes
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+
+[groups.cpu]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.cpu
+ # chart type = stacked
+ # type = groups
+ # family = cpu
+ # units = percentage
+ # context = groups.cpu
+ # priority = 20001
+ # name = groups.cpu
+ # title = User Groups CPU Time (800% = 8 cores)
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10000
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+
+[groups.mem]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.mem
+ # chart type = stacked
+ # type = groups
+ # family = mem
+ # units = MiB
+ # context = groups.mem
+ # priority = 20003
+ # name = groups.mem
+ # title = User Groups Real Memory (w/o shared)
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1024
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1024
+
+[groups.vmem]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.vmem
+ # chart type = stacked
+ # type = groups
+ # family = mem
+ # units = MiB
+ # context = groups.vmem
+ # priority = 20005
+ # name = groups.vmem
+ # title = User Groups Virtual Memory Size
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1024
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1024
+
+[groups.threads]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.threads
+ # chart type = stacked
+ # type = groups
+ # family = processes
+ # units = threads
+ # context = groups.threads
+ # priority = 20006
+ # name = groups.threads
+ # title = User Groups Threads
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+
+[groups.processes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.processes
+ # chart type = stacked
+ # type = groups
+ # family = processes
+ # units = processes
+ # context = groups.processes
+ # priority = 20007
+ # name = groups.processes
+ # title = User Groups Processes
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+
+[groups.uptime]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.uptime
+ # chart type = line
+ # type = groups
+ # family = processes
+ # units = seconds
+ # context = groups.uptime
+ # priority = 20008
+ # name = groups.uptime
+ # title = User Groups Carried Over Uptime
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+
+[groups.uptime_min]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.uptime_min
+ # chart type = line
+ # type = groups
+ # family = processes
+ # units = seconds
+ # context = groups.uptime_min
+ # priority = 20009
+ # name = groups.uptime_min
+ # title = User Groups Minimum Uptime
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+
+[groups.uptime_avg]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.uptime_avg
+ # chart type = line
+ # type = groups
+ # family = processes
+ # units = seconds
+ # context = groups.uptime_avg
+ # priority = 20010
+ # name = groups.uptime_avg
+ # title = User Groups Average Uptime
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+
+[groups.uptime_max]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.uptime_max
+ # chart type = line
+ # type = groups
+ # family = processes
+ # units = seconds
+ # context = groups.uptime_max
+ # priority = 20011
+ # name = groups.uptime_max
+ # title = User Groups Maximum Uptime
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+
+[groups.cpu_user]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.cpu_user
+ # chart type = stacked
+ # type = groups
+ # family = cpu
+ # units = percentage
+ # context = groups.cpu_user
+ # priority = 20020
+ # name = groups.cpu_user
+ # title = User Groups CPU User Time (800% = 8 cores)
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10000
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+
+[groups.cpu_system]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.cpu_system
+ # chart type = stacked
+ # type = groups
+ # family = cpu
+ # units = percentage
+ # context = groups.cpu_system
+ # priority = 20021
+ # name = groups.cpu_system
+ # title = User Groups CPU System Time (800% = 8 cores)
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10000
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+
+[groups.swap]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.swap
+ # chart type = stacked
+ # type = groups
+ # family = swap
+ # units = MiB
+ # context = groups.swap
+ # priority = 20011
+ # name = groups.swap
+ # title = User Groups Swap Memory
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1024
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1024
+
+[groups.major_faults]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.major_faults
+ # chart type = stacked
+ # type = groups
+ # family = swap
+ # units = page faults/s
+ # context = groups.major_faults
+ # priority = 20012
+ # name = groups.major_faults
+ # title = User Groups Major Page Faults (swap read)
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10000
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+
+[groups.minor_faults]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.minor_faults
+ # chart type = stacked
+ # type = groups
+ # family = mem
+ # units = page faults/s
+ # context = groups.minor_faults
+ # priority = 20011
+ # name = groups.minor_faults
+ # title = User Groups Minor Page Faults
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10000
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10000
+
+[groups.preads]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.preads
+ # chart type = stacked
+ # type = groups
+ # family = disk
+ # units = KiB/s
+ # context = groups.preads
+ # priority = 20002
+ # name = groups.preads
+ # title = User Groups Disk Reads
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10240000
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+
+[groups.pwrites]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.pwrites
+ # chart type = stacked
+ # type = groups
+ # family = disk
+ # units = KiB/s
+ # context = groups.pwrites
+ # priority = 20002
+ # name = groups.pwrites
+ # title = User Groups Disk Writes
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10240000
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+
+[groups.lreads]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.lreads
+ # chart type = stacked
+ # type = groups
+ # family = disk
+ # units = KiB/s
+ # context = groups.lreads
+ # priority = 20042
+ # name = groups.lreads
+ # title = User Groups Disk Logical Reads
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10240000
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+
+[groups.lwrites]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.lwrites
+ # chart type = stacked
+ # type = groups
+ # family = disk
+ # units = KiB/s
+ # context = groups.lwrites
+ # priority = 20042
+ # name = groups.lwrites
+ # title = User Groups I/O Logical Writes
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 10240000
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 10240000
+
+[groups.files]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.files
+ # chart type = stacked
+ # type = groups
+ # family = disk
+ # units = open files
+ # context = groups.files
+ # priority = 20050
+ # name = groups.files
+ # title = User Groups Open Files
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+
+[groups.sockets]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.sockets
+ # chart type = stacked
+ # type = groups
+ # family = net
+ # units = open sockets
+ # context = groups.sockets
+ # priority = 20051
+ # name = groups.sockets
+ # title = User Groups Open Sockets
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
+
+[groups.pipes]
+ history = 5
+ # enabled = yes
+ # cache directory = /var/cache/netdata/groups.pipes
+ # chart type = stacked
+ # type = groups
+ # family = processes
+ # units = open pipes
+ # context = groups.pipes
+ # priority = 20053
+ # name = groups.pipes
+ # title = User Groups Pipes
+ # dim root name = root
+ # dim root algorithm = absolute
+ # dim root multiplier = 1
+ # dim root divisor = 1
+ # dim netdata name = netdata
+ # dim netdata algorithm = absolute
+ # dim netdata multiplier = 1
+ # dim netdata divisor = 1
diff --git a/build_external/scenarios/aclk-testing/configureVerneMQ.Dockerfile b/build_external/scenarios/aclk-testing/configureVerneMQ.Dockerfile new file mode 100644 index 0000000..228548c --- /dev/null +++ b/build_external/scenarios/aclk-testing/configureVerneMQ.Dockerfile @@ -0,0 +1,8 @@ +FROM vernemq:latest +EXPOSE 9002 +COPY vernemq.conf /vernemq/etc/vernemq.conf +WORKDIR /vernemq +#RUN openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt -subj '/CN=vernemq' +RUN openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes -out server.crt -keyout server.key -subj "/C=SK/ST=XX/L=XX/O=NetdataIsAwesome/OU=NotSupremeLeader/CN=netdata.cloud" +RUN chown vernemq:vernemq /vernemq/server.key /vernemq/server.crt +RUN cat /vernemq/etc/vernemq.conf diff --git a/build_external/scenarios/aclk-testing/paho-compose.yml b/build_external/scenarios/aclk-testing/paho-compose.yml new file mode 100644 index 0000000..8c39e20 --- /dev/null +++ b/build_external/scenarios/aclk-testing/paho-compose.yml @@ -0,0 +1,6 @@ +version: '3.3' +services: + paho_inspect: + build: + context: . + dockerfile: paho.Dockerfile diff --git a/build_external/scenarios/aclk-testing/paho-inspection.py b/build_external/scenarios/aclk-testing/paho-inspection.py new file mode 100644 index 0000000..e9343cc --- /dev/null +++ b/build_external/scenarios/aclk-testing/paho-inspection.py @@ -0,0 +1,33 @@ +import ssl +import paho.mqtt.client as mqtt + +def on_connect(mqttc, obj, flags, rc): + print("connected rc: "+str(rc), flush=True) + mqttc.subscribe("/agent/#",0) +def on_disconnect(mqttc, obj, flags, rc): + print("disconnected rc: "+str(rc), flush=True) +def on_message(mqttc, obj, msg): + print(msg.topic+" "+str(msg.qos)+" "+str(msg.payload), flush=True) +def on_publish(mqttc, obj, mid): + print("mid: "+str(mid), flush=True) +def on_subscribe(mqttc, obj, mid, granted_qos): + print("Subscribed: "+str(mid)+" "+str(granted_qos), flush=True) +def on_log(mqttc, obj, level, string): + print(string) +print("Starting paho-inspection", flush=True) +mqttc = mqtt.Client(transport='websockets') +#mqttc.tls_set(certfile="server.crt", keyfile="server.key", cert_reqs=ssl.CERT_REQUIRED, tls_version=ssl.PROTOCOL_TLS, ciphers=None) +#mqttc.tls_set(ca_certs="server.crt", cert_reqs=ssl.CERT_REQUIRED, tls_version=ssl.PROTOCOL_TLS, ciphers=None) +mqttc.tls_set(cert_reqs=ssl.CERT_NONE, tls_version=ssl.PROTOCOL_TLS, ciphers=None) +mqttc.tls_insecure_set(True) +mqttc.on_message = on_message +mqttc.on_connect = on_connect +mqttc.on_disconnect = on_disconnect +mqttc.on_publish = on_publish +mqttc.on_subscribe = on_subscribe +mqttc.connect("vernemq", 9002, 60) + +#mqttc.publish("/agent/mine","Test1") +#mqttc.subscribe("$SYS/#", 0) +print("Connected successfully, monitoring /agent/#", flush=True) +mqttc.loop_forever() diff --git a/build_external/scenarios/aclk-testing/paho.Dockerfile b/build_external/scenarios/aclk-testing/paho.Dockerfile new file mode 100644 index 0000000..77a49e7 --- /dev/null +++ b/build_external/scenarios/aclk-testing/paho.Dockerfile @@ -0,0 +1,12 @@ +FROM archlinux/base:latest + +RUN pacman -Syyu --noconfirm +RUN pacman --noconfirm --needed -S python-pip + +RUN pip install paho-mqtt + +RUN mkdir -p /opt/paho +COPY paho-inspection.py /opt/paho/ + +WORKDIR /opt/paho +CMD ["/usr/sbin/python", "paho-inspection.py"]
\ No newline at end of file diff --git a/build_external/scenarios/aclk-testing/vernemq-compose.yml b/build_external/scenarios/aclk-testing/vernemq-compose.yml new file mode 100644 index 0000000..3ec805a --- /dev/null +++ b/build_external/scenarios/aclk-testing/vernemq-compose.yml @@ -0,0 +1,6 @@ +version: '3.3' +services: + vernemq: + build: + dockerfile: configureVerneMQ.Dockerfile + context: . diff --git a/build_external/scenarios/aclk-testing/vernemq.conf b/build_external/scenarios/aclk-testing/vernemq.conf new file mode 100644 index 0000000..18e8432 --- /dev/null +++ b/build_external/scenarios/aclk-testing/vernemq.conf @@ -0,0 +1,68 @@ +allow_anonymous = on +allow_register_during_netsplit = off +allow_publish_during_netsplit = off +allow_subscribe_during_netsplit = off +allow_unsubscribe_during_netsplit = off +allow_multiple_sessions = off +coordinate_registrations = on +max_inflight_messages = 20 +max_online_messages = 1000 +max_offline_messages = 1000 +max_message_size = 0 +upgrade_outgoing_qos = off +listener.max_connections = 10000 +listener.nr_of_acceptors = 10 +listener.tcp.default = 127.0.0.1:1883 +listener.wss.keyfile = /vernemq/server.key +listener.wss.certfile = /vernemq/server.crt +listener.wss.default = 0.0.0.0:9002 +listener.vmq.clustering = 0.0.0.0:44053 +listener.http.default = 127.0.0.1:8888 +listener.ssl.require_certificate = off +listener.wss.require_certificate = off +systree_enabled = on +systree_interval = 20000 +graphite_enabled = off +graphite_host = localhost +graphite_port = 2003 +graphite_interval = 20000 +shared_subscription_policy = prefer_local +plugins.vmq_passwd = on +plugins.vmq_acl = on +plugins.vmq_diversity = off +plugins.vmq_webhooks = off +plugins.vmq_bridge = off +metadata_plugin = vmq_plumtree +vmq_acl.acl_file = ./etc/vmq.acl +vmq_acl.acl_reload_interval = 10 +vmq_passwd.password_file = ./etc/vmq.passwd +vmq_passwd.password_reload_interval = 10 +vmq_diversity.script_dir = ./share/lua +vmq_diversity.auth_postgres.enabled = off +vmq_diversity.postgres.ssl = off +vmq_diversity.postgres.password_hash_method = crypt +vmq_diversity.auth_cockroachdb.enabled = off +vmq_diversity.cockroachdb.ssl = on +vmq_diversity.cockroachdb.password_hash_method = bcrypt +vmq_diversity.auth_mysql.enabled = off +vmq_diversity.mysql.password_hash_method = password +vmq_diversity.auth_mongodb.enabled = off +vmq_diversity.mongodb.ssl = off +vmq_diversity.auth_redis.enabled = off +vmq_bcrypt.pool_size = 1 +log.console = file +log.console.level = info +log.console.file = ./log/console.log +log.error.file = ./log/error.log +log.syslog = off +log.crash = on +log.crash.file = ./log/crash.log +log.crash.maximum_message_size = 64KB +log.crash.size = 10MB +log.crash.rotation = $D0 +log.crash.rotation.keep = 5 +nodename = VerneMQ@127.0.0.1 +distributed_cookie = vmq +erlang.async_threads = 64 +erlang.max_ports = 262144 +leveldb.maximum_memory.percent = 70 diff --git a/build_external/scenarios/gaps_hi/child-compose.yml b/build_external/scenarios/gaps_hi/child-compose.yml new file mode 100644 index 0000000..2ca306f --- /dev/null +++ b/build_external/scenarios/gaps_hi/child-compose.yml @@ -0,0 +1,13 @@ +version: '3.3' +services: + agent_child: + image: debian_10_dev + command: /usr/sbin/netdata -D + #ports: + #- 21002+:19999 + volumes: + - ./child_stream.conf:/etc/netdata/stream.conf:ro + #- ./child_guid:/var/lib/netdata/registry/netdata.public.unique.id:ro + - ./min.conf:/etc/netdata/netdata.conf:ro + cap_add: + - SYS_PTRACE diff --git a/build_external/scenarios/gaps_hi/child_guid b/build_external/scenarios/gaps_hi/child_guid new file mode 100644 index 0000000..670f7c2 --- /dev/null +++ b/build_external/scenarios/gaps_hi/child_guid @@ -0,0 +1 @@ +22222222-2222-2222-2222-222222222222
\ No newline at end of file diff --git a/build_external/scenarios/gaps_hi/child_stream.conf b/build_external/scenarios/gaps_hi/child_stream.conf new file mode 100644 index 0000000..2218c68 --- /dev/null +++ b/build_external/scenarios/gaps_hi/child_stream.conf @@ -0,0 +1,11 @@ +[stream] + enabled = yes +# destination = tcp:agent_middle + destination = tcp:192.168.1.2 + api key = 00000000-0000-0000-0000-000000000000 + timeout seconds = 60 + default port = 19999 + send charts matching = * + buffer size bytes = 10485760 + reconnect delay seconds = 5 + initial clock resync iterations = 60 diff --git a/build_external/scenarios/gaps_hi/middle-compose.yml b/build_external/scenarios/gaps_hi/middle-compose.yml new file mode 100644 index 0000000..c316164 --- /dev/null +++ b/build_external/scenarios/gaps_hi/middle-compose.yml @@ -0,0 +1,13 @@ +version: '3.3' +services: + agent_middle: + image: debian_10_dev + command: /usr/sbin/netdata -D + ports: + - 21001:19999 + volumes: + - ./middle_stream.conf:/etc/netdata/stream.conf:ro + - ./middle_guid:/var/lib/netdata/registry/netdata.public.unique.id:ro + - ./min.conf:/etc/netdata/netdata.conf:ro + cap_add: + - SYS_PTRACE diff --git a/build_external/scenarios/gaps_hi/middle_guid b/build_external/scenarios/gaps_hi/middle_guid new file mode 100644 index 0000000..f8a43c2 --- /dev/null +++ b/build_external/scenarios/gaps_hi/middle_guid @@ -0,0 +1 @@ +11111111-1111-1111-1111-111111111111
\ No newline at end of file diff --git a/build_external/scenarios/gaps_hi/middle_stream.conf b/build_external/scenarios/gaps_hi/middle_stream.conf new file mode 100644 index 0000000..132eaa1 --- /dev/null +++ b/build_external/scenarios/gaps_hi/middle_stream.conf @@ -0,0 +1,23 @@ +[stream] + enabled = yes + destination = tcp:agent_parent + api key = 00000000-0000-0000-0000-000000000000 + timeout seconds = 60 + default port = 19999 + + send charts matching = * + buffer size bytes = 1048576 + reconnect delay seconds = 5 + initial clock resync iterations = 60 + +[00000000-0000-0000-0000-000000000000] + enabled = yes + allow from = * + default history = 3600 + # default memory mode = ram + + health enabled by default = auto + + # postpone alarms for a short period after the sender is connected + default postpone alarms on connect seconds = 60 + multiple connections = allow diff --git a/build_external/scenarios/gaps_hi/min.conf b/build_external/scenarios/gaps_hi/min.conf new file mode 100644 index 0000000..83fa23e --- /dev/null +++ b/build_external/scenarios/gaps_hi/min.conf @@ -0,0 +1,6 @@ +[global] + debug flags = 0x0000000040000000 + errors flood protection period = 0 +[web] + ssl key = /etc/netdata/ssl/key.pem + ssl certificate = /etc/netdata/ssl/cert.pem diff --git a/build_external/scenarios/gaps_hi/parent-compose.yml b/build_external/scenarios/gaps_hi/parent-compose.yml new file mode 100644 index 0000000..2944bbc --- /dev/null +++ b/build_external/scenarios/gaps_hi/parent-compose.yml @@ -0,0 +1,13 @@ +version: '3.3' +services: + agent_parent: + image: debian_10_dev + command: /usr/sbin/netdata -D + ports: + - 21000:19999 + volumes: + - ./parent_stream.conf:/etc/netdata/stream.conf:ro + - ./parent_guid:/var/lib/netdata/registry/netdata.public.unique.id:ro + - ./min.conf:/etc/netdata/netdata.conf:ro + cap_add: + - SYS_PTRACE diff --git a/build_external/scenarios/gaps_hi/parent_guid b/build_external/scenarios/gaps_hi/parent_guid new file mode 100644 index 0000000..fee6f32 --- /dev/null +++ b/build_external/scenarios/gaps_hi/parent_guid @@ -0,0 +1 @@ +00000000-0000-0000-0000-000000000000
\ No newline at end of file diff --git a/build_external/scenarios/gaps_hi/parent_stream.conf b/build_external/scenarios/gaps_hi/parent_stream.conf new file mode 100644 index 0000000..600a9fa --- /dev/null +++ b/build_external/scenarios/gaps_hi/parent_stream.conf @@ -0,0 +1,11 @@ +[00000000-0000-0000-0000-000000000000] + enabled = yes + allow from = * + default history = 3600 + default memory mode = dbengine + health enabled by default = no + + # postpone alarms for a short period after the sender is connected + default postpone alarms on connect seconds = 60 + multiple connections = allow + diff --git a/build_external/scenarios/gaps_lo/child-compose.yml b/build_external/scenarios/gaps_lo/child-compose.yml new file mode 100644 index 0000000..dee06f2 --- /dev/null +++ b/build_external/scenarios/gaps_lo/child-compose.yml @@ -0,0 +1,14 @@ +version: '3.3' +services: + agent_child: + image: arch_extras_dev + #command: /usr/sbin/valgrind --leak-check=full /usr/sbin/netdata -D + command: /usr/sbin/netdata -D # gdb does not like valgrind ! + #ports: + #- 21002:19999 + volumes: + - ./child_stream.conf:/etc/netdata/stream.conf:ro + # - ./child_guid:/var/lib/netdata/registry/netdata.public.unique.id:ro + - ./mostly_off.conf:/etc/netdata/netdata.conf:ro + cap_add: + - SYS_PTRACE diff --git a/build_external/scenarios/gaps_lo/child_guid b/build_external/scenarios/gaps_lo/child_guid new file mode 100644 index 0000000..670f7c2 --- /dev/null +++ b/build_external/scenarios/gaps_lo/child_guid @@ -0,0 +1 @@ +22222222-2222-2222-2222-222222222222
\ No newline at end of file diff --git a/build_external/scenarios/gaps_lo/child_stream.conf b/build_external/scenarios/gaps_lo/child_stream.conf new file mode 100644 index 0000000..00bcdfa --- /dev/null +++ b/build_external/scenarios/gaps_lo/child_stream.conf @@ -0,0 +1,11 @@ +[stream] + # Enable this on child nodes, to have them send metrics. + enabled = yes + destination = tcp:192.168.1.2 + api key = 00000000-0000-0000-0000-000000000000 + timeout seconds = 60 + default port = 19999 + send charts matching = * + buffer size bytes = 1048576 + reconnect delay seconds = 5 + initial clock resync iterations = 60 diff --git a/build_external/scenarios/gaps_lo/middle-compose.yml b/build_external/scenarios/gaps_lo/middle-compose.yml new file mode 100644 index 0000000..f94e1fe --- /dev/null +++ b/build_external/scenarios/gaps_lo/middle-compose.yml @@ -0,0 +1,14 @@ +version: '3.3' +services: + agent_middle: + image: arch_extras_dev + #command: /usr/sbin/valgrind --leak-check=full /usr/sbin/netdata -D + command: /usr/sbin/netdata -D + ports: + - 21001:19999 + volumes: + - ./middle_stream.conf:/etc/netdata/stream.conf:ro + - ./middle_guid:/var/lib/netdata/registry/netdata.public.unique.id:ro + - ./mostly_off.conf:/etc/netdata/netdata.conf:ro + cap_add: + - SYS_PTRACE diff --git a/build_external/scenarios/gaps_lo/middle_guid b/build_external/scenarios/gaps_lo/middle_guid new file mode 100644 index 0000000..f8a43c2 --- /dev/null +++ b/build_external/scenarios/gaps_lo/middle_guid @@ -0,0 +1 @@ +11111111-1111-1111-1111-111111111111
\ No newline at end of file diff --git a/build_external/scenarios/gaps_lo/middle_stream.conf b/build_external/scenarios/gaps_lo/middle_stream.conf new file mode 100644 index 0000000..3e52e83 --- /dev/null +++ b/build_external/scenarios/gaps_lo/middle_stream.conf @@ -0,0 +1,20 @@ +[stream] + enabled = yes + destination = tcp:agent_parent + api key = 00000000-0000-0000-0000-000000000000 + timeout seconds = 60 + default port = 19999 + send charts matching = * + buffer size bytes = 1048576 + reconnect delay seconds = 5 + initial clock resync iterations = 60 + +[00000000-0000-0000-0000-000000000000] + enabled = yes + allow from = * + default history = 3600 + # default memory mode = ram + health enabled by default = auto + # postpone alarms for a short period after the sender is connected + default postpone alarms on connect seconds = 60 + multiple connections = allow diff --git a/build_external/scenarios/gaps_lo/mostly_off.conf b/build_external/scenarios/gaps_lo/mostly_off.conf new file mode 100644 index 0000000..079fef0 --- /dev/null +++ b/build_external/scenarios/gaps_lo/mostly_off.conf @@ -0,0 +1,964 @@ +# netdata configuration +# +# You can download the latest version of this file, using: +# +# wget -O /etc/netdata/netdata.conf http://localhost:19999/netdata.conf +# or +# curl -o /etc/netdata/netdata.conf http://localhost:19999/netdata.conf +# +# You can uncomment and change any of the options below. +# The value shown in the commented settings, is the default value. +# + +# global netdata configuration + +[global] +debug flags = 0x0000000040000000 +errors flood protection period = 0 + +[plugins] + diskspace = no + cgroups = no + tc = no + idlejitter = no + ioping = no + apps = no + go.d = no + perf = no + fping = no + python.d = no + charts.d = no + nfacct = no + cups = no + freeipmi = no + +[health] +enabled = no + +[statsd] +enabled = no + +[plugin:proc] + /proc/uptime = yes + /proc/loadavg = no + /proc/sys/kernel/random/entropy_avail = no + /proc/pressure = no + /proc/interrupts = no + /proc/softirqs = no + /proc/vmstat = no + /proc/meminfo = no + /sys/kernel/mm/ksm = no + /sys/block/zram = no + /sys/devices/system/edac/mc = no + /sys/devices/system/node = no + /proc/net/dev = no + /proc/net/sockstat = no + /proc/net/sockstat6 = no + /proc/net/netstat = no + /proc/net/snmp = no + /proc/net/snmp6 = no + /proc/net/sctp/snmp = no + /proc/net/softnet_stat = no + /proc/net/ip_vs/stats = no + /proc/net/stat/conntrack = no + /proc/net/stat/synproxy = no + /proc/diskstats = no + /proc/mdstat = no + /proc/net/rpc/nfsd = no + /proc/net/rpc/nfs = no + /proc/spl/kstat/zfs/arcstats = no + /sys/fs/btrfs = no + ipc = no + /sys/class/power_supply = no + + +[plugin:proc:/proc/net/dev:docker0] +enabled = no + +[plugin:proc:/proc/net/dev:br-b87e56f878f1] +enabled = no + +[plugin:proc:/proc/net/dev:enp4s0] +enabled = no + +[plugin:proc:/proc/net/stat/nf_conntrack] +filename to monitor = /proc/net/stat/nf_conntrack +netfilter new connections = no +netfilter connection changes = no +netfilter connection expectations = no +netfilter connection searches = no +netfilter errors = no +netfilter connections = no + +[system.idlejitter] +enabled = no + +[netdata.statsd_metrics] +enabled = no + +[netdata.statsd_useful_metrics] +enabled = no + +[netdata.statsd_events] +enabled = no + +[netdata.statsd_reads] +enabled = no + +[netdata.statsd_bytes] +enabled = no + +[netdata.statsd_packets] +enabled = no + +[netdata.tcp_connects] +enabled = no + +[netdata.tcp_connected] +enabled = no + +[netdata.private_charts] +enabled = no + +[netdata.plugin_statsd_charting_cpu] +enabled = no + +[netdata.plugin_statsd_collector1_cpu] +enabled = no + +[netdata.plugin_tc_cpu] +enabled = no + +[netdata.plugin_tc_time] +enabled = no + +[netdata.runtime_sensors] +enabled = no + +[sensors.coretemp-isa-0000_temperature] +enabled = no + +[sensors.acpitz-acpi-0_temperature] +enabled = no + +[system.cpu] +enabled = yes + +[disk_space._dev] +enabled = no + +[netdata.plugin_cgroups_cpu] +enabled = no + +[netdata.apps_cpu] +enabled = no + +[netdata.apps_sizes] +enabled = no + +[netdata.apps_fix] +enabled = no + +[netdata.apps_children_fix] +enabled = no + +[apps.cpu] +enabled = no + +[apps.mem] +enabled = no + +[apps.vmem] +enabled = no + +[apps.threads] +enabled = no + +[apps.processes] +enabled = no + +[apps.uptime] +enabled = no + +[apps.uptime_min] +enabled = no + +[apps.uptime_avg] +enabled = no + +[apps.uptime_max] +enabled = no + +[apps.cpu_user] +enabled = no + +[apps.cpu_system] +enabled = no + +[apps.swap] +enabled = no + +[apps.major_faults] +enabled = no + +[apps.minor_faults] +enabled = no + +[apps.preads] +enabled = no + +[apps.pwrites] +enabled = no + +[apps.lreads] +enabled = no + +[apps.lwrites] +enabled = no + +[apps.files] +enabled = no + +[apps.sockets] +enabled = no + +[apps.pipes] +enabled = no + +[users.cpu] +enabled = no + +[users.mem] +enabled = no + +[users.vmem] +enabled = no + +[users.threads] +enabled = no + +[users.processes] +enabled = no + +[users.uptime] +enabled = no + +[users.uptime_min] +enabled = no + +[users.uptime_avg] +enabled = no + +[users.uptime_max] +enabled = no + +[users.cpu_user] +enabled = no + +[users.cpu_system] +enabled = no + +[users.swap] +enabled = no + +[users.major_faults] +enabled = no + +[users.minor_faults] +enabled = no + +[users.preads] +enabled = no + +[users.pwrites] +enabled = no + +[users.lreads] +enabled = no + +[users.lwrites] +enabled = no + +[users.files] +enabled = no + +[users.sockets] +enabled = no + +[users.pipes] +enabled = no + +[groups.cpu] +enabled = no + +[groups.mem] +enabled = no + +[groups.vmem] +enabled = no + +[groups.threads] +enabled = no + +[groups.processes] +enabled = no + +[groups.uptime] +enabled = no + +[groups.uptime_min] +enabled = no + +[groups.uptime_avg] +enabled = no + +[groups.uptime_max] +enabled = no + +[groups.cpu_user] +enabled = no + +[groups.cpu_system] +enabled = no + +[groups.swap] +enabled = no + +[groups.major_faults] +enabled = no + +[groups.minor_faults] +enabled = no + +[groups.preads] +enabled = no + +[groups.pwrites] +enabled = no + +[groups.lreads] +enabled = no + +[groups.lwrites] +enabled = no + +[groups.files] +enabled = no + +[groups.sockets] +enabled = no + +[groups.pipes] +enabled = no + +[netdata.web_thread4_cpu] +enabled = no + +[netdata.web_thread2_cpu] +enabled = no + +[netdata.web_thread5_cpu] +enabled = no + +[netdata.web_thread3_cpu] +enabled = no + +[netdata.web_thread6_cpu] +enabled = no + +[netdata.web_thread1_cpu] +enabled = no + +[disk_inodes._dev] +enabled = no + +[disk_space._run] +enabled = no + +[disk_inodes._run] +enabled = no + +[disk_space._] +enabled = no + +[disk_inodes._] +enabled = no + +[disk_space._dev_shm] +enabled = no + +[disk_inodes._dev_shm] +enabled = no + +[disk_space._run_lock] +enabled = no + +[disk_inodes._run_lock] +enabled = no + +[disk_space._home] +enabled = no + +[disk_inodes._home] +enabled = no + +[disk_space._boot_efi] +enabled = no + +[disk_space._media_amoss_deb10] +enabled = no + +[netdata.plugin_diskspace] +enabled = no + +[netdata.plugin_diskspace_dt] +enabled = no + +[cpu.cpu0] +enabled = no + +[cpu.cpu1] +enabled = no + +[cpu.cpu2] +enabled = no + +[cpu.cpu3] +enabled = no + +[cpu.cpu4] +enabled = no + +[cpu.cpu5] +enabled = no + +[cpu.cpu6] +enabled = no + +[cpu.cpu7] +enabled = no + +[system.intr] +enabled = no + +[system.ctxt] +enabled = no + +[system.forks] +enabled = no + +[system.processes] +enabled = no + +[cpu.core_throttling] +enabled = no + +[cpu.cpufreq] +enabled = no + +[cpu.cpu0_cpuidle] +enabled = no + +[cpu.cpu1_cpuidle] +enabled = no + +[cpu.cpu2_cpuidle] +enabled = no + +[cpu.cpu3_cpuidle] +enabled = no + +[cpu.cpu4_cpuidle] +enabled = no + +[cpu.cpu5_cpuidle] +enabled = no + +[cpu.cpu6_cpuidle] +enabled = no + +[cpu.cpu7_cpuidle] +enabled = no + +[system.uptime] +enabled = yes + +[system.load] +enabled = no + +[system.active_processes] +enabled = no + +[system.entropy] +enabled = no + +[system.interrupts] +enabled = no + +[cpu.cpu0_interrupts] +enabled = no + +[cpu.cpu1_interrupts] +enabled = no + +[cpu.cpu2_interrupts] +enabled = no + +[cpu.cpu3_interrupts] +enabled = no + +[cpu.cpu4_interrupts] +enabled = no + +[cpu.cpu5_interrupts] +enabled = no + +[cpu.cpu6_interrupts] +enabled = no + +[cpu.cpu7_interrupts] +enabled = no + +[system.softirqs] +enabled = no + +[cpu.cpu0_softirqs] +enabled = no + +[cpu.cpu1_softirqs] +enabled = no + +[cpu.cpu2_softirqs] +enabled = no + +[cpu.cpu3_softirqs] +enabled = no + +[cpu.cpu4_softirqs] +enabled = no + +[cpu.cpu5_softirqs] +enabled = no + +[cpu.cpu6_softirqs] +enabled = no + +[cpu.cpu7_softirqs] +enabled = no + +[system.swapio] +enabled = no + +[system.pgpgio] +enabled = no + +[mem.pgfaults] +enabled = no + +[system.ram] +enabled = no + +[mem.available] +enabled = no + +[system.swap] +enabled = no + +[mem.committed] +enabled = no + +[mem.writeback] +enabled = no + +[mem.kernel] +enabled = no + +[mem.slab] +enabled = no + +[mem.transparent_hugepages] +enabled = no + +[net.docker0] +enabled = no + +[net_packets.docker0] +enabled = no + +[net.br-b87e56f878f1] +enabled = no + +[net_packets.br-b87e56f878f1] +enabled = no + +[net.enp4s0] +enabled = no + +[net_packets.enp4s0] +enabled = no + +[system.net] +enabled = no + +[ipv4.sockstat_sockets] +enabled = no + +[ipv4.sockstat_tcp_sockets] +enabled = no + +[ipv4.sockstat_tcp_mem] +enabled = no + +[ipv4.sockstat_udp_sockets] +enabled = no + +[ipv4.sockstat_udp_mem] +enabled = no + +[ipv4.sockstat_raw_sockets] +enabled = no + +[ipv6.sockstat6_tcp_sockets] +enabled = no + +[ipv6.sockstat6_udp_sockets] +enabled = no + +[ip.tcpconnaborts] +enabled = no + +[ip.tcpreorders] +enabled = no + +[ip.tcpofo] +enabled = no + +[system.ip] +enabled = no + +[ip.inerrors] +enabled = no + +[ip.mcast] +enabled = no + +[ip.bcast] +enabled = no + +[ip.mcastpkts] +enabled = no + +[ip.bcastpkts] +enabled = no + +[ip.ecnpkts] +enabled = no + +[ipv4.packets] +enabled = no + +[ipv4.fragsin] +enabled = no + +[ipv4.errors] +enabled = no + +[ipv4.icmp] +enabled = no + +[ipv4.icmp_errors] +enabled = no + +[ipv4.icmpmsg] +enabled = no + +[ipv4.tcpsock] +enabled = no + +[ipv4.tcppackets] +enabled = no + +[ipv4.tcperrors] +enabled = no + +[ipv4.tcpopens] +enabled = no + +[ipv4.tcphandshake] +enabled = no + +[ipv4.udppackets] +enabled = no + +[ipv4.udperrors] +enabled = no + +[system.ipv6] +enabled = no + +[ipv6.packets] +enabled = no + +[ipv6.errors] +enabled = no + +[ipv6.udppackets] +enabled = no + +[ipv6.udperrors] +enabled = no + +[ipv6.mcast] +enabled = no + +[ipv6.mcastpkts] +enabled = no + +[ipv6.icmp] +enabled = no + +[ipv6.icmperrors] +enabled = no + +[ipv6.icmprouter] +enabled = no + +[ipv6.icmpneighbor] +enabled = no + +[ipv6.icmpmldv2] +enabled = no + +[ipv6.icmptypes] +enabled = no + +[ipv6.ect] +enabled = no + +[system.softnet_stat] +enabled = no + +[cpu.cpu0_softnet_stat] +enabled = no + +[cpu.cpu1_softnet_stat] +enabled = no + +[cpu.cpu2_softnet_stat] +enabled = no + +[cpu.cpu3_softnet_stat] +enabled = no + +[cpu.cpu4_softnet_stat] +enabled = no + +[cpu.cpu5_softnet_stat] +enabled = no + +[cpu.cpu6_softnet_stat] +enabled = no + +[cpu.cpu7_softnet_stat] +enabled = no + +[netfilter.conntrack_sockets] +enabled = no + +[netfilter.conntrack_new] +enabled = no + +[netfilter.conntrack_changes] +enabled = no + +[netfilter.conntrack_expect] +enabled = no + +[netfilter.conntrack_search] +enabled = no + +[netfilter.conntrack_errors] +enabled = no + +[disk.sda] +enabled = no + +[disk_ops.sda] +enabled = no + +[disk_backlog.sda] +enabled = no + +[disk_util.sda] +enabled = no + +[disk_iotime.sda] +enabled = no + +[disk.sdb] +enabled = no + +[disk_ops.sdb] +enabled = no + +[disk_backlog.sdb] +enabled = no + +[disk_util.sdb] +enabled = no + +[disk_mops.sdb] +enabled = no + +[disk_iotime.sdb] +enabled = no + +[disk.sdc] +enabled = no + +[disk_ops.sdc] +enabled = no + +[disk_backlog.sdc] +enabled = no + +[disk_util.sdc] +enabled = no + +[disk_mops.sdc] +enabled = no + +[disk_iotime.sdc] +enabled = no + +[system.io] +enabled = no + +[system.ipc_semaphores] +enabled = no + +[system.ipc_semaphore_arrays] +enabled = no + +[system.shared_memory_segments] +enabled = no + +[system.shared_memory_bytes] +enabled = no + +[netdata.plugin_proc_modules] +enabled = no + +[netdata.plugin_proc_cpu] +enabled = no + +[netdata.server_cpu] +enabled = no + +[netdata.clients] +enabled = no + +[netdata.requests] +enabled = no + +[netdata.net] +enabled = no + +[netdata.response_time] +enabled = no + +[netdata.compression_ratio] +enabled = no + +[netdata.dbengine_compression_ratio] +enabled = no + +[netdata.page_cache_hit_ratio] +enabled = no + +[netdata.page_cache_stats] +enabled = no + +[netdata.dbengine_long_term_page_stats] +enabled = no + +[netdata.dbengine_io_throughput] +enabled = no + +[netdata.dbengine_io_operations] +enabled = no + +[netdata.dbengine_global_errors] +enabled = no + +[netdata.dbengine_global_file_descriptors] +enabled = no + +[netdata.dbengine_ram] +enabled = no + +[disk_await.sda] +enabled = no + +[disk_avgsz.sda] +enabled = no + +[disk_svctm.sda] +enabled = no + +[disk_await.sdb] +enabled = no + +[disk_avgsz.sdb] +enabled = no + +[disk_svctm.sdb] +enabled = no + +[disk_await.sdc] +enabled = no + +[disk_avgsz.sdc] +enabled = no + +[disk_svctm.sdc] +enabled = no + +[netdata.queries] +enabled = no + +[netdata.db_points] +enabled = no + +[services.cpu] +enabled = no + +[services.mem_usage] +enabled = no + +[services.throttle_io_read] +enabled = no + +[services.throttle_io_write] +enabled = no + +[services.throttle_io_ops_read] +enabled = no + +[services.throttle_io_ops_write] +enabled = no + +[netfilter.netlink_new] +enabled = no + +[netfilter.netlink_changes] +enabled = no + +[netfilter.netlink_search] +enabled = no + +[netfilter.netlink_errors] +enabled = no + +[netfilter.netlink_expect] +enabled = no diff --git a/build_external/scenarios/gaps_lo/parent-compose.yml b/build_external/scenarios/gaps_lo/parent-compose.yml new file mode 100644 index 0000000..e7baad2 --- /dev/null +++ b/build_external/scenarios/gaps_lo/parent-compose.yml @@ -0,0 +1,13 @@ +version: '3.3' +services: + agent_parent: + image: debian_10_dev + command: /usr/sbin/netdata -D + ports: + - 21000:19999 + volumes: + - ./parent_stream.conf:/etc/netdata/stream.conf:ro + - ./parent_guid:/var/lib/netdata/registry/netdata.public.unique.id:ro + - ./mostly_off.conf:/etc/netdata/netdata.conf:ro + cap_add: + - SYS_PTRACE diff --git a/build_external/scenarios/gaps_lo/parent_guid b/build_external/scenarios/gaps_lo/parent_guid new file mode 100644 index 0000000..fee6f32 --- /dev/null +++ b/build_external/scenarios/gaps_lo/parent_guid @@ -0,0 +1 @@ +00000000-0000-0000-0000-000000000000
\ No newline at end of file diff --git a/build_external/scenarios/gaps_lo/parent_stream.conf b/build_external/scenarios/gaps_lo/parent_stream.conf new file mode 100644 index 0000000..99611cc --- /dev/null +++ b/build_external/scenarios/gaps_lo/parent_stream.conf @@ -0,0 +1,12 @@ +[00000000-0000-0000-0000-000000000000] + enabled = yes + allow from = * + default history = 3600 + # default memory mode = ram + + health enabled by default = auto + + # postpone alarms for a short period after the sender is connected + default postpone alarms on connect seconds = 60 + multiple connections = allow + diff --git a/build_external/scenarios/only-agent/docker-compose.yml b/build_external/scenarios/only-agent/docker-compose.yml new file mode 100644 index 0000000..eb1386f --- /dev/null +++ b/build_external/scenarios/only-agent/docker-compose.yml @@ -0,0 +1,8 @@ +version: '3' +services: + agent: + image: ${Distro}_${Version}_dev + command: /usr/sbin/netdata -D + ports: + - 80 + - 443 diff --git a/build_external/scenarios/parent-child/child_stream.conf b/build_external/scenarios/parent-child/child_stream.conf new file mode 100644 index 0000000..7348f8c --- /dev/null +++ b/build_external/scenarios/parent-child/child_stream.conf @@ -0,0 +1,10 @@ +[stream] + enabled = yes + destination = tcp:agent_parent + api key = 00000000-0000-0000-0000-000000000000 + timeout seconds = 60 + default port = 19999 + send charts matching = * + buffer size bytes = 1048576 + reconnect delay seconds = 5 + initial clock resync iterations = 60 diff --git a/build_external/scenarios/parent-child/docker-compose.yml b/build_external/scenarios/parent-child/docker-compose.yml new file mode 100644 index 0000000..ed6df15 --- /dev/null +++ b/build_external/scenarios/parent-child/docker-compose.yml @@ -0,0 +1,23 @@ +version: '3.3' +services: + agent_parent: + image: debian_10_dev + command: /usr/sbin/netdata -D + ports: + - 20000:19999 + volumes: + - ./parent_stream.conf:/etc/netdata/stream.conf:ro + agent_child1: + image: debian_9_dev + command: /usr/sbin/netdata -D + #ports: Removed to allow scaling + #- 20001:19999 + volumes: + - ./child_stream.conf:/etc/netdata/stream.conf:ro + agent_child2: + image: fedora_30_dev + command: /usr/sbin/netdata -D + #ports: Removed to allow scaling + #- 20002:19999 + volumes: + - ./child_stream.conf:/etc/netdata/stream.conf:ro diff --git a/build_external/scenarios/parent-child/parent_stream.conf b/build_external/scenarios/parent-child/parent_stream.conf new file mode 100644 index 0000000..bf85ae2 --- /dev/null +++ b/build_external/scenarios/parent-child/parent_stream.conf @@ -0,0 +1,7 @@ +[00000000-0000-0000-0000-000000000000] + enabled = yes + allow from = * + default history = 3600 + health enabled by default = auto + default postpone alarms on connect seconds = 60 + multiple connections = allow |