Merge pull request #1579 from nvollmar/T973

T973: Improve monitoring documentation
This commit is contained in:
Robert Göhler 2024-12-17 22:16:08 +01:00 committed by GitHub
commit 347c7175f6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,9 +1,27 @@
##########
Monitoring 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> .. cfgcmd:: set service monitoring telegraf azure-data-explorer authentication client-id <client-id>
@ -34,9 +52,12 @@ Telegraf output plugin azure-data-explorer_
Remote URL. Remote URL.
Prometheus-client
Prometheus client
================= =================
Telegraf output plugin 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 .. cfgcmd:: set service monitoring telegraf prometheus-client
@ -79,9 +100,10 @@ Example:
cpu_usage_system{cpu="cpu0",host="r14"} 0.17182130584191915 cpu_usage_system{cpu="cpu0",host="r14"} 0.17182130584191915
cpu_usage_system{cpu="cpu1",host="r14"} 0.22896393817971655 cpu_usage_system{cpu="cpu1",host="r14"} 0.22896393817971655
Splunk Splunk
====== ======
Telegraf output plugin splunk_. HTTP Event Collector. Telegraf output plugin splunk_ HTTP Event Collector.
.. cfgcmd:: set service monitoring telegraf splunk authentication insecure .. cfgcmd:: set service monitoring telegraf splunk authentication insecure
@ -103,11 +125,10 @@ Example:
set service monitoring telegraf splunk authentication token 'xxxxf5b8-xxxx-452a-xxxx-43828911xxxx' 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' 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 output plugin influxdb_ to write metrics to ``InfluxDB`` via HTTP.
Telegraf is the open source server agent to help you collect metrics, events
and logs from your routers.
.. cfgcmd:: set service monitoring telegraf influxdb authentication organization <organization> .. cfgcmd:: set service monitoring telegraf influxdb authentication organization <organization>
@ -130,10 +151,21 @@ and logs from your routers.
Remote URL 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 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> .. cfgcmd:: set service monitoring telegraf loki port <port>
@ -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 This is NOT recommended, as it makes it impossible to differentiate
between multiple metrics. between multiple metrics.
Example
=======
An example of a configuration that sends ``telegraf`` metrics to remote
``InfluxDB 2``
.. 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'
.. _azure-data-explorer: https://github.com/influxdata/telegraf/tree/master/plugins/outputs/azure_data_explorer .. _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 .. _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 .. _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
**********
Prometheus
**********
The following Prometheus exporters are configurable to export metrics:
* Node Exporter
* FRR Exporter
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