Update ipvs readme

This commit is contained in:
Daniel Nelson 2018-11-02 10:59:14 -07:00
parent 1ec6c8e333
commit f0f99d18e0
No known key found for this signature in database
GPG Key ID: CAAD59C9444F6155
1 changed files with 43 additions and 57 deletions

View File

@ -5,14 +5,14 @@ metrics about ipvs virtual and real servers.
**Supported Platforms:** Linux **Supported Platforms:** Linux
## Configuration ### Configuration
```toml ```toml
[[inputs.ipvs]] [[inputs.ipvs]]
# no configuration # no configuration
``` ```
## Permissions #### Permissions
Assuming you installed the telegraf package via one of the published packages, 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 the process will be running as the `telegraf` user. However, in order for this
@ -20,76 +20,62 @@ 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 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. to ensure these permissions before running telegraf with this plugin included.
## Metrics ### Metrics
### Virtual Servers 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`.
Metrics report for each `ipvs_virtual_server`: - ipvs_virtual_server
- `ipvs_virtual_server`
- tags: - tags:
- `sched` - the scheduler in use - sched (the scheduler in use)
- `netmask` - the mask used for determining affinity - netmask (the mask used for determining affinity)
- `address_family` - inet/inet6 - address_family (inet/inet6)
- ONE of `address` + `port` + `protocol` *OR* `fwmark` - address
- port
- protocol
- fwmark
- fields: - fields:
- Connections - connections
- PacketsIn - pkts_in
- PacketsOut - pkts_out
- BytesIn - bytes_in
- BytesOut - bytes_out
- CPS - pps_in
- PPSIn - pps_out
- PPSOut - cps
- BPSIn
- BPSOut
Each virtual server will contain tags identifying how it was configured, using - ipvs_real_server
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: - tags:
- `address` - address
- `port` - port
- `address_family` - address_family (inet/inet6)
- ONE of `virtual_address` + `virtual_port` + `virtual_protocol` OR `virtual_fwmark` - virtual_address
- virtual_port
- virtual_protocol
- virtual_fwmark
- fields: - fields:
- ActiveConnections - active_connections
- InactiveConnections - inactive_connections
- Connections - connections
- PacketsIn - pkts_in
- PacketsOut - pkts_out
- BytesIn - bytes_in
- BytesOut - bytes_out
- CPS - pps_in
- PPSIn - pps_out
- PPSOut - cps
- BPSIn
- BPSOut
Each real server can be identified as belonging to a virtual server using one of ### Example Output
either `virtual_address + virtual_port + virtual_protocol` OR `virtual_fwmark`
## Example Output Virtual server is configured using `fwmark` and backed by 2 real servers:
### 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_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.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 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 Virtual server is configured using `proto+addr+port` and backed by 2 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_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.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