]> git.proxmox.com Git - pve-docs.git/blame - pve-external-metric-server.adoc
vzdump: add section about backup fleecing
[pve-docs.git] / pve-external-metric-server.adoc
CommitLineData
13180d0c 1[[external_metric_server]]
d9abb1d6
DC
2External Metric Server
3----------------------
d9abb1d6
DC
4ifdef::wiki[]
5:pve-toplevel:
6endif::wiki[]
7
13180d0c
DC
8[thumbnail="screenshot/gui-datacenter-metric-server-list.png"]
9
08e75d1a
TL
10In {pve}, you can define external metric servers, which will periodically
11receive various stats about your hosts, virtual guests and storages.
d9abb1d6
DC
12
13Currently supported are:
14
a55d30db 15 * Graphite (see https://graphiteapp.org )
0a3aed9c 16 * InfluxDB (see https://www.influxdata.com/time-series-platform/influxdb/ )
d9abb1d6 17
08e75d1a
TL
18The external metric server definitions are saved in '/etc/pve/status.cfg', and
19can be edited through the web interface.
d9abb1d6 20
13180d0c 21[[metric_server_graphite]]
d9abb1d6
DC
22Graphite server configuration
23~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24
13180d0c 25[thumbnail="screenshot/gui-datacenter-metric-server-graphite.png"]
d9abb1d6 26
08e75d1a 27The default port is set to *2003* and the default graphite path is *proxmox*.
d9abb1d6 28
08e75d1a
TL
29By default, {pve} sends the data over UDP, so the graphite server has to be
30configured to accept this. Here the maximum transmission unit (MTU) can be
31configured for environments not using the standard *1500* MTU.
d9abb1d6 32
08e75d1a
TL
33You can also configure the plugin to use TCP. In order not to block the
34important `pvestatd` statistic collection daemon, a timeout is required to cope
35with network problems.
13180d0c
DC
36
37[[metric_server_influxdb]]
d9abb1d6
DC
38Influxdb plugin configuration
39~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40
13180d0c 41[thumbnail="screenshot/gui-datacenter-metric-server-influxdb.png"]
d9abb1d6 42
08e75d1a
TL
43{pve} sends the data over UDP, so the influxdb server has to be configured for
44this. The MTU can also be configured here, if necessary.
d9abb1d6
DC
45
46Here is an example configuration for influxdb (on your influxdb server):
47
0a3aed9c 48----
08e75d1a 49[[udp]]
d9abb1d6
DC
50 enabled = true
51 bind-address = "0.0.0.0:8089"
52 database = "proxmox"
53 batch-size = 1000
54 batch-timeout = "1s"
0a3aed9c 55----
d9abb1d6 56
08e75d1a
TL
57With this configuration, your server listens on all IP addresses on port 8089,
58and writes the data in the *proxmox* database
2de05ac4
DC
59
60Alternatively, the plugin can be configured to use the http(s) API of InfluxDB 2.x.
61InfluxDB 1.8.x does contain a forwards compatible API endpoint for this v2 API.
62
63To use it, set 'influxdbproto' to 'http' or 'https' (depending on your configuration).
64By default, {pve} uses the organization 'proxmox' and the bucket/db 'proxmox'
65(They can be set with the configuration 'organization' and 'bucket' respectively).
66
67Since InfluxDB's v2 API is only available with authentication, you have
68to generate a token that can write into the correct bucket and set it.
69
70In the v2 compatible API of 1.8.x, you can use 'user:password' as token
71(if required), and can omit the 'organization' since that has no meaning in InfluxDB 1.x.
72
73You can also set the HTTP Timeout (default is 1s) with the 'timeout' setting,
74as well as the maximum batch size (default 25000000 bytes) with the
75'max-body-size' setting (this corresponds to the InfluxDB setting with the
76same name).