Update haproxy documentation
This commit is contained in:
parent
d6fd9ce738
commit
4537eb2c5d
|
@ -1,11 +1,14 @@
|
||||||
# HAproxy Input Plugin
|
# HAProxy Input Plugin
|
||||||
|
|
||||||
[HAproxy](http://www.haproxy.org/) input plugin gathers metrics directly from any running HAproxy instance. It can do so by using CSV generated by HAproxy status page or from admin socket(s).
|
The [HAProxy](http://www.haproxy.org/) input plugin gathers
|
||||||
|
[statistics](https://cbonte.github.io/haproxy-dconv/1.9/intro.html#3.3.16)
|
||||||
|
using the [stats socket](https://cbonte.github.io/haproxy-dconv/1.9/management.html#9.3)
|
||||||
|
or [HTTP statistics page](https://cbonte.github.io/haproxy-dconv/1.9/management.html#9) of a HAProxy server.
|
||||||
|
|
||||||
### Configuration:
|
### Configuration:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# SampleConfig
|
# Read metrics of HAProxy, via socket or HTTP stats page
|
||||||
[[inputs.haproxy]]
|
[[inputs.haproxy]]
|
||||||
## An array of address to gather stats about. Specify an ip on hostname
|
## An array of address to gather stats about. Specify an ip on hostname
|
||||||
## with optional port. ie localhost, 10.10.3.33:1936, etc.
|
## with optional port. ie localhost, 10.10.3.33:1936, etc.
|
||||||
|
@ -23,7 +26,7 @@
|
||||||
## By default, some of the fields are renamed from what haproxy calls them.
|
## By default, some of the fields are renamed from what haproxy calls them.
|
||||||
## Setting this option to true results in the plugin keeping the original
|
## Setting this option to true results in the plugin keeping the original
|
||||||
## field names.
|
## field names.
|
||||||
# keep_field_names = true
|
# keep_field_names = false
|
||||||
|
|
||||||
## Optional SSL Config
|
## Optional SSL Config
|
||||||
# ssl_ca = "/etc/telegraf/ca.pem"
|
# ssl_ca = "/etc/telegraf/ca.pem"
|
||||||
|
@ -33,34 +36,77 @@
|
||||||
# insecure_skip_verify = false
|
# insecure_skip_verify = false
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `servers`
|
#### HAProxy Configuration
|
||||||
Server addresses need to explicitly start with 'http' if you wish to use HAproxy status page. Otherwise, address will be assumed to be an UNIX socket and protocol (if present) will be discarded.
|
|
||||||
|
|
||||||
For basic authentication you need to add username and password in the URL: `http://user:password@1.2.3.4/haproxy?stats`.
|
The following information may be useful when getting started, but please
|
||||||
|
consult the HAProxy documentation for complete and up to date instructions.
|
||||||
|
|
||||||
Following examples will all resolve to the same socket:
|
The [`stats enable`](https://cbonte.github.io/haproxy-dconv/1.8/configuration.html#4-stats%20enable)
|
||||||
|
option can be used to add unauthenticated access over HTTP using the default
|
||||||
|
settings. To enable the unix socket begin by reading about the
|
||||||
|
[`stats socket`](https://cbonte.github.io/haproxy-dconv/1.8/configuration.html#3.1-stats%20socket)
|
||||||
|
option.
|
||||||
|
|
||||||
|
|
||||||
|
#### servers
|
||||||
|
|
||||||
|
Server addresses must explicitly start with 'http' if you wish to use HAProxy
|
||||||
|
status page. Otherwise, addresses will be assumed to be an UNIX socket and
|
||||||
|
any protocol (if present) will be discarded.
|
||||||
|
|
||||||
|
When using socket names, wildcard expansion is supported so plugin can gather
|
||||||
|
stats from multiple sockets at once.
|
||||||
|
|
||||||
|
To use HTTP Basic Auth add the username and password in the userinfo section
|
||||||
|
of the URL: `http://user:password@1.2.3.4/haproxy?stats`. The credentials sent via the
|
||||||
|
`Authorization` header and not using the request URL.
|
||||||
|
|
||||||
|
|
||||||
|
#### keep_field_names
|
||||||
|
|
||||||
|
By default, some of the fields are renamed from what haproxy calls them.
|
||||||
|
Setting the `keep_field_names` parameter to `true` will result in the plugin
|
||||||
|
keeping the original field names.
|
||||||
|
|
||||||
|
The following renames are made:
|
||||||
|
- `pxname` -> `proxy`
|
||||||
|
- `svname` -> `sv`
|
||||||
|
- `act` -> `active_servers`
|
||||||
|
- `bck` -> `backup_servers`
|
||||||
|
- `cli_abrt` -> `cli_abort`
|
||||||
|
- `srv_abrt` -> `srv_abort`
|
||||||
|
- `hrsp_1xx` -> `http_response.1xx`
|
||||||
|
- `hrsp_2xx` -> `http_response.2xx`
|
||||||
|
- `hrsp_3xx` -> `http_response.3xx`
|
||||||
|
- `hrsp_4xx` -> `http_response.4xx`
|
||||||
|
- `hrsp_5xx` -> `http_response.5xx`
|
||||||
|
- `hrsp_other` -> `http_response.other`
|
||||||
|
|
||||||
|
### Metrics:
|
||||||
|
|
||||||
|
For more details about collected metrics reference the [HAProxy CSV format
|
||||||
|
documentation](https://cbonte.github.io/haproxy-dconv/1.8/management.html#9.1).
|
||||||
|
|
||||||
|
- haproxy
|
||||||
|
- tags:
|
||||||
|
- `server` - address of the server data was gathered from
|
||||||
|
- `proxy` - proxy name
|
||||||
|
- `sv` - service name
|
||||||
|
- `type` - proxy session type
|
||||||
|
- fields:
|
||||||
|
- `status` (string)
|
||||||
|
- `check_status` (string)
|
||||||
|
- `last_chk` (string)
|
||||||
|
- `mode` (string)
|
||||||
|
- `tracked` (string)
|
||||||
|
- `agent_status` (string)
|
||||||
|
- `last_agt` (string)
|
||||||
|
- `addr` (string)
|
||||||
|
- `cookie` (string)
|
||||||
|
- `lastsess` (int)
|
||||||
|
- **all other stats** (int)
|
||||||
|
|
||||||
|
### Example Output:
|
||||||
```
|
```
|
||||||
socket:/var/run/haproxy.sock
|
haproxy,server=/run/haproxy/admin.sock,proxy=public,sv=FRONTEND,type=frontend http_response.other=0i,req_rate_max=1i,comp_byp=0i,status="OPEN",rate_lim=0i,dses=0i,req_rate=0i,comp_rsp=0i,bout=9287i,comp_in=0i,mode="http",smax=1i,slim=2000i,http_response.1xx=0i,conn_rate=0i,dreq=0i,ereq=0i,iid=2i,rate_max=1i,http_response.2xx=1i,comp_out=0i,intercepted=1i,stot=2i,pid=1i,http_response.5xx=1i,http_response.3xx=0i,http_response.4xx=0i,conn_rate_max=1i,conn_tot=2i,dcon=0i,bin=294i,rate=0i,sid=0i,req_tot=2i,scur=0i,dresp=0i 1513293519000000000
|
||||||
unix:/var/run/haproxy.sock
|
|
||||||
foo:/var/run/haproxy.sock
|
|
||||||
/var/run/haproxy.sock
|
|
||||||
```
|
```
|
||||||
|
|
||||||
When using socket names, wildcard expansion is supported so plugin can gather stats from multiple sockets at once.
|
|
||||||
|
|
||||||
If no servers are specified, then the default address of `http://127.0.0.1:1936/haproxy?stats` will be used.
|
|
||||||
|
|
||||||
#### `keep_field_names`
|
|
||||||
By default, some of the fields are renamed from what haproxy calls them. Setting the `keep_field_names` parameter to `true` will result in the plugin keeping the original field names.
|
|
||||||
|
|
||||||
### Measurements & Fields:
|
|
||||||
|
|
||||||
Plugin will gather measurements outlined in [HAproxy CSV format documentation](https://cbonte.github.io/haproxy-dconv/1.7/management.html#9.1).
|
|
||||||
|
|
||||||
### Tags:
|
|
||||||
|
|
||||||
- All measurements have the following tags:
|
|
||||||
- server - address of server data is gathered from
|
|
||||||
- proxy - proxy name as reported in `pxname`
|
|
||||||
- sv - service name as reported in `svname`
|
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ var sampleConfig = `
|
||||||
## By default, some of the fields are renamed from what haproxy calls them.
|
## By default, some of the fields are renamed from what haproxy calls them.
|
||||||
## Setting this option to true results in the plugin keeping the original
|
## Setting this option to true results in the plugin keeping the original
|
||||||
## field names.
|
## field names.
|
||||||
# keep_field_names = true
|
# keep_field_names = false
|
||||||
|
|
||||||
## Optional SSL Config
|
## Optional SSL Config
|
||||||
# ssl_ca = "/etc/telegraf/ca.pem"
|
# ssl_ca = "/etc/telegraf/ca.pem"
|
||||||
|
|
Loading…
Reference in New Issue