1ec6c8e333 | ||
---|---|---|
.. | ||
README.md | ||
ipvs.go | ||
ipvs_notlinux.go |
README.md
IPVS Input Plugin
The IPVS input plugin uses the linux kernel netlink socket interface to gather metrics about ipvs virtual and real servers.
Supported Platforms: Linux
Configuration
[[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 be
running as root
(or some user with CAP_NET_ADMIN
and CAP_NET_RAW
). Be sure
to ensure these permissions before running telegraf with this plugin included.
Metrics
Virtual Servers
Metrics report for each ipvs_virtual_server
:
ipvs_virtual_server
- tags:
sched
- the scheduler in usenetmask
- the mask used for determining affinityaddress_family
- inet/inet6- ONE of
address
+port
+protocol
ORfwmark
- fields:
- Connections
- PacketsIn
- PacketsOut
- BytesIn
- BytesOut
- CPS
- PPSIn
- PPSOut
- BPSIn
- BPSOut
- tags:
Each virtual 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
.
Real Servers
Metrics reported for each ipvs_real_server
:
ipvs_real_server
- tags:
address
port
address_family
- ONE of
virtual_address
+virtual_port
+virtual_protocol
ORvirtual_fwmark
- fields:
- ActiveConnections
- InactiveConnections
- Connections
- PacketsIn
- PacketsOut
- BytesIn
- BytesOut
- CPS
- PPSIn
- PPSOut
- BPSIn
- BPSOut
- tags:
Each real server can be identified as belonging to a virtual server using one of
either virtual_address + virtual_port + virtual_protocol
OR virtual_fwmark
Example Output
Virtual servers
Example (when a 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
Real servers
Example (when a real 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