From patchwork Thu Feb 11 08:09:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?L=C3=A9o_Le_Bouter?= X-Patchwork-Id: 26996 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 648FB27BC25; Thu, 11 Feb 2021 08:11:34 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id D6FBE27BC26 for ; Thu, 11 Feb 2021 08:11:19 +0000 (GMT) Received: from localhost ([::1]:34706 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lA74J-0002BJ-04 for patchwork@mira.cbaines.net; Thu, 11 Feb 2021 03:11:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59184) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lA742-0002AI-Ui for guix-patches@gnu.org; Thu, 11 Feb 2021 03:11:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:46102) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lA742-0003pX-N1 for guix-patches@gnu.org; Thu, 11 Feb 2021 03:11:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lA742-00024S-GM for guix-patches@gnu.org; Thu, 11 Feb 2021 03:11:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#46435] [PATCH] gnu: Add netdata. Resent-From: =?utf-8?q?L=C3=A9o?= Le Bouter Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Feb 2021 08:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 46435 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 46435@debbugs.gnu.org Cc: =?utf-8?q?L=C3=A9o?= Le Bouter X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16130310137880 (code B ref -1); Thu, 11 Feb 2021 08:11:02 +0000 Received: (at submit) by debbugs.gnu.org; 11 Feb 2021 08:10:13 +0000 Received: from localhost ([127.0.0.1]:57646 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lA73F-000232-19 for submit@debbugs.gnu.org; Thu, 11 Feb 2021 03:10:13 -0500 Received: from lists.gnu.org ([209.51.188.17]:36288) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lA73D-00022u-KK for submit@debbugs.gnu.org; Thu, 11 Feb 2021 03:10:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59056) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lA73D-00021O-EZ for guix-patches@gnu.org; Thu, 11 Feb 2021 03:10:11 -0500 Received: from mail.zaclys.net ([178.33.93.72]:46641) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lA736-0003Go-P1 for guix-patches@gnu.org; Thu, 11 Feb 2021 03:10:10 -0500 Received: from localhost.localdomain (82-64-145-38.subs.proxad.net [82.64.145.38]) (authenticated bits=0) by mail.zaclys.net (8.14.7/8.14.7) with ESMTP id 11B89uEB032246 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Thu, 11 Feb 2021 09:10:00 +0100 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.zaclys.net 11B89uEB032246 Authentication-Results: mail.zaclys.net; dmarc=fail (p=reject dis=none) header.from=zaclys.net Authentication-Results: mail.zaclys.net; spf=fail smtp.mailfrom=lle-bout@zaclys.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zaclys.net; s=default; t=1613031001; bh=KQMCaITECmTK5sDwu0Zk5AA6sdOTY/LS3ceUsWCDDiw=; h=From:To:Cc:Subject:Date:From; b=SAzZ/UkHflkLznAYOWLVEGS6uIhNKn7wBSQmCKGq8VvlsgU8wBZmxUVF9a50ujDAi DvMbo2uSuYrl+N/l1yr/hXJoSYqJ1ou5E0qSsw1tX27qxt7owSDvm8xGcsXr7a+vxx YSm5zeip+Gy15frvDG/lw714LrYrWAkHhLsw0LSI= Date: Thu, 11 Feb 2021 09:09:44 +0100 Message-Id: <20210211080944.11165-1-lle-bout@zaclys.net> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Received-SPF: pass client-ip=178.33.93.72; envelope-from=lle-bout@zaclys.net; helo=mail.zaclys.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: =?utf-8?q?L=C3=A9o?= Le Bouter X-ACL-Warn: , =?utf-8?q?L=C3=A9o?= Le Bouter via Guix-patches X-Patchwork-Original-From: =?utf-8?q?L=C3=A9o?= Le Bouter via Guix-patches via From: =?utf-8?q?L=C3=A9o_Le_Bouter?= X-getmail-retrieved-from-mailbox: Patches * gnu/packages/monitoring.scm (netdata): New variable. * gnu/packages/patches/netdata-0001-use-system-python.patch, gnu/packages/patches/netdata-0002-use-system-exim4.patch, gnu/packages/patches/netdata-0003-use-python3.patch, gnu/packages/patches/netdata-0004-use-sh.patch, gnu/packages/patches/netdata-0005-use-bash.patch, gnu/packages/patches/netdata-no-files-in-etc-and-var.patch, gnu/packages/patches/netdata-web-remove-antifeatures-spyware.patch: New patches. * gnu/local.mk (dist_patch_DATA): Register them. --- gnu/local.mk | 7 + gnu/packages/monitoring.scm | 106 + .../netdata-0001-use-system-python.patch | 131 + .../netdata-0002-use-system-exim4.patch | 12 + .../patches/netdata-0003-use-python3.patch | 29 + .../patches/netdata-0004-use-sh.patch | 12 + .../patches/netdata-0005-use-bash.patch | 13 + .../netdata-no-files-in-etc-and-var.patch | 129 + ...data-web-remove-antifeatures-spyware.patch | 4466 +++++++++++++++++ 9 files changed, 4905 insertions(+) create mode 100644 gnu/packages/patches/netdata-0001-use-system-python.patch create mode 100644 gnu/packages/patches/netdata-0002-use-system-exim4.patch create mode 100644 gnu/packages/patches/netdata-0003-use-python3.patch create mode 100644 gnu/packages/patches/netdata-0004-use-sh.patch create mode 100644 gnu/packages/patches/netdata-0005-use-bash.patch create mode 100644 gnu/packages/patches/netdata-no-files-in-etc-and-var.patch create mode 100644 gnu/packages/patches/netdata-web-remove-antifeatures-spyware.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8a31bfef64..8d1e6a6fa5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1388,6 +1388,13 @@ dist_patch_DATA = \ %D%/packages/patches/m4-gnulib-libio.patch \ %D%/packages/patches/ncompress-fix-softlinks.patch \ %D%/packages/patches/netcdf-date-time.patch \ + %D%/packages/patches/netdata-0001-use-system-python.patch \ + %D%/packages/patches/netdata-0002-use-system-exim4.patch \ + %D%/packages/patches/netdata-0003-use-python3.patch \ + %D%/packages/patches/netdata-0004-use-sh.patch \ + %D%/packages/patches/netdata-0005-use-bash.patch \ + %D%/packages/patches/netdata-no-files-in-etc-and-var.patch \ + %D%/packages/patches/netdata-web-remove-antifeatures-spyware.patch %D%/packages/patches/netpbm-CVE-2017-2586.patch \ %D%/packages/patches/netpbm-CVE-2017-2587.patch \ %D%/packages/patches/netsurf-message-timestamp.patch \ diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index 75a422921c..b0673c8321 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -41,24 +41,31 @@ #:use-module (gnu packages curl) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages cups) #:use-module (gnu packages databases) + #:use-module (gnu packages disk) #:use-module (gnu packages django) + #:use-module (gnu packages gawk) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) #:use-module (gnu packages image) #:use-module (gnu packages mail) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) + #:use-module (gnu packages node) #:use-module (gnu packages libevent) + #:use-module (gnu packages linux) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages rrdtool) #:use-module (gnu packages time) #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) #:use-module (gnu packages web)) (define-public nagios @@ -575,3 +582,102 @@ future system load (i.e., capacity planning).") ;; license:gpl2 for other plugins (license (list license:expat license:gpl2)))) +(define-public netdata + ;; TODO: Support go plugins, if not more. + (package + (name "netdata") + (version "1.29.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/netdata/netdata") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "137qx7m9h2qk1pcy3i8rf7yk744zi7ps3867psy2r45l7k3flrss")) + (patches + (search-patches + ;; Remove Google Analytics, Google Tag Manager, update popups, + ;; global default registry and Netdata Cloud support (nonfree + ;; service). + "netdata-web-remove-antifeatures-spyware.patch" + ;; From Nix + "netdata-no-files-in-etc-and-var.patch" + ;; From Debian + "netdata-0001-use-system-python.patch" + "netdata-0002-use-system-exim4.patch" + "netdata-0003-use-python3.patch" + "netdata-0004-use-sh.patch" + "netdata-0005-use-bash.patch")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list "--localstatedir=/var" + "--sysconfdir=/etc" + "--disable-cloud") + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-netdata + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program + (string-append (assoc-ref outputs "out") "/sbin/netdata") + `("DO_NOT_TRACK" = (,"1")) + `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))) + `("PATH" ":" prefix ,(map + (lambda (input) + (string-append + (assoc-ref inputs input) + "/bin")) + '("coreutils" "grep" "findutils" "sed" + "dmidecode" "hddtemp" "iproute2" + "iw" "lm-sensors" "netcat" "curl" + "fping" "procps" "which" "gawk" + "node")))) + #t))))) + (native-inputs + `(("git" ,git-minimal) + ("pkg-config" ,pkg-config) + ("protobuf-c" ,protobuf-c) + ("autoconf" ,autoconf) + ("automake" ,automake))) + (inputs + ;; TODO: Add optional libnetfilter-acct + `(("util-linux:lib" ,util-linux "lib") ;; for libuuid + ("libuv" ,libuv) + ("zlib" ,zlib) + ("openssl" ,openssl) + ("lz4" ,lz4) + ("libcap" ,libcap) + ("libmnl" ,libmnl) + ("snappy" ,snappy) + ("cups" ,cups-minimal) + ("python" ,python) + ("python-pyyaml" ,python-pyyaml) + ("python-urllib3" ,python-urllib3) + ("python-six" ,python-six) + ("python-psycopg2" ,python-psycopg2) + ("python-pymysql" ,python-pymysql) + ("python-requests" ,python-requests) + ;; TODO: Add apcupsd + ("coreutils" ,coreutils) + ("grep" ,grep) + ("findutils" ,findutils) + ("sed" ,sed) + ("dmidecode" ,dmidecode) + ("hddtemp" ,hddtemp) + ("iproute2" ,iproute) + ("iw" ,iw) + ("lm-sensors" ,lm-sensors) + ("netcat" ,netcat-openbsd) + ("curl" ,curl) + ("fping" ,fping) + ("procps" ,procps) + ("which" ,which) + ("gawk" ,gawk) + ("node" ,node))) + (home-page "https://www.netdata.cloud/") + (synopsis "Zero-configuration real-time performance monitoring") + (description "Netdata's distributed, real-time monitoring Agent collects +thousands of metrics from systems, hardware, containers, and applications with +zero configuration.") + (license license:gpl3))) diff --git a/gnu/packages/patches/netdata-0001-use-system-python.patch b/gnu/packages/patches/netdata-0001-use-system-python.patch new file mode 100644 index 0000000000..5a14159d52 --- /dev/null +++ b/gnu/packages/patches/netdata-0001-use-system-python.patch @@ -0,0 +1,131 @@ +Author: Lennart Weller +Description: Ignore embedded python modules. + +diff -Naurp netdata.orig/collectors/python.d.plugin/Makefile.am netdata/collectors/python.d.plugin/Makefile.am +--- netdata.orig/collectors/python.d.plugin/Makefile.am ++++ netdata/collectors/python.d.plugin/Makefile.am +@@ -145,109 +145,3 @@ dist_third_party_DATA = \ + python_modules/third_party/monotonic.py \ + python_modules/third_party/filelock.py \ + $(NULL) +- +-pythonyaml2dir=$(pythonmodulesdir)/pyyaml2 +-dist_pythonyaml2_DATA = \ +- python_modules/pyyaml2/__init__.py \ +- python_modules/pyyaml2/composer.py \ +- python_modules/pyyaml2/constructor.py \ +- python_modules/pyyaml2/cyaml.py \ +- python_modules/pyyaml2/dumper.py \ +- python_modules/pyyaml2/emitter.py \ +- python_modules/pyyaml2/error.py \ +- python_modules/pyyaml2/events.py \ +- python_modules/pyyaml2/loader.py \ +- python_modules/pyyaml2/nodes.py \ +- python_modules/pyyaml2/parser.py \ +- python_modules/pyyaml2/reader.py \ +- python_modules/pyyaml2/representer.py \ +- python_modules/pyyaml2/resolver.py \ +- python_modules/pyyaml2/scanner.py \ +- python_modules/pyyaml2/serializer.py \ +- python_modules/pyyaml2/tokens.py \ +- $(NULL) +- +-pythonyaml3dir=$(pythonmodulesdir)/pyyaml3 +-dist_pythonyaml3_DATA = \ +- python_modules/pyyaml3/__init__.py \ +- python_modules/pyyaml3/composer.py \ +- python_modules/pyyaml3/constructor.py \ +- python_modules/pyyaml3/cyaml.py \ +- python_modules/pyyaml3/dumper.py \ +- python_modules/pyyaml3/emitter.py \ +- python_modules/pyyaml3/error.py \ +- python_modules/pyyaml3/events.py \ +- python_modules/pyyaml3/loader.py \ +- python_modules/pyyaml3/nodes.py \ +- python_modules/pyyaml3/parser.py \ +- python_modules/pyyaml3/reader.py \ +- python_modules/pyyaml3/representer.py \ +- python_modules/pyyaml3/resolver.py \ +- python_modules/pyyaml3/scanner.py \ +- python_modules/pyyaml3/serializer.py \ +- python_modules/pyyaml3/tokens.py \ +- $(NULL) +- +-python_urllib3dir=$(pythonmodulesdir)/urllib3 +-dist_python_urllib3_DATA = \ +- python_modules/urllib3/__init__.py \ +- python_modules/urllib3/_collections.py \ +- python_modules/urllib3/connection.py \ +- python_modules/urllib3/connectionpool.py \ +- python_modules/urllib3/exceptions.py \ +- python_modules/urllib3/fields.py \ +- python_modules/urllib3/filepost.py \ +- python_modules/urllib3/response.py \ +- python_modules/urllib3/poolmanager.py \ +- python_modules/urllib3/request.py \ +- $(NULL) +- +-python_urllib3_utildir=$(python_urllib3dir)/util +-dist_python_urllib3_util_DATA = \ +- python_modules/urllib3/util/__init__.py \ +- python_modules/urllib3/util/connection.py \ +- python_modules/urllib3/util/request.py \ +- python_modules/urllib3/util/response.py \ +- python_modules/urllib3/util/retry.py \ +- python_modules/urllib3/util/selectors.py \ +- python_modules/urllib3/util/ssl_.py \ +- python_modules/urllib3/util/timeout.py \ +- python_modules/urllib3/util/url.py \ +- python_modules/urllib3/util/wait.py \ +- $(NULL) +- +-python_urllib3_packagesdir=$(python_urllib3dir)/packages +-dist_python_urllib3_packages_DATA = \ +- python_modules/urllib3/packages/__init__.py \ +- python_modules/urllib3/packages/ordered_dict.py \ +- python_modules/urllib3/packages/six.py \ +- $(NULL) +- +-python_urllib3_backportsdir=$(python_urllib3_packagesdir)/backports +-dist_python_urllib3_backports_DATA = \ +- python_modules/urllib3/packages/backports/__init__.py \ +- python_modules/urllib3/packages/backports/makefile.py \ +- $(NULL) +- +-python_urllib3_ssl_match_hostnamedir=$(python_urllib3_packagesdir)/ssl_match_hostname +-dist_python_urllib3_ssl_match_hostname_DATA = \ +- python_modules/urllib3/packages/ssl_match_hostname/__init__.py \ +- python_modules/urllib3/packages/ssl_match_hostname/_implementation.py \ +- $(NULL) +- +-python_urllib3_contribdir=$(python_urllib3dir)/contrib +-dist_python_urllib3_contrib_DATA = \ +- python_modules/urllib3/contrib/__init__.py \ +- python_modules/urllib3/contrib/appengine.py \ +- python_modules/urllib3/contrib/ntlmpool.py \ +- python_modules/urllib3/contrib/pyopenssl.py \ +- python_modules/urllib3/contrib/securetransport.py \ +- python_modules/urllib3/contrib/socks.py \ +- $(NULL) +- +-python_urllib3_securetransportdir=$(python_urllib3_contribdir)/_securetransport +-dist_python_urllib3_securetransport_DATA = \ +- python_modules/urllib3/contrib/_securetransport/__init__.py \ +- python_modules/urllib3/contrib/_securetransport/bindings.py \ +- python_modules/urllib3/contrib/_securetransport/low_level.py \ +- $(NULL) +diff -Naurp netdata.orig/collectors/python.d.plugin/python_modules/bases/loaders.py netdata/collectors/python.d.plugin/python_modules/bases/loaders.py +--- netdata.orig/collectors/python.d.plugin/python_modules/bases/loaders.py ++++ netdata/collectors/python.d.plugin/python_modules/bases/loaders.py +@@ -9,10 +9,7 @@ from sys import version_info + PY_VERSION = version_info[:2] + + try: +- if PY_VERSION > (3, 1): +- from pyyaml3 import SafeLoader as YamlSafeLoader +- else: +- from pyyaml2 import SafeLoader as YamlSafeLoader ++ from yaml import SafeLoader as YamlSafeLoader + except ImportError: + from yaml import SafeLoader as YamlSafeLoader + diff --git a/gnu/packages/patches/netdata-0002-use-system-exim4.patch b/gnu/packages/patches/netdata-0002-use-system-exim4.patch new file mode 100644 index 0000000000..0e23618399 --- /dev/null +++ b/gnu/packages/patches/netdata-0002-use-system-exim4.patch @@ -0,0 +1,12 @@ +Author: Sven Hartge +Description: Debian has exim in /usr/sbin which is not in the default path. + +diff -Naurp netdata.orig/collectors/python.d.plugin/exim/exim.conf netdata/collectors/python.d.plugin/exim/exim.conf +--- netdata.orig/collectors/python.d.plugin/exim/exim.conf ++++ netdata/collectors/python.d.plugin/exim/exim.conf +@@ -88,4 +88,4 @@ update_every: 10 + # AUTO-DETECTION JOBS + + local: +- command: 'exim -bpc' ++ command: '/usr/sbin/exim -bpc' diff --git a/gnu/packages/patches/netdata-0003-use-python3.patch b/gnu/packages/patches/netdata-0003-use-python3.patch new file mode 100644 index 0000000000..e55089271a --- /dev/null +++ b/gnu/packages/patches/netdata-0003-use-python3.patch @@ -0,0 +1,29 @@ +Author: Sander Klein +Description: Debian uses by default python 2 instead of python3. + +diff -Naurp netdata.orig/collectors/python.d.plugin/python.d.plugin.in netdata/collectors/python.d.plugin/python.d.plugin.in +--- netdata.orig/collectors/python.d.plugin/python.d.plugin.in ++++ netdata/collectors/python.d.plugin/python.d.plugin.in +@@ -1,21 +1,4 @@ +-#!/usr/bin/env bash +-'''':; +-pybinary=$(which python || which python3 || which python2) +-filtered=() +-for arg in "$@" +-do +- case $arg in +- -p*) pybinary=${arg:2} +- shift 1 ;; +- *) filtered+=("$arg") ;; +- esac +-done +-if [ "$pybinary" = "" ] +-then +- echo "ERROR python IS NOT AVAILABLE IN THIS SYSTEM" +- exit 1 +-fi +-exec "$pybinary" "$0" "${filtered[@]}" # ''' ++#!/usr/bin/python3 + + # -*- coding: utf-8 -*- + # Description: diff --git a/gnu/packages/patches/netdata-0004-use-sh.patch b/gnu/packages/patches/netdata-0004-use-sh.patch new file mode 100644 index 0000000000..6c8e93bfba --- /dev/null +++ b/gnu/packages/patches/netdata-0004-use-sh.patch @@ -0,0 +1,12 @@ +Author: Daniel Baumann +Description: Fix shebang hack to not depend on bash. + +diff -Naurp netdata.orig/collectors/node.d.plugin/node.d.plugin.in netdata/collectors/node.d.plugin/node.d.plugin.in +--- netdata.orig/collectors/node.d.plugin/node.d.plugin.in ++++ netdata/collectors/node.d.plugin/node.d.plugin.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env bash ++#!/bin/sh + ':' //; exec "$(command -v nodejs || command -v node || echo "ERROR node IS NOT AVAILABLE IN THIS SYSTEM")" "$0" "$@" + + // shebang hack from: diff --git a/gnu/packages/patches/netdata-0005-use-bash.patch b/gnu/packages/patches/netdata-0005-use-bash.patch new file mode 100644 index 0000000000..53b7fc5b31 --- /dev/null +++ b/gnu/packages/patches/netdata-0005-use-bash.patch @@ -0,0 +1,13 @@ +Author: Daniel Baumann +Description: Using bash instead of sh for edit-config. + It reads /etc/profile which often contains bash specific configuration. + +diff -Naurp netdata.orig/system/edit-config.in netdata/system/edit-config.in +--- netdata.orig/system/edit-config.in ++++ netdata/system/edit-config.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env sh ++#!/bin/bash + + [ -f /etc/profile ] && . /etc/profile + diff --git a/gnu/packages/patches/netdata-no-files-in-etc-and-var.patch b/gnu/packages/patches/netdata-no-files-in-etc-and-var.patch new file mode 100644 index 0000000000..594805fdf1 --- /dev/null +++ b/gnu/packages/patches/netdata-no-files-in-etc-and-var.patch @@ -0,0 +1,129 @@ +From 4ecc1475be94a384c122594b5f7d455beb64a2f0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= +Date: Sat, 22 Feb 2020 06:42:14 +0000 +Subject: [PATCH] no files in etc and var +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Jörg Thalheim +--- + collectors/Makefile.am | 2 +- + collectors/charts.d.plugin/Makefile.am | 2 +- + collectors/node.d.plugin/Makefile.am | 2 +- + collectors/python.d.plugin/Makefile.am | 2 +- + collectors/statsd.plugin/Makefile.am | 2 +- + health/Makefile.am | 2 +- + system/Makefile.am | 3 +-- + web/Makefile.am | 2 +- + 8 files changed, 8 insertions(+), 9 deletions(-) + +diff --git a/collectors/Makefile.am b/collectors/Makefile.am +index 9bb52958..c9799165 100644 +--- a/collectors/Makefile.am ++++ b/collectors/Makefile.am +@@ -32,7 +32,7 @@ usercustompluginsconfigdir=$(configdir)/custom-plugins.d + usergoconfigdir=$(configdir)/go.d + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(usercustompluginsconfigdir) + $(INSTALL) -d $(DESTDIR)$(usergoconfigdir) + +diff --git a/collectors/charts.d.plugin/Makefile.am b/collectors/charts.d.plugin/Makefile.am +index 03c7f0a9..01985db0 100644 +--- a/collectors/charts.d.plugin/Makefile.am ++++ b/collectors/charts.d.plugin/Makefile.am +@@ -34,7 +34,7 @@ dist_userchartsconfig_DATA = \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(userchartsconfigdir) + + chartsconfigdir=$(libconfigdir)/charts.d +diff --git a/collectors/node.d.plugin/Makefile.am b/collectors/node.d.plugin/Makefile.am +index c3142d43..95e32445 100644 +--- a/collectors/node.d.plugin/Makefile.am ++++ b/collectors/node.d.plugin/Makefile.am +@@ -26,7 +26,7 @@ dist_usernodeconfig_DATA = \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(usernodeconfigdir) + + nodeconfigdir=$(libconfigdir)/node.d +diff --git a/collectors/python.d.plugin/Makefile.am b/collectors/python.d.plugin/Makefile.am +index e678f86a..29a319da 100644 +--- a/collectors/python.d.plugin/Makefile.am ++++ b/collectors/python.d.plugin/Makefile.am +@@ -32,7 +32,7 @@ dist_userpythonconfig_DATA = \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(userpythonconfigdir) + + pythonconfigdir=$(libconfigdir)/python.d +diff --git a/collectors/statsd.plugin/Makefile.am b/collectors/statsd.plugin/Makefile.am +index b01302d1..f5b77da4 100644 +--- a/collectors/statsd.plugin/Makefile.am ++++ b/collectors/statsd.plugin/Makefile.am +@@ -17,5 +17,5 @@ dist_userstatsdconfig_DATA = \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(userstatsdconfigdir) +diff --git a/health/Makefile.am b/health/Makefile.am +index 853ed0d7..210330a6 100644 +--- a/health/Makefile.am ++++ b/health/Makefile.am +@@ -19,7 +19,7 @@ dist_userhealthconfig_DATA = \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(userhealthconfigdir) + + healthconfigdir=$(libconfigdir)/health.d +diff --git a/system/Makefile.am b/system/Makefile.am +index ad68c655..74f032f9 100644 +--- a/system/Makefile.am ++++ b/system/Makefile.am +@@ -17,11 +17,10 @@ include $(top_srcdir)/build/subst.inc + SUFFIXES = .in + + dist_config_SCRIPTS = \ +- edit-config \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(configdir) + + nodist_noinst_DATA = \ +diff --git a/web/Makefile.am b/web/Makefile.am +index ccaccd76..16a2977e 100644 +--- a/web/Makefile.am ++++ b/web/Makefile.am +@@ -12,7 +12,7 @@ SUBDIRS = \ + usersslconfigdir=$(configdir)/ssl + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(usersslconfigdir) + + dist_noinst_DATA = \ +-- +2.25.0 + diff --git a/gnu/packages/patches/netdata-web-remove-antifeatures-spyware.patch b/gnu/packages/patches/netdata-web-remove-antifeatures-spyware.patch new file mode 100644 index 0000000000..0b3be9a5d2 --- /dev/null +++ b/gnu/packages/patches/netdata-web-remove-antifeatures-spyware.patch @@ -0,0 +1,4466 @@ +diff --git a/registry/registry_init.c b/registry/registry_init.c +index ffdb83f3..2d5460fd 100644 +--- a/registry/registry_init.c ++++ b/registry/registry_init.c +@@ -36,7 +36,7 @@ int registry_init(void) { + registry.save_registry_every_entries = (unsigned long long)config_get_number(CONFIG_SECTION_REGISTRY, "registry save db every new entries", 1000000); + registry.persons_expiration = config_get_number(CONFIG_SECTION_REGISTRY, "registry expire idle persons days", 365) * 86400; + registry.registry_domain = config_get(CONFIG_SECTION_REGISTRY, "registry domain", ""); +- registry.registry_to_announce = config_get(CONFIG_SECTION_REGISTRY, "registry to announce", "https://registry.my-netdata.io"); ++ registry.registry_to_announce = config_get(CONFIG_SECTION_REGISTRY, "registry to announce", ""); + registry.hostname = config_get(CONFIG_SECTION_REGISTRY, "registry hostname", netdata_configured_hostname); + registry.verify_cookies_redirects = config_get_boolean(CONFIG_SECTION_REGISTRY, "verify browser cookies support", 1); + +diff --git a/web/gui/Makefile.am b/web/gui/Makefile.am +index c69380f9..8a8f01e5 100644 +--- a/web/gui/Makefile.am ++++ b/web/gui/Makefile.am +@@ -46,10 +46,6 @@ dist_noinst_DATA = \ + $(NULL) + + dist_web_DATA = \ +- demo.html \ +- demo2.html \ +- demosites.html \ +- demosites2.html \ + dashboard.html \ + dashboard.js \ + dashboard_info.js \ +@@ -62,7 +58,6 @@ dist_web_DATA = \ + main.css \ + main.js \ + console.html \ +- infographic.html \ + robots.txt \ + refresh-badges.js \ + sitemap.xml \ +diff --git a/web/gui/console.html b/web/gui/console.html +index b85b4ffb..2debd1c5 100644 +--- a/web/gui/console.html ++++ b/web/gui/console.html +@@ -12,18 +12,6 @@ + + + +- +- +- + + + + +- +- +- +
+ + +- +- +-
+-
+-
+-
+-
+- +- +diff --git a/web/gui/demo2.html b/web/gui/demo2.html +deleted file mode 100644 +index 650acfe0..00000000 +--- a/web/gui/demo2.html ++++ /dev/null +@@ -1,143 +0,0 @@ +- +- +- +- +- NetData Dashboard +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +-
+-
why netdata?
+-
+-
These charts visualize the same data...
+- +- +- +- +- +- +-
+-
+- +-
+-
I can trace an issue like this
+-
+-
+-
+-
+-
Can you trace an issue like these?
 
+-
+-
+-
+-
+-
+- +-
+-
I can trace an issue like this
+-
+-
+-
+-
+-
Can you trace an issue like these?
 
+-
+-
+-
+-
+-
+-
Hover on the chart below, to see the selected value on the charts above!
+-
+-
+- +- +diff --git a/web/gui/demosites.html b/web/gui/demosites.html +deleted file mode 100644 +index e8a310a1..00000000 +--- a/web/gui/demosites.html ++++ /dev/null +@@ -1,1469 +0,0 @@ +- +- +- +- +- +- +- NetData: Get control of your Linux Servers. Simple. Effective. Awesome. +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +-
+- +-

Monitor your systems and applications, the right way!

+-

+- Unparalleled insights, in real-time, +- of everything happening on your systems and applications, +- with stunning, interactive web dashboards +- and powerful performance and health alarms. +-

+- +-
+-
+-
+-

Enter the world of Netdata!

+-
+-

1s granularity

+-
+-
+-
+-

+- Per second data collection and visualization, for all metrics! +-

+-

+- Netdata zooms into the problems by providing higher resolution information, compared to any other monitoring solution. +-

+-
+-
+-

+- The world goes real-time. +-
 
+- High resolution metrics are required to effectively monitor and troubleshoot systems and applications, especially on virtual environments. +-

+-
+-
+-
+- +-
+- +-
+-
+-
+-

Unlimited metrics

+-
+-
+-
+-

+- Use all the metrics, from all available sources! +-

+-

+- Netdata collects all the metrics native console tools do. It has been designed to kill the console for troubleshooting infrastructure slowdowns and outages. +-

+-
+-
+-

+- All metrics are important and all should be available when you need them. +-
 
+- Filtering out most metrics is like reading a book by skipping most of its pages. +-

+-
+-
+-
+- +-
+-
+-
+-
+-

Meaningful presentation

+-
+-
+-
+-

+- Explore all metrics in a meaningful, easy to understand way! +-

+-

+- Netdata engineers and experts on our community organize metrics in a meaningful way, so that you can learn and understand them right on the job, while troubleshooting issues of your infrastructure. +-

+-
+-
+-

+- Metrics are a lot more than name-value pairs over time. +-

+- It is just not practical to require from all users to have a deep understanding of all metrics for monitoring their systems and applications. +-

+-
+-
+-
+- +-
+- +-
+-
+-
+-

Immediate results

+-
+-
+-
+-

+- Install and use immediately! Get fully functional visualization and alarms, in just a couple of seconds after installation! +-

+-

+- Netdata decouples your skills from your monitoring infrastructure. +- No matter how skillful or novice you are, Netdata will apply all the community knowledge and expertise to your monitoring infrastructure. +-

+-
+-
+-

+- Most of our infrastructure is based on standardized systems and applications. +-
 
+- It is a tremendous waste of time and effort, in a global scale, to require from all users to configure their infrastructure dashboards and alarms metric by metric. +-

+-
+-
+-
+- +-
+- +-
+-

How it works

+-
+-

+- Netdata is a monitoring agent you install on all your systems: +-
+- physical servers, virtual servers, containers, IoT. +-

+-

+- Netdata is lightweight, designed to permanently run on all systems without disrupting their core function. +- By default, it needs just 1% CPU of a single core, a few MB or RAM and no disk I/O at all. +-

+-

+- Each Netdata is (by default) autonomous, taking care of all the following. +-
But all your Netdata are integrated into one large distributed application. +-

+-
+-
+-

Collect

+-

+- Netdata automatically detects data collection sources on the host it runs. +- It comes with hundreds of plugins for collecting system and application metrics, +- including databases, web servers, and commonly used application servers. +-

+- Netdata is also a high performance, distributed statsd server, allowing custom +- application metrics to be collected and visualized. +-

+-
+-

Check (alarms)

+-

+- Each Netdata spawns a thread that examines the metrics as they get collected, +- evaluates pre-configured alarm expressions and triggers alarm notifications. +-

+- Netdata comes with hundreds of alarms to detect common system and application issues, +- that are automatically attached to the collected metrics, +- supporting dozens of alarm notification integrations. +-

+-
+-

Stream

+-

+- Each Netdata can stream its metrics, in real-time, to any other Netdata. +- Streaming allows Netdata to be used in ephemeral nodes and containers in auto-scaled environments, +- but it also allows building Netdata hierarchies for aggregating the metrics of multiple Netdata nodes. +-

+-
+-

Store

+-

+- Each Netdata has its own internal metrics database. This database is optimized +- for minimal memory footprint, and due to its lockless design allows one writer +- and multiple readers per metric, concurrently, contributing significantly to +- the performance of Netdata. +-

+-
+-

Archive

+-

+- Netdata can archive its metrics to time-series databases (prometheus, graphite, opentsdb, json document dbs, etc) +- so that Netdata can be integrated to existing monitoring tool-chains. +-

+-
+-

Visualize

+-

+- The best part of Netdata is its visualization. Low latency, speedy and snazzy. +-

+- Netdata dashboards are optimized for visual anomaly detection, a powerful tool to troubleshoot +- performance issues. +-

+-
+-
+-
+-
+- +-
+-   +-
+- +- +-

netdata live demo sites

+-
+-
+- +-
+-
+-
+-
+-
+- Enter London! +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+-
+-
+-
+- Enter Atlanta! +-
+- Donated by CDN77.com +-
+-
+-
+-
+-
+-
+-
+-
+- Enter California! +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+-
+-
+-
+- Enter Canada! +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
 
+-
+-
+-
+-
+-
+- Enter Germany! +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+-
+-
+-
+- Enter New York! +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+-
+-
+-
+- Enter Singapore! +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+-
+-
+-
+- Enter India! +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+-
+-
+- Israel +-
+-
+-
+- requests/s +-
+-
+-
+-
+-
+-
+-
+- Enter Israel! +-
+- Donated by octopuscs.com +-
+-
+-
+- +-
+-
+-
+- EU - Spain +-
+-
+-
+- requests/s +-
+-
+-
+-
+-
+-
+-
+- Enter Madrid! +-
+- Donated by stackscale.com +-
+-
+-
+-
+-
+-
+-
+-
+-
+- +-
+- Charts are coming from all servers, in parallel. +-
+- The servers are not aware of this multi-server dashboard. +-
+- +-
+-
+-
+- EU - London connected clients +-
+-
+-
+-
+-
+-
+- +-
+- Each server is not aware of the other servers. +-
+- But on this dashboard they are one! (hover on the chart above) +-
+- +- +- +-
+-
+- +-

Who uses netdata?

+-
+-
+-

+- Netdata is used by hundreds of thousands of users all over the world. +-
 
+- Check our GitHub watchers list. +-
+- You will find people working for Amazon, Atos, Baidu, Cisco Systems, Citrix, +- Deutsche Telekom, DigitalOcean, Elastic, EPAM Systems, Ericsson, Google, +- Groupon, Hortonworks, HP, Huawei, IBM, Microsoft, NewRelic, +- Nvidia, Red Hat, SAP, Selectel, TicketMaster, Vimeo, and many more! +-

+- +- The following figures come from users using the netdata public global registry.
Counting since May 16th 2016. Actual figures may be a lot higher.
+-
+-
+-
+- netdata unique users +-
+-
+-
+-
+-
+-
+-
+-
+-
+- netdata monitored servers +-
+-
+-
+-
+-
+-
+-
+-
+-
+- netdata sessions served +-
+-
+-
+-
+-
+-
+-

+- +- +-

+-

+- +- netdata can generate auto-refreshing badges, like these: +- +-
+- +- +- +-
+- These badges auto-refresh every minute. +-

+-
+-
+- netdata is featured at the GitHub's state of the Octoverse 2016 +-
+- +- +- +-
+-
+- +-
+-
+-
+-
+- +- +- +- +- +- +-
+-
+- +- +- +- +- +- +- +- +- +- +-
+- +- +- +- +- +- +- +diff --git a/web/gui/demosites2.html b/web/gui/demosites2.html +deleted file mode 100644 +index fe35cfb6..00000000 +--- a/web/gui/demosites2.html ++++ /dev/null +@@ -1,1112 +0,0 @@ +- +- +- +- +- NetData - Real-time performance monitoring, done right! +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +-
+- +-
+- netdata +-
+-
+- real-time performance monitoring +-
+-
+- scaled out! +-
+-
+- pick a netdata demo server +-
+-
+- these demo servers show what you will get by installing netdata +-
+- +-
+-
+- +-
+-
+-
+-
+-
+-
 
+- +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+-
+-
+-
+-
 
+- +-
+- Donated by CDN77.com +-
+-
+-
+-
+-
+-
+-
+-
+-
 
+- +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+-
+-
+-
+-
 
+- +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
 
+-
+-
+-
+-
+-
+-
 
+- +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+-
+-
+-
+-
 
+- +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+-
+-
+-
+-
 
+- +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+-
+-
+-
+-
 
+- +-
+- Donated by DigitalOcean.com +-
+-
+-
+-
+-
+- +-
+- this page is a custom netdata dashboard +-
+-
+- charts are coming from 8 servers, in parallel +-
+- the servers are not aware of this multi-server dashboard, +-
+- each server is not aware of the other servers, +-
+- but on this dashboard they are one! +-
+-
+- +- hover on a chart below, or drag it to show the past - the others will follow! +-
+- double click on a chart to reset them all +-
+- +-
+- our nginx performance +-
+-
+- (we proxy netdata through nginx, on the demo sites) +-
+- +- +- +- +- +-
+-
+-
+-
+- EU - London web requests/s +-
+-
+-
+-
+-
+- +-
+-
+- US - Atlanta web requests/s +-
+-
+-
+-
+-
+- +-
+-
+- US - California web requests/s +-
+-
+-
+-
+-
+- +-
+-
+- Canada web requests/s +-
+-
+-
+-
+-
+-
+- +-
+-
+-
+- EU - London active connections +-
+-
+-
+-
+-
+- +-
+-
+- US - Atlanta active connections +-
+-
+-
+-
+-
+- +-
+-
+- US - California active connections +-
+-
+-
+-
+-
+- +-
+-
+- Canada active connections +-
+-
+-
+-
+-
+-
+-
+- +-
+- these charts are draggable and touchable, double click them to reset them +-
+- +- +-
+- bandwidth consumption on the demo sites +-
+-
+- Linux QoS is configured by FireQOS +-
+- +- +- +- +- +-
+-
+-
+-
+-
+- +-
+-
+- +-
+- +-
+-
+-
+- +-
+-
+-
+-
+- +-
+-
+-
+- +-
+- +-
+-
+- +-
+- +-
+-
+-
+- +-
+-
+-
+-
+-
+-
+- these legends are interactive and the charts are resizable here ^^^ +-
+- +-
+- DDoS protection performance on the demo sites +-
+-
+- iptables SYNPROXY configured by FireHOL +-
+- +-
+- +-
+-
+- EU - London, TCP SYN packets/s received +-
+-
+-
+-
+-
+- +-
+-
+- US - Atlanta, TCP SYN packets/s received +-
+-
+-
+-
+-
+- +-
+-
+- US - California, TCP SYN packets/s received +-
+-
+-
+-
+-
+- +-
+-
+- Canada, TCP SYN packets/s received +-
+-
+-
+-
+-
+-
+-
+- did you notice the decimal numbers? +-
netdata interpolates collected values at second boundaries, with nanosecond detail!
+-
+- +- +-
+- CPU Utilization of the demo sites +-
+- +-
+-
+-
+-
+- +-
+-
+-
+- +-
+-
+-
+- +-
+-
+-
+-
+-
+- what is using so much CPU? +-
The site iplists.firehol.org is maintained by FireHOL - the CPU is used for comparing security IP Lists.
+-
+- +-
+- Netdata performance +-
+-
+- netdata monitors users, user groups, applications (process trees) +-
+- containers (lxc, docker, etc.) and SNMP devices. +-
+- +- +- +- +- +-
+-
+-
+-
+- EU - London, CPU % of a single core +-
+-
+-
+-
+-
+- +-
+-
+- US - Atlanta, CPU % of a single core +-
+-
+-
+-
+-
+- +-
+-
+- US - California, CPU % of a single core +-
+-
+-
+-
+-
+- +-
+-
+- Toronto, CPU % of a single core +-
+-
+-
+-
+-
+- +-
+- this utilization is about the whole netdata process tree and the percentage is of a single core! +-
including BASH plugins (it monitors mysql on the demo sites), node.js plugins (it monitors bind9 on the demo sites), etc. +-
and including the chart refreshes for the dashboards of all viewers.
+-
+-
+- +-
+-
+-
+- EU - London, API average response time in milliseconds +-
+-
+-
+-
+-
+- +-
+-
+- US - Atlanta, API average response time in milliseconds +-
+-
+-
+-
+-
+- +-
+-
+- US - California, API average response time in milliseconds +-
+-
+-
+-
+-
+- +-
+-
+- Canada, API average response time in milliseconds +-
+-
+-
+-
+-
+- +-
+- netdata is really fast (the values are milliseconds!) +-
+- These values include everything, from the reception of the first byte to the dispatch of the last, including gzip compression. +-
+- Values above 2-3ms are usually chart refreshes of charts with several dimensions, charts with very long durations (zoomed out), or file transfers. +-
+-
+-
+-
+- +-
+- want to know more? +-
+- jump to the netdata page at github +-
+- it needs just 3 mins to be installed on your servers! +-
+-   +-
+-
+- +- +- +diff --git a/web/gui/goto-host-from-alarm.html b/web/gui/goto-host-from-alarm.html +index 7d12f848..af9db7ea 100644 +--- a/web/gui/goto-host-from-alarm.html ++++ b/web/gui/goto-host-from-alarm.html +@@ -2,13 +2,6 @@ + + + +- + Goto a host you know... + + +diff --git a/web/gui/index.html b/web/gui/index.html +index d3099101..47baa548 100644 +--- a/web/gui/index.html ++++ b/web/gui/index.html +@@ -17,22 +17,6 @@ + + + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- + + + +@@ -90,13 +74,9 @@ + +