mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
*: Change gRPC proxy to expose etcd server endpoint /metrics
This PR resolves an issue where the `/metrics` endpoints exposed by the proxy were not returning metrics of the etcd members servers but of the proxy itself. Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
This commit is contained in:
committed by
Sam Batschelet
parent
cc08c1bd2e
commit
9915d02022
@@ -225,3 +225,28 @@ Finally, test the TLS termination by putting a key into the proxy over http:
|
||||
$ ETCDCTL_API=3 etcdctl --endpoints=http://localhost:12379 put abc def
|
||||
# OK
|
||||
```
|
||||
|
||||
## Metrics and Health
|
||||
|
||||
The gRPC proxy exposes `/health` and Prometheus `/metrics` endpoints for the etcd members defined by `--endpoints`. An alternative define an additional URL that will respond to both the `/metrics` and `/health` endpoints with the `--metrics-addr` flag.
|
||||
|
||||
```bash
|
||||
$ etcd grpc-proxy start \
|
||||
--endpoints https://localhost:2379 \
|
||||
--metrics-addr https://0.0.0.0:4443 \
|
||||
--listen-addr 127.0.0.1:23790 \
|
||||
--key client.key \
|
||||
--key-file proxy-server.key \
|
||||
--cert client.crt \
|
||||
--cert-file proxy-server.crt \
|
||||
--cacert ca.pem \
|
||||
--trusted-ca-file proxy-ca.pem
|
||||
```
|
||||
|
||||
### Known issue
|
||||
|
||||
The main interface of the proxy serves both HTTP2 and HTTP/1.1. If proxy is setup with TLS as show in the above example, when using a client such as cURL against the listening interface will require explicitly setting the protocol to HTTP/1.1 on the request to return `/metrics` or `/health`. By using the `--metrics-addr` flag the secondary interface will not have this requirement.
|
||||
|
||||
```bash
|
||||
$ curl --cacert proxy-ca.pem --key proxy-client.key --cert proxy-client.crt https://127.0.0.1:23790/metrics --http1.1
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user