2018-10-25 19:44:43 +00:00
|
|
|
# IPVS Input Plugin
|
2018-10-25 19:14:19 +00:00
|
|
|
|
|
|
|
The IPVS input plugin uses the linux kernel netlink socket interface to gather
|
|
|
|
metrics about ipvs virtual and real servers.
|
|
|
|
|
2018-10-25 19:44:43 +00:00
|
|
|
**Supported Platforms:** Linux
|
2018-10-25 19:14:19 +00:00
|
|
|
|
2018-11-02 17:48:43 +00:00
|
|
|
## Configuration
|
2018-10-25 19:44:43 +00:00
|
|
|
|
|
|
|
```toml
|
2018-10-25 19:14:19 +00:00
|
|
|
[[inputs.ipvs]]
|
|
|
|
# no configuration
|
2018-10-25 19:44:43 +00:00
|
|
|
```
|
2018-10-25 19:14:19 +00:00
|
|
|
|
2018-11-02 17:48:43 +00:00
|
|
|
## Permissions
|
2018-10-25 19:14:19 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2018-11-02 17:48:43 +00:00
|
|
|
## Metrics
|
2018-10-25 19:14:19 +00:00
|
|
|
|
2018-11-02 17:48:43 +00:00
|
|
|
### Virtual Servers
|
|
|
|
|
|
|
|
Metrics report for each `ipvs_virtual_server`:
|
|
|
|
|
|
|
|
- `ipvs_virtual_server`
|
|
|
|
- tags:
|
|
|
|
- `sched` - the scheduler in use
|
|
|
|
- `netmask` - the mask used for determining affinity
|
|
|
|
- `address_family` - inet/inet6
|
|
|
|
- ONE of `address` + `port` + `protocol` *OR* `fwmark`
|
|
|
|
- fields:
|
|
|
|
- Connections
|
|
|
|
- PacketsIn
|
|
|
|
- PacketsOut
|
|
|
|
- BytesIn
|
|
|
|
- BytesOut
|
|
|
|
- CPS
|
|
|
|
- PPSIn
|
|
|
|
- PPSOut
|
|
|
|
- BPSIn
|
|
|
|
- BPSOut
|
|
|
|
|
|
|
|
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` OR `virtual_fwmark`
|
|
|
|
- fields:
|
|
|
|
- ActiveConnections
|
|
|
|
- InactiveConnections
|
|
|
|
- Connections
|
|
|
|
- PacketsIn
|
|
|
|
- PacketsOut
|
|
|
|
- BytesIn
|
|
|
|
- BytesOut
|
|
|
|
- CPS
|
|
|
|
- PPSIn
|
|
|
|
- PPSOut
|
|
|
|
- BPSIn
|
|
|
|
- BPSOut
|
|
|
|
|
|
|
|
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):
|
2018-10-25 19:14:19 +00:00
|
|
|
```
|
2018-11-02 17:48:43 +00:00
|
|
|
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
|
2018-10-25 19:14:19 +00:00
|
|
|
```
|