External Metric Server: Difference between revisions
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
[[Category:Reference Documentation]] | [[Category:Reference Documentation]] | ||
<pvehide> | <pvehide> | ||
Starting with Proxmox VE 4.0, you can define external metric servers, | Starting with Proxmox VE 4.0, you can define external metric servers, which will | ||
which will be sent various stats about your hosts, virtual machines and storages. | be sent various stats about your hosts, virtual machines and storages. | ||
Currently supported are: | Currently supported are: | ||
Graphite (see http://graphiteapp.org ) | |||
InfluxDB (see https://www.influxdata.com/time-series-platform/influxdb/ ) | |||
The server definitions are saved in | The server definitions are saved in /etc/pve/status.cfg | ||
Graphite server configuration | Graphite server configuration | ||
The definition of a server is: | The definition of a server is: | ||
graphite: | graphite: your-id | ||
server your-server | |||
port your-port | |||
path your-path | |||
where your-port defaults to 2003 | where your-port defaults to 2003 and your-path defaults to proxmox | ||
and your-path defaults to proxmox | Proxmox VE sends the data over UDP, so the graphite server has to be configured | ||
Proxmox VE sends the data over | for this. | ||
has to be configured for this | |||
Influxdb plugin configuration | Influxdb plugin configuration | ||
The definition is: | The definition is: | ||
influxdb: | influxdb: your-id | ||
server your-server | |||
port your-port | |||
Proxmox VE sends the data over | Proxmox VE sends the data over UDP, so the influxdb server has to be configured | ||
has to be configured for this | for this. | ||
Here is an example configuration for influxdb (on your influxdb server): | Here is an example configuration for influxdb (on your influxdb server): | ||
[[udp]] | [[udp]] | ||
enabled = true | |||
bind-address = "0.0.0.0:8089" | |||
database = "proxmox" | |||
batch-size = 1000 | |||
batch-timeout = "1s" | |||
With this configuration, your server listens on all IP addresses on | With this configuration, your server listens on all IP addresses on | ||
port 8089, and writes the data in the proxmox database | port 8089, and writes the data in the proxmox database | ||
Multiple Definitions and Example | |||
The id is optional, but if you want to have multiple definitions of a single | |||
type, then the ids must be defined and different from each other. | |||
Here is an example of a finished status.cfg | |||
graphite: | |||
server 10.0.0.5 | |||
influxdb: influx1 | |||
server 10.0.0.6 | |||
port 8089 | |||
influxdb: influx2 | |||
server 10.0.0.7 | |||
port 8090 | |||
</pvehide> | </pvehide> | ||
<!--PVE_IMPORT_END_MARKER--> | <!--PVE_IMPORT_END_MARKER--> |
Revision as of 09:23, 16 July 2019
In Proxmox VE, you can define external metric servers, which will periodically receive various stats about your hosts, virtual guests and storages.
Currently supported are:
-
Graphite (see https://graphiteapp.org )
-
InfluxDB (see https://www.influxdata.com/time-series-platform/influxdb/ )
The external metric server definitions are saved in /etc/pve/status.cfg, and can be edited through the web interface.
Graphite server configuration
By default, Proxmox VE sends the data over UDP, so the graphite server has to be configured to accept this. Here the maximum transmission unit (MTU) can be configured for environments not using the standard 1500 MTU.
You can also configure the plugin to use TCP. In order not to block the important pvestatd statistic collection daemon, a timeout is required to cope with network problems.
Influxdb plugin configuration
Proxmox VE sends the data over UDP, so the influxdb server has to be configured for this. The MTU can also be configured here, if necessary.
Here is an example configuration for influxdb (on your influxdb server):
[[udp]] enabled = true bind-address = "0.0.0.0:8089" database = "proxmox" batch-size = 1000 batch-timeout = "1s"
With this configuration, your server listens on all IP addresses on port 8089, and writes the data in the proxmox database
Alternatively, the plugin can be configured to use the http(s) API of InfluxDB 2.x. InfluxDB 1.8.x does contain a forwards compatible API endpoint for this v2 API.
To use it, set influxdbproto to http or https (depending on your configuration). By default, Proxmox VE uses the organization proxmox and the bucket/db proxmox (They can be set with the configuration organization and bucket respectively).
Since InfluxDB’s v2 API is only available with authentication, you have to generate a token that can write into the correct bucket and set it.
In the v2 compatible API of 1.8.x, you can use user:password as token (if required), and can omit the organization since that has no meaning in InfluxDB 1.x.
You can also set the HTTP Timeout (default is 1s) with the timeout setting, as well as the maximum batch size (default 25000000 bytes) with the max-body-size setting (this corresponds to the InfluxDB setting with the same name).