From 262a3967ec8bd30dbdb273c9a23e514bb8608a74 Mon Sep 17 00:00:00 2001 From: Neil Lathwood Date: Sun, 13 Aug 2017 19:18:19 +0100 Subject: [PATCH] docs: Centralised the Metric storage docs (#7109) --- doc/Developing/Support-New-OS.md | 1 + doc/Extensions/Graphite.md | 33 +----------------------- doc/Extensions/InfluxDB.md | 40 +----------------------------- doc/Extensions/Metric-Storage.md | 14 +++++++++++ doc/Extensions/OpenTSDB.md | 25 +------------------ doc/Extensions/metrics/Graphite.md | 32 ++++++++++++++++++++++++ doc/Extensions/metrics/InfluxDB.md | 39 +++++++++++++++++++++++++++++ doc/Extensions/metrics/OpenTSDB.md | 24 ++++++++++++++++++ mkdocs.yml | 39 +++++++++++++++-------------- 9 files changed, 133 insertions(+), 114 deletions(-) create mode 100644 doc/Extensions/Metric-Storage.md create mode 100644 doc/Extensions/metrics/Graphite.md create mode 100644 doc/Extensions/metrics/InfluxDB.md create mode 100644 doc/Extensions/metrics/OpenTSDB.md diff --git a/doc/Developing/Support-New-OS.md b/doc/Developing/Support-New-OS.md index 9cd8074885..2f91af6c43 100644 --- a/doc/Developing/Support-New-OS.md +++ b/doc/Developing/Support-New-OS.md @@ -1,4 +1,5 @@ source: Developing/Support-New-OS.md +hide_toc: true This document is broken down into the relevant sections depending on what support you are adding. During all of these examples we will be using the OS of `pulse` as the example OS we will add. diff --git a/doc/Extensions/Graphite.md b/doc/Extensions/Graphite.md index f833ed0871..7c31af8532 100644 --- a/doc/Extensions/Graphite.md +++ b/doc/Extensions/Graphite.md @@ -1,32 +1 @@ -source: Extensions/Graphite.md -# Enabling support for Graphite. - -This module sends all metrics to a remote graphite service. You need something like Grafana for graphing. - -### What you don't get - - Pretty graphs, this is why at present you need Grafana. You need to build your own graphs within Grafana. - -RRD will continue to function as normal so LibreNMS itself should continue to function as normal. - -### Configuration -```php -$config['graphite']['enable'] = true; -$config['graphite']['host'] = 'your.graphite.server'; -$config['graphite']['port'] = 2003; // this defaults to 2003 and is usually not needed -$config['graphite']['prefix'] = 'your.metric.prefix'; -``` - -Your metric path can be prefixed if required, otherwise the metric path for Graphite will be in the form of -`hostname.measurement.fieldname`, interfaces will be stored as `hostname.ports.ifName.fieldname`. - -The same data then stored within rrd will be sent to Graphite and recorded. You can then create graphs within Grafana -to display the information you need. - -### Graphite Configuration -As LibreNMS updates its metrics every 5 minutes, the following addition to your storage-schemas.conf is suggested. - -``` -[network] -pattern = your\.metric\.prefix\..* -retentions = 5m:30d,15m:90d,1h:1y -``` + \ No newline at end of file diff --git a/doc/Extensions/InfluxDB.md b/doc/Extensions/InfluxDB.md index 31c064decc..7b815facc4 100644 --- a/doc/Extensions/InfluxDB.md +++ b/doc/Extensions/InfluxDB.md @@ -1,39 +1 @@ -source: Extensions/InfluxDB.md -# Enabling support for InfluxDB. - -Before we get started it is important that you know and understand that InfluxDB support is currently alpha at best. -All it provides is the sending of data to a InfluxDB install. Due to the current changes that are constantly being -made to InfluxDB itself then we cannot guarantee that your data will be ok so enabling this support is at your own -risk! - -### Requirements - - InfluxDB >= 0.94 - - Grafana - - PHP 5.5 for InfluxDB-PHP - -The setup of the above is completely out of scope here and we aren't really able to provide any help with this side -of things. - -### What you don't get - - Pretty graphs, this is why at present you need Grafana. You need to build your own graphs within Grafana. - - Support for InfluxDB or Grafana, we would highly recommend that you have some level of experience with these. - -RRD will continue to function as normal so LibreNMS itself should continue to function as normal. - -### Configuration -```php -$config['influxdb']['enable'] = true; -$config['influxdb']['transport'] = 'http'; # Default, other options: https, udp -$config['influxdb']['host'] = '127.0.0.1'; -$config['influxdb']['port'] = '8086'; -$config['influxdb']['db'] = 'librenms'; -$config['influxdb']['username'] = 'admin'; -$config['influxdb']['password'] = 'admin'; -$config['influxdb']['timeout'] = 0; # Optional -$config['influxdb']['verifySSL'] = false; # Optional -``` - -No credentials are needed if you don't use InfluxDB authentication. - -The same data then stored within rrd will be sent to InfluxDB and recorded. You can then create graphs within Grafana -to display the information you need. + \ No newline at end of file diff --git a/doc/Extensions/Metric-Storage.md b/doc/Extensions/Metric-Storage.md new file mode 100644 index 0000000000..caf6661e2e --- /dev/null +++ b/doc/Extensions/Metric-Storage.md @@ -0,0 +1,14 @@ +source: Extensions/Metric-Storage.md +hide_toc: true + +### Metric storage +By default we ship all metrics to RRD files, either directly or via [RRDCached](RRDCached.md). On top of this +you can ship metrics to InfluxDB, Graphite and / or OpenTSDB. At present you can't use these backends to display +graphs within LibreNMS and will need to use something like [Grafana](https://grafana.com/). + +For further information on configuring LibreNMS to ship data to one of the other backends then please see +the documentation below. + +> - [InfluxDB](metrics/InfluxDB.md) +> - [Graphite](metrics/Graphite.md) +> - [OpenTSDB](metrics/OpenTSDB.md) diff --git a/doc/Extensions/OpenTSDB.md b/doc/Extensions/OpenTSDB.md index 2d19b92bd2..fe0067b505 100644 --- a/doc/Extensions/OpenTSDB.md +++ b/doc/Extensions/OpenTSDB.md @@ -1,24 +1 @@ -source: Extensions/OpenTSDB.md -# Enabling support for OpenTSDB. - -This module sends all metrics to OpenTSDB server. You need something like Grafana for graphing. - -### Requirements - - OpenTSDB - - Grafana - -### What you don't get - - Pretty graphs, this is why at present you need Grafana. You need to build your own graphs within Grafana. - -RRD will continue to function normally so LibreNMS itself should continue to function normally. - -You can add the following to `config.php`. -### Configuration -```php -// OpenTSDB default configuration -$config['opentsdb']['enable'] = true; -$config['opentsdb']['host'] = '127.0.0.1'; // your OpenTSDB server -$config['opentsdb']['port'] = 4242; -``` - -The same data than the one stored within rrd will be sent to OpenTSDB and recorded. You can then create graphs within Grafana to display the information you need. + \ No newline at end of file diff --git a/doc/Extensions/metrics/Graphite.md b/doc/Extensions/metrics/Graphite.md new file mode 100644 index 0000000000..a745d54dad --- /dev/null +++ b/doc/Extensions/metrics/Graphite.md @@ -0,0 +1,32 @@ +source: Extensions/metrics/Graphite.md +# Enabling support for Graphite. + +This module sends all metrics to a remote graphite service. You need something like Grafana for graphing. + +### What you don't get + - Pretty graphs, this is why at present you need Grafana. You need to build your own graphs within Grafana. + +RRD will continue to function as normal so LibreNMS itself should continue to function as normal. + +### Configuration +```php +$config['graphite']['enable'] = true; +$config['graphite']['host'] = 'your.graphite.server'; +$config['graphite']['port'] = 2003; // this defaults to 2003 and is usually not needed +$config['graphite']['prefix'] = 'your.metric.prefix'; +``` + +Your metric path can be prefixed if required, otherwise the metric path for Graphite will be in the form of +`hostname.measurement.fieldname`, interfaces will be stored as `hostname.ports.ifName.fieldname`. + +The same data then stored within rrd will be sent to Graphite and recorded. You can then create graphs within Grafana +to display the information you need. + +### Graphite Configuration +As LibreNMS updates its metrics every 5 minutes, the following addition to your storage-schemas.conf is suggested. + +``` +[network] +pattern = your\.metric\.prefix\..* +retentions = 5m:30d,15m:90d,1h:1y +``` diff --git a/doc/Extensions/metrics/InfluxDB.md b/doc/Extensions/metrics/InfluxDB.md new file mode 100644 index 0000000000..30dc95433b --- /dev/null +++ b/doc/Extensions/metrics/InfluxDB.md @@ -0,0 +1,39 @@ +source: Extensions/metrics/InfluxDB.md +# Enabling support for InfluxDB. + +Before we get started it is important that you know and understand that InfluxDB support is currently alpha at best. +All it provides is the sending of data to a InfluxDB install. Due to the current changes that are constantly being +made to InfluxDB itself then we cannot guarantee that your data will be ok so enabling this support is at your own +risk! + +### Requirements + - InfluxDB >= 0.94 + - Grafana + - PHP 5.5 for InfluxDB-PHP + +The setup of the above is completely out of scope here and we aren't really able to provide any help with this side +of things. + +### What you don't get + - Pretty graphs, this is why at present you need Grafana. You need to build your own graphs within Grafana. + - Support for InfluxDB or Grafana, we would highly recommend that you have some level of experience with these. + +RRD will continue to function as normal so LibreNMS itself should continue to function as normal. + +### Configuration +```php +$config['influxdb']['enable'] = true; +$config['influxdb']['transport'] = 'http'; # Default, other options: https, udp +$config['influxdb']['host'] = '127.0.0.1'; +$config['influxdb']['port'] = '8086'; +$config['influxdb']['db'] = 'librenms'; +$config['influxdb']['username'] = 'admin'; +$config['influxdb']['password'] = 'admin'; +$config['influxdb']['timeout'] = 0; # Optional +$config['influxdb']['verifySSL'] = false; # Optional +``` + +No credentials are needed if you don't use InfluxDB authentication. + +The same data then stored within rrd will be sent to InfluxDB and recorded. You can then create graphs within Grafana +to display the information you need. diff --git a/doc/Extensions/metrics/OpenTSDB.md b/doc/Extensions/metrics/OpenTSDB.md new file mode 100644 index 0000000000..fe39ad9202 --- /dev/null +++ b/doc/Extensions/metrics/OpenTSDB.md @@ -0,0 +1,24 @@ +source: Extensions/metrics/OpenTSDB.md +# Enabling support for OpenTSDB. + +This module sends all metrics to OpenTSDB server. You need something like Grafana for graphing. + +### Requirements + - OpenTSDB + - Grafana + +### What you don't get + - Pretty graphs, this is why at present you need Grafana. You need to build your own graphs within Grafana. + +RRD will continue to function normally so LibreNMS itself should continue to function normally. + +You can add the following to `config.php`. +### Configuration +```php +// OpenTSDB default configuration +$config['opentsdb']['enable'] = true; +$config['opentsdb']['host'] = '127.0.0.1'; // your OpenTSDB server +$config['opentsdb']['port'] = 4242; +``` + +The same data than the one stored within rrd will be sent to OpenTSDB and recorded. You can then create graphs within Grafana to display the information you need. diff --git a/mkdocs.yml b/mkdocs.yml index e171ce0c5d..7ccaeb4420 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -51,16 +51,14 @@ pages: - Extensions/Email-Alerting.md - Extensions/Globe-Frontpage.md - Extensions/Graylog.md - - Extensions/Graphite.md - Extensions/IRC-Bot.md - Extensions/IRC-Bot-Extensions.md - - Extensions/InfluxDB.md - Extensions/Interface-Description-Parsing.md - Extensions/MIB-based-polling.md - Extensions/Memcached.md + - Extensions/Metric-Storage.md - Extensions/Network-Map.md - Extensions/NFSen.md - - Extensions/OpenTSDB.md - Extensions/Oxidized.md - Extensions/PeeringDB.md - Extensions/Plugin-System.md @@ -105,25 +103,28 @@ pages: - Developing/Merging-Pull-Requests.md - Developing/Creating-Release.md - hidden: - - Ubuntu 14.04 (Nginx): Installation/Installation-Ubuntu-1404-Nginx.md - - Ubuntu 14.04 (Apache): Installation/Installation-Ubuntu-1404-Apache.md - - Ubuntu 14.04 (Lighttpd): Installation/Installation-Ubuntu-1404-Lighttpd.md - - CentOS 6 (Apache/Nginx): Installation/Installation-CentOS-6-Apache-Nginx.md - - Installation/Installation-(Debian-Ubuntu).md - - Installation/Installation-(RHEL-CentOS).md - - Support/Support-New-OS.md - - Extensions/Agent-Setup.md - - Extensions/RRDCached-Security.md - - Developing/os/Initial-Detection.md - - Developing/os/Mem-CPU-Information.md - - Developing/os/Test-Units.md - - Developing/os/Health-Information.md - - Developing/os/Wireless-Sensors.md - - Developing/os/Custom-Graphs.md - - Extensions/Alerting.md - Alerting/Rules.md - Alerting/Templates.md - Alerting/Transports.md - Alerting/Entities.md - Alerting/Macros.md - Alerting/Rules.md + - Developing/os/Initial-Detection.md + - Developing/os/Mem-CPU-Information.md + - Developing/os/Test-Units.md + - Developing/os/Health-Information.md + - Developing/os/Wireless-Sensors.md + - Developing/os/Custom-Graphs.md + - Extensions/Agent-Setup.md + - Extensions/Alerting.md + - Extensions/metrics/InfluxDB.md + - Extensions/metrics/Graphite.md + - Extensions/metrics/OpenTSDB.md + - Extensions/RRDCached-Security.md + - Installation/Installation-Ubuntu-1404-Nginx.md + - Installation/Installation-Ubuntu-1404-Apache.md + - Installation/Installation-Ubuntu-1404-Lighttpd.md + - Installation/Installation-CentOS-6-Apache-Nginx.md + - Installation/Installation-(Debian-Ubuntu).md + - Installation/Installation-(RHEL-CentOS).md + - Support/Support-New-OS.md