X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=pve-external-metric-server.adoc;h=641fc42b186644eb26808f8c5d2006cb224eb3cc;hb=432750f71ed932646142f42640cd6be8695d720c;hp=0a7c36e8579bf26de1be078b12dd52a8dca19a32;hpb=a69bfc83f6d2b79e94eeb39781d89b720b4482dc;p=pve-docs.git diff --git a/pve-external-metric-server.adoc b/pve-external-metric-server.adoc index 0a7c36e..641fc42 100644 --- a/pve-external-metric-server.adoc +++ b/pve-external-metric-server.adoc @@ -1,56 +1,76 @@ +[[external_metric_server]] External Metric Server ---------------------- ifdef::wiki[] :pve-toplevel: endif::wiki[] -Starting with {pve} 4.0, you can define external metric servers, -which will be sent various stats about your hosts, virtual machines and storages. +[thumbnail="screenshot/gui-datacenter-metric-server-list.png"] + +In {pve}, you can define external metric servers, which will periodically +receive various stats about your hosts, virtual guests and storages. Currently supported are: - * graphite (see http://graphiteapp.org ) - * influxdb (see https://www.influxdata.com/time-series-platform/influxdb/ ) + * Graphite (see https://graphiteapp.org ) + * InfluxDB (see https://www.influxdata.com/time-series-platform/influxdb/ ) -The server definitions are saved in - /etc/pve/status.cfg +The external metric server definitions are saved in '/etc/pve/status.cfg', and +can be edited through the web interface. +[[metric_server_graphite]] Graphite server configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The definition of a server is: +[thumbnail="screenshot/gui-datacenter-metric-server-graphite.png"] - graphite: - server your-server - port your-port - path your-path +The default port is set to *2003* and the default graphite path is *proxmox*. -where your-port defaults to *2003* -and your-path defaults to *proxmox* +By default, {pve} 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. -{pve} sends the data over udp, so the graphite server -has to be configured for this +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. +[[metric_server_influxdb]] Influxdb plugin configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The definition is: - - influxdb: - server your-server - port your-port +[thumbnail="screenshot/gui-datacenter-metric-server-influxdb.png"] -{pve} sends the data over udp, so the influxdb server -has to be configured for this +{pve} 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]] +---- +[[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, {pve} 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. -With this configuration, your server listens on all IP adresses on -port 8089, and writes the data in the *proxmox* database +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).