Documentation

IPVS Input Plugin

This plugin gathers metrics about the IPVS virtual and real servers using the netlink socket interface of the Linux kernel.

The plugin requires CAP_NET_ADMIN and CAP_NET_RAW capabilities. Check the permissions section for ways to grant them.

Introduced in: Telegraf v1.9.0 Tags: network, system OS support: linux

Global configuration options

In addition to the plugin-specific configuration settings, plugins support additional global and plugin configuration settings. These settings are used to modify metrics, tags, and field or create aliases and configure ordering, etc. See the CONFIGURATION.md for more details.

Configuration

# Collect virtual and real server stats from Linux IPVS
# This plugin ONLY supports Linux
[[inputs.ipvs]]
  # no configuration

Permissions

Assuming you installed the Telegraf package via one of the published packages, the process will be running as the telegraf user. However, in order for this plugin to communicate over netlink sockets it needs the telegraf process to have CAP_NET_ADMIN and CAP_NET_RAW capabilities.

This is the case when running Telegraf as root or some user with CAP_NET_ADMIN and CAP_NET_RAW. Alternatively, you can add the capabilities when starting Telegraf via systemd by running systemctl edit telegraf.service and add the following:

[Service]
CapabilityBoundingSet=CAP_NET_RAW CAP_NET_ADMIN
AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN

Metrics

Server will contain tags identifying how it was configured, using one of address + port + protocol OR fwmark. This is how one would normally configure a virtual server using ipvsadm.

  • ipvs_virtual_server

    • tags:
      • sched (the scheduler in use)
      • netmask (the mask used for determining affinity)
      • address_family (inet/inet6)
      • address
      • port
      • protocol
      • fwmark
    • fields:
      • connections
      • pkts_in
      • pkts_out
      • bytes_in
      • bytes_out
      • pps_in
      • pps_out
      • cps
  • ipvs_real_server

    • tags:
      • address
      • port
      • address_family (inet/inet6)
      • virtual_address
      • virtual_port
      • virtual_protocol
      • virtual_fwmark
    • fields:
      • active_connections
      • inactive_connections
      • connections
      • pkts_in
      • pkts_out
      • bytes_in
      • bytes_out
      • pps_in
      • pps_out
      • cps

Example Output

Virtual server is configured using fwmark and backed by 2 real servers:

ipvs_virtual_server,address=172.18.64.234,address_family=inet,netmask=32,port=9000,protocol=tcp,sched=rr bytes_in=0i,bytes_out=0i,pps_in=0i,pps_out=0i,cps=0i,connections=0i,pkts_in=0i,pkts_out=0i 1541019340000000000
ipvs_real_server,address=172.18.64.220,address_family=inet,port=9000,virtual_address=172.18.64.234,virtual_port=9000,virtual_protocol=tcp active_connections=0i,inactive_connections=0i,pkts_in=0i,bytes_out=0i,pps_out=0i,connections=0i,pkts_out=0i,bytes_in=0i,pps_in=0i,cps=0i 1541019340000000000
ipvs_real_server,address=172.18.64.219,address_family=inet,port=9000,virtual_address=172.18.64.234,virtual_port=9000,virtual_protocol=tcp active_connections=0i,inactive_connections=0i,pps_in=0i,pps_out=0i,connections=0i,pkts_in=0i,pkts_out=0i,bytes_in=0i,bytes_out=0i,cps=0i 1541019340000000000

Virtual server is configured using proto+addr+port and backed by 2 real servers:

ipvs_virtual_server,address_family=inet,fwmark=47,netmask=32,sched=rr cps=0i,connections=0i,pkts_in=0i,pkts_out=0i,bytes_in=0i,bytes_out=0i,pps_in=0i,pps_out=0i 1541019340000000000
ipvs_real_server,address=172.18.64.220,address_family=inet,port=9000,virtual_fwmark=47 inactive_connections=0i,pkts_out=0i,bytes_out=0i,pps_in=0i,cps=0i,active_connections=0i,pkts_in=0i,bytes_in=0i,pps_out=0i,connections=0i 1541019340000000000
ipvs_real_server,address=172.18.64.219,address_family=inet,port=9000,virtual_fwmark=47 cps=0i,active_connections=0i,inactive_connections=0i,connections=0i,pkts_in=0i,bytes_out=0i,pkts_out=0i,bytes_in=0i,pps_in=0i,pps_out=0i 1541019340000000000

Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.5

Key enhancements in InfluxDB 3.5 and the InfluxDB 3 Explorer 1.3.

See the Blog Post

InfluxDB 3.5 is now available for both Core and Enterprise, introducing custom plugin repository support, enhanced operational visibility with queryable CLI parameters and manual node management, stronger security controls, and general performance improvements.

InfluxDB 3 Explorer 1.3 brings powerful new capabilities including Dashboards (beta) for saving and organizing your favorite queries, and cache querying for instant access to Last Value and Distinct Value caches—making Explorer a more comprehensive workspace for time series monitoring and analysis.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On November 3, 2025, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2