]>
Commit | Line | Data |
---|---|---|
13180d0c | 1 | [[external_metric_server]] |
d9abb1d6 DC |
2 | External Metric Server |
3 | ---------------------- | |
d9abb1d6 DC |
4 | ifdef::wiki[] |
5 | :pve-toplevel: | |
6 | endif::wiki[] | |
7 | ||
13180d0c DC |
8 | [thumbnail="screenshot/gui-datacenter-metric-server-list.png"] |
9 | ||
08e75d1a TL |
10 | In {pve}, you can define external metric servers, which will periodically |
11 | receive various stats about your hosts, virtual guests and storages. | |
d9abb1d6 DC |
12 | |
13 | Currently 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 |
18 | The external metric server definitions are saved in '/etc/pve/status.cfg', and |
19 | can be edited through the web interface. | |
d9abb1d6 | 20 | |
13180d0c | 21 | [[metric_server_graphite]] |
d9abb1d6 DC |
22 | Graphite server configuration |
23 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
24 | ||
13180d0c | 25 | [thumbnail="screenshot/gui-datacenter-metric-server-graphite.png"] |
d9abb1d6 | 26 | |
08e75d1a | 27 | The default port is set to *2003* and the default graphite path is *proxmox*. |
d9abb1d6 | 28 | |
08e75d1a TL |
29 | By default, {pve} sends the data over UDP, so the graphite server has to be |
30 | configured to accept this. Here the maximum transmission unit (MTU) can be | |
31 | configured for environments not using the standard *1500* MTU. | |
d9abb1d6 | 32 | |
08e75d1a TL |
33 | You can also configure the plugin to use TCP. In order not to block the |
34 | important `pvestatd` statistic collection daemon, a timeout is required to cope | |
35 | with network problems. | |
13180d0c DC |
36 | |
37 | [[metric_server_influxdb]] | |
d9abb1d6 DC |
38 | Influxdb 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 |
44 | this. The MTU can also be configured here, if necessary. | |
d9abb1d6 DC |
45 | |
46 | Here 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 |
57 | With this configuration, your server listens on all IP addresses on port 8089, |
58 | and writes the data in the *proxmox* database | |
2de05ac4 DC |
59 | |
60 | Alternatively, the plugin can be configured to use the http(s) API of InfluxDB 2.x. | |
61 | InfluxDB 1.8.x does contain a forwards compatible API endpoint for this v2 API. | |
62 | ||
63 | To use it, set 'influxdbproto' to 'http' or 'https' (depending on your configuration). | |
64 | By default, {pve} uses the organization 'proxmox' and the bucket/db 'proxmox' | |
65 | (They can be set with the configuration 'organization' and 'bucket' respectively). | |
66 | ||
67 | Since InfluxDB's v2 API is only available with authentication, you have | |
68 | to generate a token that can write into the correct bucket and set it. | |
69 | ||
70 | In 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 | ||
73 | You can also set the HTTP Timeout (default is 1s) with the 'timeout' setting, | |
74 | as well as the maximum batch size (default 25000000 bytes) with the | |
75 | 'max-body-size' setting (this corresponds to the InfluxDB setting with the | |
76 | same name). |