diff options
author | Paweł Krupa <pawel@krupa.net.pl> | 2018-12-19 12:08:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-19 12:08:40 +0100 |
commit | 545aa974552f45ecd7950dbd53ec36bae60fb838 (patch) | |
tree | fdd6fd4d4b6c1a014510f208b9fb64135465f00b | |
parent | f4fbf2136326aa9469b327e9f0a3d0702da731cb (diff) |
Move installer dir under packaging (#5009)
* move installer dir under packaging
* fix docs creation
* uninstaller is broken and fix will be created in #5031
* fix links in docs
21 files changed, 339 insertions, 339 deletions
diff --git a/Makefile.am b/Makefile.am index c7b072667e..bac00e4662 100644 --- a/Makefile.am +++ b/Makefile.am @@ -78,9 +78,9 @@ dist_noinst_DATA= \ docs/Charts.md \ docs/configuration-guide.md \ docs/generator/custom \ - installer/README.md \ - installer/UNINSTALL.md \ - installer/UPDATE.md \ + packaging/installer/README.md \ + packaging/installer/UNINSTALL.md \ + packaging/installer/UPDATE.md \ netlify.toml \ $(NULL) @@ -91,7 +91,7 @@ dist_noinst_SCRIPTS= \ kickstart.sh \ kickstart-static64.sh \ netdata-installer.sh \ - installer/functions.sh \ + packaging/installer/functions.sh \ docs/generator/buildhtml.sh \ docs/generator/buildyaml.sh \ docs/generator/checklinks.sh \ @@ -125,10 +125,10 @@ AM_CFLAGS = \ $(NULL) sbin_PROGRAMS = -dist_cache_DATA = installer/.keep -dist_varlib_DATA = installer/.keep -dist_registry_DATA = installer/.keep -dist_log_DATA = installer/.keep +dist_cache_DATA = packaging/installer/.keep +dist_varlib_DATA = packaging/installer/.keep +dist_registry_DATA = packaging/installer/.keep +dist_log_DATA = packaging/installer/.keep plugins_PROGRAMS = LIBNETDATA_FILES = \ @@ -94,7 +94,7 @@ The above command will: 2. download netdata source to `/usr/src/netdata.git` 3. compile it, install it and start it -More installation methods and additional options can be found at the [installation page](installer/#installation). +More installation methods and additional options can be found at the [installation page](packaging/installer/#installation). To try netdata in a docker container, run this: @@ -459,7 +459,7 @@ Here is a quick list: Directory|Description :---|:--- -[`installer`](installer/)|Instructions to install netdata on your systems. +[`installer`](packaging/installer/)|Instructions to install netdata on your systems. [`docker`](packaging/docker/)|Instructions to install netdata using docker. [`daemon`](daemon/)|Information about the netdata daemon and its configuration. [`collectors`](collectors/)|Information about data collection plugins. diff --git a/backends/WALKTHROUGH.md b/backends/WALKTHROUGH.md index 0c24d08c23..0c330ee1a3 100644 --- a/backends/WALKTHROUGH.md +++ b/backends/WALKTHROUGH.md @@ -67,7 +67,7 @@ chooses the base container images (centos:latest). After running this you should be sitting inside the shell of the container. After we have entered the shell we can install Netdata. This process could not -be easier. If you take a look at [this link](../installer/#installation), the Netdata devs give us +be easier. If you take a look at [this link](../packaging/installer/#installation), the Netdata devs give us several one-liners to install netdata. I have not had any issues with these one liners and their bootstrapping scripts so far (If you guys run into anything do share). Run the following command in your container. diff --git a/backends/prometheus/README.md b/backends/prometheus/README.md index 55b424b3c2..8cf83cbf49 100644 --- a/backends/prometheus/README.md +++ b/backends/prometheus/README.md @@ -9,7 +9,7 @@ Prometheus is a distributed monitoring system which offers a very simple setup a ### Installing netdata -There are number of ways to install netdata according to [Installation](../../installer/#installation) +There are number of ways to install netdata according to [Installation](../../packaging/installer/#installation) The suggested way of installing the latest netdata and keep it upgrade automatically. Using one line installation: ``` diff --git a/contrib/rhel/build-netdata-rpm.sh b/contrib/rhel/build-netdata-rpm.sh index 927318fb12..df33d8068a 100755 --- a/contrib/rhel/build-netdata-rpm.sh +++ b/contrib/rhel/build-netdata-rpm.sh @@ -5,7 +5,7 @@ cd "$(dirname "$0")/../../" || exit 1 # shellcheck disable=SC1091 -source "installer/functions.sh" || exit 1 +source "packaging/installer/functions.sh" || exit 1 set -e diff --git a/docs/GettingStarted.md b/docs/GettingStarted.md index b3d037bb07..cc58634f17 100644 --- a/docs/GettingStarted.md +++ b/docs/GettingStarted.md @@ -1,6 +1,6 @@ # Getting Started -These are your first steps **after** you have installed netdata. If you haven't installed it already, please check the [installation page](../installer). +These are your first steps **after** you have installed netdata. If you haven't installed it already, please check the [installation page](../packaging/installer). ## Accessing the dashboard @@ -14,11 +14,11 @@ http://your.server.ip:19999/ **Verify Netdata is running.** -Open an ssh session to the server and execute `sudo ps -e | grep netdata`. It should respond with the PID of the netdata daemon. If it prints nothing, Netdata is not running. Check the [installation page](../installer) to install it. +Open an ssh session to the server and execute `sudo ps -e | grep netdata`. It should respond with the PID of the netdata daemon. If it prints nothing, Netdata is not running. Check the [installation page](../packaging/installer) to install it. **Verify Netdata responds to HTTP requests.** -Using the same ssh session, execute `curl -Ss http://localhost:19999`. It should dump on your screen the `index.html` page of the dashboard. If it does not, check the [installation page](../installer) to install it. +Using the same ssh session, execute `curl -Ss http://localhost:19999`. It should dump on your screen the `index.html` page of the dashboard. If it does not, check the [installation page](../packaging/installer) to install it. **Verify Netdata receives the HTTP requests.** diff --git a/docs/generator/buildyaml.sh b/docs/generator/buildyaml.sh index 1237943907..480476a92f 100755 --- a/docs/generator/buildyaml.sh +++ b/docs/generator/buildyaml.sh @@ -125,10 +125,10 @@ echo -ne " - 'docs/Why-Netdata.md' - CHANGELOG.md - CONTRIBUTING.md - Installation: - - 'installer/README.md' + - 'packaging/installer/README.md' - 'packaging/docker/README.md' - - 'installer/UPDATE.md' - - 'installer/UNINSTALL.md' + - 'packaging/installer/UPDATE.md' + - 'packaging/installer/UNINSTALL.md' - 'docs/GettingStarted.md' - Running netdata: - 'daemon/README.md' diff --git a/kickstart-static64.sh b/kickstart-static64.sh index 1fe3603454..cd13c4190e 100755 --- a/kickstart-static64.sh +++ b/kickstart-static64.sh @@ -9,7 +9,7 @@ umask 022 [ -z "${UID}" ] && export UID="$(id -u)" # --------------------------------------------------------------------------------------------------------------------- -# library functions copied from installer/functions.sh +# library functions copied from packaging/installer/functions.sh which_cmd() { # shellcheck disable=SC2230 diff --git a/kickstart.sh b/kickstart.sh index b493802f2c..4ebc0c6756 100755 --- a/kickstart.sh +++ b/kickstart.sh @@ -31,7 +31,7 @@ umask 022 [ -z "${UID}" ] && UID="$(id -u)" # --------------------------------------------------------------------------------------------------------------------- -# library functions copied from installer/functions.sh +# library functions copied from packaging/installer/functions.sh which_cmd() { # shellcheck disable=SC2230 diff --git a/makeself/build-x86_64-static.sh b/makeself/build-x86_64-static.sh index b0902512c6..f151d5d7ce 100755 --- a/makeself/build-x86_64-static.sh +++ b/makeself/build-x86_64-static.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: GPL-3.0-or-later -. $(dirname "$0")/../installer/functions.sh || exit 1 +. $(dirname "$0")/../packaging/installer/functions.sh || exit 1 set -e diff --git a/makeself/functions.sh b/makeself/functions.sh index 10b324deb8..cf4a54c6f8 100755 --- a/makeself/functions.sh +++ b/makeself/functions.sh @@ -49,7 +49,7 @@ fetch() { # ----------------------------------------------------------------------------- # load the functions of the netdata-installer.sh -. "${NETDATA_SOURCE_PATH}/installer/functions.sh" +. "${NETDATA_SOURCE_PATH}/packaging/installer/functions.sh" # ----------------------------------------------------------------------------- diff --git a/makeself/jobs/99-makeself.install.sh b/makeself/jobs/99-makeself.install.sh index 0e0d5c9da6..f8a25da437 100755 --- a/makeself/jobs/99-makeself.install.sh +++ b/makeself/jobs/99-makeself.install.sh @@ -45,7 +45,7 @@ run mkdir -p "${NETDATA_INSTALL_PATH}/system" run cp \ makeself/post-installer.sh \ makeself/install-or-update.sh \ - installer/functions.sh \ + packaging/installer/functions.sh \ configs.signatures \ system/netdata-init-d \ system/netdata-lsb \ diff --git a/netdata-installer.sh b/netdata-installer.sh index bd4297506e..de441372a9 100755 --- a/netdata-installer.sh +++ b/netdata-installer.sh @@ -34,10 +34,10 @@ cd "${netdata_source_dir}" || exit 1 # ----------------------------------------------------------------------------- # load the required functions -if [ -f "${installer_dir}/installer/functions.sh" ]; then - source "${installer_dir}/installer/functions.sh" || exit 1 +if [ -f "${installer_dir}/packaging/installer/functions.sh" ]; then + source "${installer_dir}/packaging/installer/functions.sh" || exit 1 else - source "${netdata_source_dir}/installer/functions.sh" || exit 1 + source "${netdata_source_dir}/packaging/installer/functions.sh" || exit 1 fi # make sure we save all commands we run @@ -885,7 +885,7 @@ fi # ----------------------------------------------------------------------------- progress "Create netdata-uninstaller.sh" -cp ./installer/netdata-uninstaller.sh netdata-uninstaller.sh +cp ./packaging/installer/netdata-uninstaller.sh netdata-uninstaller.sh chmod 750 netdata-uninstaller.sh # ----------------------------------------------------------------------------- @@ -911,7 +911,7 @@ END echo >&2 "Uninstall script is located at: ${TPUT_RED}${TPUT_BOLD}./netdata-uninstaller.sh${TPUT_RESET}" if [ -d .git ]; then - cp ./installer/netdata-updater.sh netdata-updater.sh + cp ./packaging/installer/netdata-updater.sh netdata-updater.sh sed -i "s|THIS_SHOULD_BE_REPLACED_BY_INSTALLER_SCRIPT|${REINSTALL_PWD}|" netdata-updater.sh chmod 755 netdata-updater.sh echo >&2 "Update script is located at: ${TPUT_GREEN}${TPUT_BOLD}./netdata-updater.sh${TPUT_RESET}" @@ -956,7 +956,7 @@ else fi # Save environment variables -cat <<EOF > installer/.environment.sh +cat <<EOF > packaging/installer/.environment.sh PATH="${PATH}" CFLAGS="${CFLAGS}" NETDATA_PREFIX="${NETDATA_PREFIX}" diff --git a/installer/.keep b/packaging/installer/.keep index e69de29bb2..e69de29bb2 100644 --- a/installer/.keep +++ b/packaging/installer/.keep diff --git a/installer/README.md b/packaging/installer/README.md index e25d18ef08..4be27b65f6 100644 --- a/installer/README.md +++ b/packaging/installer/README.md @@ -17,7 +17,7 @@ The best way to install Netdata is directly from source. Our **automatic install 7. [Enable on FreeNAS Corral](#freenas) 8. [Install on macOS (OS X)](#macos) -See also the list of Netdata [package maintainers](../packaging/maintainers) for ASUSTOR NAS, OpenWRT, ReadyNAS, etc. +See also the list of Netdata [package maintainers](../maintainers) for ASUSTOR NAS, OpenWRT, ReadyNAS, etc. --- @@ -31,7 +31,7 @@ To install Netdata from source and keep it up to date automatically, run the fol bash <(curl -Ss https://my-netdata.io/kickstart.sh) ``` -*(do not `sudo` this command, it will do it by itself as needed)* +*(do not `sudo` this command, it will do it by itself as needed)* ![](https://registry.my-netdata.io/api/v1/badge.svg?chart=web_log_nginx.requests_per_url&options=unaligned&dimensions=kickstart&group=sum&after=-3600&label=last+hour&units=installations&value_color=orange&precision=0) ![](https://registry.my-netdata.io/api/v1/badge.svg?chart=web_log_nginx.requests_per_url&options=unaligned&dimensions=kickstart&group=sum&after=-86400&label=today&units=installations&precision=0) @@ -47,43 +47,43 @@ Verify the integrity of the script with this: The `kickstart.sh` script: -- detects the Linux distro and **installs the required system packages** for building Netdata (will ask for confirmation) -- downloads the latest Netdata source tree to `/usr/src/netdata.git`. -- installs Netdata by running `./netdata-installer.sh` from the source tree. +- detects the Linux distro and **installs the required system packages** for building Netdata (will ask for confirmation) +- downloads the latest Netdata source tree to `/usr/src/netdata.git`. +- installs Netdata by running `./netdata-installer.sh` from the source tree. - installs `netdata-updater.sh` to `cron.daily`, so your Netdata installation will be updated daily (you will get a message from cron only if the update fails). - For QA purposes, this installation method lets us know if it succeed or failed. -The `kickstart.sh` script passes all its parameters to `netdata-installer.sh`, so you can add more parameters to change the installation directory, enable/disable plugins, etc (check below). - +The `kickstart.sh` script passes all its parameters to `netdata-installer.sh`, so you can add more parameters to change the installation directory, enable/disable plugins, etc (check below). + For automated installs, append a space + `--dont-wait` to the command line. You can also append `--dont-start-it` to prevent the installer from starting Netdata. Example: - + ```bash bash <(curl -Ss https://my-netdata.io/kickstart.sh) --dont-wait --dont-start-it ``` </details> <br/> -Once Netdata is installed, see [Getting Started](../docs/GettingStarted.md). +Once Netdata is installed, see [Getting Started](../../docs/GettingStarted.md). --- ## Linux 64bit pre-built static binary -You can install a pre-compiled static binary of Netdata on any Intel/AMD 64bit Linux system -(even those that don't have a package manager, like CoreOS, CirrOS, busybox systems, etc). +You can install a pre-compiled static binary of Netdata on any Intel/AMD 64bit Linux system +(even those that don't have a package manager, like CoreOS, CirrOS, busybox systems, etc). You can also use these packages on systems with broken or unsupported package managers. To install Netdata with a binary package on any Linux distro, any kernel version - for **Intel/AMD 64bit** hosts, run the following: - + ```bash - bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) + bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) ``` *(do not `sudo` this command, it will do it by itself as needed; if the target system does not have `bash` installed, see below for instructions to run it without `bash`)* -![](https://registry.my-netdata.io/api/v1/badge.svg?chart=web_log_nginx.requests_per_url&options=unaligned&dimensions=kickstart64&group=sum&after=-3600&label=last+hour&units=installations&value_color=orange&precision=0) ![](https://registry.my-netdata.io/api/v1/badge.svg?chart=web_log_nginx.requests_per_url&options=unaligned&dimensions=kickstart64&group=sum&after=-86400&label=today&units=installations&precision=0) +![](https://registry.my-netdata.io/api/v1/badge.svg?chart=web_log_nginx.requests_per_url&options=unaligned&dimensions=kickstart64&group=sum&after=-3600&label=last+hour&units=installations&value_color=orange&precision=0) ![](https://registry.my-netdata.io/api/v1/badge.svg?chart=web_log_nginx.requests_per_url&options=unaligned&dimensions=kickstart64&group=sum&after=-86400&label=today&units=installations&precision=0) > The static builds install Netdata at **`/opt/netdata`** @@ -98,27 +98,27 @@ Verify the integrity of the script with this: *It should print `OK, VALID` if the script is the one we ship.* -For automated installs, append a space + `--dont-wait` to the command line. You can also append `--dont-start-it` to prevent the installer from starting Netdata. - -Example: - +For automated installs, append a space + `--dont-wait` to the command line. You can also append `--dont-start-it` to prevent the installer from starting Netdata. + +Example: + ```bash - bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) --dont-wait --dont-start-it + bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) --dont-wait --dont-start-it ``` -If your shell fails to handle the above one liner, do this: - +If your shell fails to handle the above one liner, do this: + ```bash -# download the script with curl -curl https://my-netdata.io/kickstart-static64.sh >/tmp/kickstart-static64.sh - -# or, download the script with wget -wget -O /tmp/kickstart-static64.sh https://my-netdata.io/kickstart-static64.sh - -# run the downloaded script (any sh is fine, no need for bash) -sh /tmp/kickstart-static64.sh +# download the script with curl +curl https://my-netdata.io/kickstart-static64.sh >/tmp/kickstart-static64.sh + +# or, download the script with wget +wget -O /tmp/kickstart-static64.sh https://my-netdata.io/kickstart-static64.sh + +# run the downloaded script (any sh is fine, no need for bash) +sh /tmp/kickstart-static64.sh ``` - The static binary files are kept in repo [binary-packages](https://github.com/netdata/binary-packages). You can download any of the `.run` files, and run it. These files are self-extracting shell scripts built with [makeself](https://github.com/megastep/makeself). @@ -128,284 +128,284 @@ sh /tmp/kickstart-static64.sh </details> <br/> -Once Netdata is installed, see [Getting Started](../docs/GettingStarted.md). +Once Netdata is installed, see [Getting Started](../../docs/GettingStarted.md). --- ## Run Netdata in a Docker container - -You can [Install Netdata with Docker](../packaging/docker/#install-netdata-with-docker). + +You can [Install Netdata with Docker](../docker/#install-netdata-with-docker). + +--- + +## Install Netdata on Linux manually + +To install the latest git version of Netdata, please follow these 2 steps: + +1. [Prepare your system](#prepare-your-system) + + Install the required packages on your system. + +2. [Install Netdata](#install-netdata) + + Download and install Netdata. You can also update it the same way. + +--- + +### Prepare your system + +Try our experimental automatic requirements installer (no need to be root). This will try to find the packages that should be installed on your system to build and run Netdata. It supports most major Linux distributions released after 2010: + +- **Alpine** Linux and its derivatives (you have to install `bash` yourself, before using the installer) +- **Arch** Linux and its derivatives +- **Gentoo** Linux and its derivatives +- **Debian** Linux and its derivatives (including **Ubuntu**, **Mint**) +- **Fedora** and its derivatives (including **Red Hat Enterprise Linux**, **CentOS**, **Amazon Machine Image**) +- **SuSe** Linux and its derivatives (including **openSuSe**) +- **SLE12** Must have your system registered with Suse Customer Center or have the DVD. See [#1162](https://github.com/netdata/netdata/issues/1162) + +Install the packages for having a **basic Netdata installation** (system monitoring and many applications, without `mysql` / `mariadb`, `postgres`, `named`, hardware sensors and `SNMP`): + +```sh +curl -Ss 'https://raw.githubusercontent.com/netdata/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata +``` + +Install all the required packages for **monitoring everything Netdata can monitor**: + +```sh +curl -Ss 'https://raw.githubusercontent.com/netdata/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata-all +``` + +If the above do not work for you, please [open a github issue](https://github.com/netdata/netdata/issues/new?title=packages%20installer%20failed&labels=installation%20help&body=The%20experimental%20packages%20installer%20failed.%0A%0AThis%20is%20what%20it%20says:%0A%0A%60%60%60txt%0A%0Aplease%20paste%20your%20screen%20here%0A%0A%60%60%60) with a copy of the message you get on screen. We are trying to make it work everywhere (this is also why the script [reports back](https://github.com/netdata/netdata/issues/2054) success or failure for all its runs). + +--- + +This is how to do it by hand: + +```sh +# Debian / Ubuntu +apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl + +# Fedora +dnf install zlib-devel libuuid-devel libmnl-devel gcc make git autoconf autoconf-archive autogen automake pkgconfig curl findutils + +# CentOS / Red Hat Enterprise Linux +yum install autoconf automake curl gcc git libmnl-devel libuuid-devel lm_sensors make MySQL-python nc pkgconfig python python-psycopg2 PyYAML zlib-devel + +``` + +Please note that for RHEL/CentOS you might need [EPEL](http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/). + +Once Netdata is compiled, to run it the following packages are required (already installed using the above commands): + +package|description +:-----:|----------- +`libuuid`|part of `util-linux` for GUIDs management +`zlib`|gzip compression for the internal Netdata web server + +*Netdata will fail to start without the above.* + +Netdata plugins and various aspects of Netdata can be enabled or benefit when these are installed (they are optional): + +package|description +:-----:|----------- +`bash`|for shell plugins and **alarm notifications** +`curl`|for shell plugins and **alarm notifications** +`iproute` or `iproute2`|for monitoring **Linux traffic QoS**<br/>use `iproute2` if `iproute` reports as not available or obsolete +`python`|for most of the external plugins +`python-yaml`|used for monitoring **beanstalkd** +`python-beanstalkc`|used for monitoring **beanstalkd** +`python-dnspython`|used for monitoring DNS query time +`python-ipaddress`|used for monitoring **DHCPd**<br/>this package is required only if the system has python v2. python v3 has this functionality embedded +`python-mysqldb`<br/>or<br/>`python-pymysql`|used for monitoring **mysql** or **mariadb** databases<br/>`python-mysqldb` is a lot faster and thus preferred +`python-psycopg2`|used for monitoring **postgresql** databases +`python-pymongo`|used for monitoring **mongodb** databases +`nodejs`|used for `node.js` plugins for monitoring **named** and **SNMP** devices +`lm-sensors`|for monitoring **hardware sensors** +`libmnl`|for collecting netfilter metrics +`netcat`|for shell plugins to collect metrics from remote systems + +*Netdata will greatly benefit if you have the above packages installed, but it will still work without them.* + +--- + +### Install Netdata + +Do this to install and run Netdata: + +```sh + +# download it - the directory 'netdata' will be created +git clone https://github.com/netdata/netdata.git --depth=1 +cd netdata + +# run script with root privileges to build, install, start Netdata +./netdata-installer.sh + +``` + +* If you don't want to run it straight-away, add `--dont-start-it` option. + +* If you don't want to install it on the default directories, you can run the installer like this: `./netdata-installer.sh --install /opt`. This one will install Netdata in `/opt/netdata`. + +Once the installer completes, the file `/etc/netdata/netdata.conf` will be created (if you changed the installation directory, the configuration will appear in that directory too). + +You can edit this file to set options. One common option to tweak is `history`, which controls the size of the memory database Netdata will use. By default is `3600` seconds (an hour of data at the charts) which makes Netdata use about 10-15MB of RAM (depending on the number of charts detected on your system). Check **[[Memory Requirements]]**. + +To apply the changes you made, you have to restart Netdata. --- -## Install Netdata on Linux manually - -To install the latest git version of Netdata, please follow these 2 steps: - -1. [Prepare your system](#prepare-your-system) - - Install the required packages on your system. - -2. [Install Netdata](#install-netdata) - - Download and install Netdata. You can also update it the same way. - ---- - -### Prepare your system - -Try our experimental automatic requirements installer (no need to be root). This will try to find the packages that should be installed on your system to build and run Netdata. It supports most major Linux distributions released after 2010: - -- **Alpine** Linux and its derivatives (you have to install `bash` yourself, before using the installer) -- **Arch** Linux and its derivatives -- **Gentoo** Linux and its derivatives -- **Debian** Linux and its derivatives (including **Ubuntu**, **Mint**) -- **Fedora** and its derivatives (including **Red Hat Enterprise Linux**, **CentOS**, **Amazon Machine Image**) -- **SuSe** Linux and its derivatives (including **openSuSe**) -- **SLE12** Must have your system registered with Suse Customer Center or have the DVD. See [#1162](https://github.com/netdata/netdata/issues/1162) - -Install the packages for having a **basic Netdata installation** (system monitoring and many applications, without `mysql` / `mariadb`, `postgres`, `named`, hardware sensors and `SNMP`): - -```sh -curl -Ss 'https://raw.githubusercontent.com/netdata/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata -``` - -Install all the required packages for **monitoring everything Netdata can monitor**: - -```sh -curl -Ss 'https://raw.githubusercontent.com/netdata/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata-all -``` - -If the above do not work for you, please [open a github issue](https://github.com/netdata/netdata/issues/new?title=packages%20installer%20failed&labels=installation%20help&body=The%20experimental%20packages%20installer%20failed.%0A%0AThis%20is%20what%20it%20says:%0A%0A%60%60%60txt%0A%0Aplease%20paste%20your%20screen%20here%0A%0A%60%60%60) with a copy of the message you get on screen. We are trying to make it work everywhere (this is also why the script [reports back](https://github.com/netdata/netdata/issues/2054) success or failure for all its runs). - ---- - -This is how to do it by hand: - -```sh -# Debian / Ubuntu -apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl - -# Fedora -dnf install zlib-devel libuuid-devel libmnl-devel gcc make git autoconf autoconf-archive autogen automake pkgconfig curl findutils - -# CentOS / Red Hat Enterprise Linux -yum install autoconf automake curl gcc git libmnl-devel libuuid-devel lm_sensors make MySQL-python nc pkgconfig python python-psycopg2 PyYAML zlib-devel - -``` - -Please note that for RHEL/CentOS you might need [EPEL](http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/). - -Once Netdata is compiled, to run it the following packages are required (already installed using the above commands): - -package|description -:-----:|----------- -`libuuid`|part of `util-linux` for GUIDs management -`zlib`|gzip compression for the internal Netdata web server - -*Netdata will fail to start without the above.* - -Netdata plugins and various aspects of Netdata can be enabled or benefit when these are installed (they are optional): - -package|description -:-----:|----------- -`bash`|for shell plugins and **alarm notifications** -`curl`|for shell plugins and **alarm notifications** -`iproute` or `iproute2`|for monitoring **Linux traffic QoS**<br/>use `iproute2` if `iproute` reports as not available or obsolete -`python`|for most of the external plugins -`python-yaml`|used for monitoring **beanstalkd** -`python-beanstalkc`|used for monitoring **beanstalkd** -`python-dnspython`|used for monitoring DNS query time -`python-ipaddress`|used for monitoring **DHCPd**<br/>this package is required only if the system has python v2. python v3 has this functionality embedded -`python-mysqldb`<br/>or<br/>`python-pymysql`|used for monitoring **mysql** or **mariadb** databases<br/>`python-mysqldb` is a lot faster and thus preferred -`python-psycopg2`|used for monitoring **postgresql** databases -`python-pymongo`|used for monitoring **mongodb** databases -`nodejs`|used for `node.js` plugins for monitoring **named** and **SNMP** devices -`lm-sensors`|for monitoring **hardware sensors** -`libmnl`|for collecting netfilter metrics -`netcat`|for shell plugins to collect metrics from remote systems - -*Netdata will greatly benefit if you have the above packages installed, but it will still work without them.* - ---- - -### Install Netdata - -Do this to install and run Netdata: - -```sh - -# download it - the directory 'netdata' will be created -git clone https://github.com/netdata/netdata.git --depth=1 -cd netdata - -# run script with root privileges to build, install, start Netdata -./netdata-installer.sh - -``` - -* If you don't want to run it straight-away, add `--dont-start-it` option. - -* If you don't want to install it on the default directories, you can run the installer like this: `./netdata-installer.sh --install /opt`. This one will install Netdata in `/opt/netdata`. - -Once the installer completes, the file `/etc/netdata/netdata.conf` will be created (if you changed the installation directory, the configuration will appear in that directory too). - -You can edit this file to set options. One common option to tweak is `history`, which controls the size of the memory database Netdata will use. By default is `3600` seconds (an hour of data at the charts) which makes Netdata use about 10-15MB of RAM (depending on the number of charts detected on your system). Check **[[Memory Requirements]]**. - -To apply the changes you made, you have to restart Netdata. - ---- - -## Other Systems - - - -##### Free |