Skip to content

Commit

Permalink
Merge pull request #1579 from nvollmar/T973
Browse files Browse the repository at this point in the history
T973: Improve monitoring documentation
  • Loading branch information
rebortg authored Dec 17, 2024
2 parents 8139b44 + 1b8fb39 commit 347c717
Showing 1 changed file with 89 additions and 23 deletions.
112 changes: 89 additions & 23 deletions docs/configuration/service/monitoring.rst
Original file line number Diff line number Diff line change
@@ -1,9 +1,27 @@
##########
Monitoring
----------
##########

Azure-data-explorer
VyOS supports monitoring through Telegraf as well as through Prometheus exporters.

********
Telegraf
********

Telegraf is the open source server agent to help you collect metrics, events
and logs from your routers.

The following Telegraf plugins are configurable to export metrics and logs:
* Azure Data Explorer
* Prometheus Client
* Splunk
* InfluxDB
* Loki


Azure data explorer
===================
Telegraf output plugin azure-data-explorer_
Telegraf output plugin azure-data-explorer_.

.. cfgcmd:: set service monitoring telegraf azure-data-explorer authentication client-id <client-id>

Expand Down Expand Up @@ -34,9 +52,12 @@ Telegraf output plugin azure-data-explorer_

Remote URL.

Prometheus-client

Prometheus client
=================
Telegraf output plugin prometheus-client_
This plugin allows export of Telegraf metrics to Prometheus,
for Prometheus native metrics through exporters see section below.

.. cfgcmd:: set service monitoring telegraf prometheus-client

Expand Down Expand Up @@ -79,9 +100,10 @@ Example:
cpu_usage_system{cpu="cpu0",host="r14"} 0.17182130584191915
cpu_usage_system{cpu="cpu1",host="r14"} 0.22896393817971655
Splunk
======
Telegraf output plugin splunk_. HTTP Event Collector.
Telegraf output plugin splunk_ HTTP Event Collector.

.. cfgcmd:: set service monitoring telegraf splunk authentication insecure

Expand All @@ -103,11 +125,10 @@ Example:
set service monitoring telegraf splunk authentication token 'xxxxf5b8-xxxx-452a-xxxx-43828911xxxx'
set service monitoring telegraf splunk url 'https://192.0.2.10:8088/services/collector'
Telegraf
InfluxDB
========
Monitoring functionality with ``telegraf`` and ``InfluxDB 2`` is provided.
Telegraf is the open source server agent to help you collect metrics, events
and logs from your routers.
Telegraf output plugin influxdb_ to write metrics to ``InfluxDB`` via HTTP.

.. cfgcmd:: set service monitoring telegraf influxdb authentication organization <organization>

Expand All @@ -130,10 +151,21 @@ and logs from your routers.
Remote URL


Example:

.. code-block:: none
set service monitoring telegraf influxdb authentication organization 'vyos'
set service monitoring telegraf influxdb authentication token 'ZAml9Uy5wrhA...=='
set service monitoring telegraf influxdb bucket 'bucket_vyos'
set service monitoring telegraf influxdb port '8086'
set service monitoring telegraf influxdb url 'http://r1.influxdb2.local'
Loki
====

Telegraf can be used to send logs to Loki using tags as labels.
Telegraf can be used to send logs to loki_ using tags as labels.

.. cfgcmd:: set service monitoring telegraf loki port <port>

Expand All @@ -160,20 +192,54 @@ Telegraf can be used to send logs to Loki using tags as labels.
This is NOT recommended, as it makes it impossible to differentiate
between multiple metrics.

Example
=======
.. _azure-data-explorer: https://github.com/influxdata/telegraf/tree/master/plugins/outputs/azure_data_explorer
.. _prometheus-client: https://github.com/influxdata/telegraf/tree/master/plugins/outputs/prometheus_client
.. _influxdb: https://github.com/influxdata/telegraf/tree/master/plugins/outputs/influxdb_v2
.. _splunk: https://www.splunk.com/en_us/blog/it/splunk-metrics-via-telegraf.html
.. _loki: https://github.com/influxdata/telegraf/tree/master/plugins/outputs/loki

An example of a configuration that sends ``telegraf`` metrics to remote
``InfluxDB 2``

.. code-block:: none
**********
Prometheus
**********

set service monitoring telegraf influxdb authentication organization 'vyos'
set service monitoring telegraf influxdb authentication token 'ZAml9Uy5wrhA...=='
set service monitoring telegraf influxdb bucket 'bucket_vyos'
set service monitoring telegraf influxdb port '8086'
set service monitoring telegraf influxdb url 'http://r1.influxdb2.local'
The following Prometheus exporters are configurable to export metrics:
* Node Exporter
* FRR Exporter

.. _azure-data-explorer: https://github.com/influxdata/telegraf/tree/master/plugins/outputs/azure_data_explorer
.. _prometheus-client: https://github.com/influxdata/telegraf/tree/master/plugins/outputs/prometheus_client
.. _splunk: https://www.splunk.com/en_us/blog/it/splunk-metrics-via-telegraf.html

Node Exporter
=============
Prometheus node_exporter_ which provides a wide range of hardware and OS metrics.

.. cfgcmd:: set service monitoring node-exporter listen-address <address>

Configure the address node_exporter is listening on.

.. cfgcmd:: set service monitoring node-exporter port <port>

Configure the port number node_exporter is listening on.

.. cfgcmd:: set service monitoring node-exporter vrf <name>

Configure name of the :abbr:`VRF (Virtual Routing and Forwarding)` instance.


FRR Exporter
============
Prometheus frr_exporter_ which provides free range routing metrics.

.. cfgcmd:: set service monitoring frr-exporter listen-address <address>

Configure the address frr_exporter is listening on.

.. cfgcmd:: set service monitoring frr-exporter port <port>

Configure the port number frr_exporter is listening on.

.. cfgcmd:: set service monitoring frr-exporter vrf <name>

Configure name of the :abbr:`VRF (Virtual Routing and Forwarding)` instance.

.. _node_exporter: https://github.com/prometheus/node_exporter
.. _frr_exporter: https://github.com/tynany/frr_exporter

0 comments on commit 347c717

Please sign in to comment.