Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

T973: Improve monitoring documentation #1579

Merged
merged 2 commits into from
Dec 17, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading