X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=pve-external-metric-server.adoc;h=641fc42b186644eb26808f8c5d2006cb224eb3cc;hb=12804f688fe4a0a4d6affb94174b0242259588f8;hp=4eadb2f52f1fb654e6fdc05cedab6b1325e25e80;hpb=6cd1e06b1e0e345f98d96f0cd6b2e3c8ff3311af;p=pve-docs.git diff --git a/pve-external-metric-server.adoc b/pve-external-metric-server.adoc index 4eadb2f..641fc42 100644 --- a/pve-external-metric-server.adoc +++ b/pve-external-metric-server.adoc @@ -1,49 +1,47 @@ +[[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 ) + * 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: your-id - 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: +[thumbnail="screenshot/gui-datacenter-metric-server-influxdb.png"] ----- -influxdb: your-id - server your-server - port your-port ----- - -{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): @@ -56,26 +54,23 @@ Here is an example configuration for influxdb (on your influxdb server): batch-timeout = "1s" ---- -With this configuration, your server listens on all IP addresses on -port 8089, and writes the data in the *proxmox* database - -Multiple Definitions and Example -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +With this configuration, your server listens on all IP addresses on port 8089, +and writes the data in the *proxmox* database -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. +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. -Here is an example of a finished status.cfg +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). ----- -graphite: - server 10.0.0.5 +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. -influxdb: influx1 - server 10.0.0.6 - port 8089 +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. -influxdb: influx2 - server 10.0.0.7 - port 8090 ----- +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).