kubernetes/cluster/images/etcd-version-monitor
Claudiu Belu 41cdd40a2e images: Removes containers after they've run
Not all instances of docker run has the --rm argument, which means that they'll
persist after they've finished. This can cause storage to remain occupied needlessly.
2021-02-05 10:07:26 +00:00
..
BUILD Run hack/update-vendor.sh 2020-05-16 07:54:33 -04:00
Dockerfile Rebase etcd-version-monitor base image to distroless. 2019-02-28 17:06:37 -08:00
etcd-version-monitor.go switch over k/k to use klog v2 2020-05-16 07:54:27 -04:00
etcd-version-monitor.yaml Fix etcd-version-monitor readme and yaml file. 2019-10-22 12:03:37 +08:00
Makefile images: Removes containers after they've run 2021-02-05 10:07:26 +00:00
OWNERS Revert "Merge pull request #93156 from logicalhan/triage-api-machinery" 2020-07-24 13:01:02 +05:30
README.md Fix etcd-version-monitor readme and yaml file. 2019-10-22 12:03:37 +08:00

etcd-version-monitor

This is a tool for exporting etcd metrics and supplementing them with etcd server binary version and cluster version. These metrics are in prometheus format and can be scraped by a prometheus server. The metrics are exposed at the http://localhost:9101/metrics endpoint.

For etcd 3.1+, the go-grpc-prometheus metrics format, which backward incompatibly replaces the 3.0 legacy grpc metric format, is exposed in both the 3.1 format and in the 3.0. This preserves backward compatibility.

For etcd 3.1+, the --metrics=extensive must be set on etcd for grpc request latency metrics (etcd_grpc_unary_requests_duration_seconds) to be exposed.

RUNNING THE TOOL

To run this tool as a docker container:

  • make build
  • docker run --net=host -i -t staging-k8s.gcr.io/etcd-version-monitor:0.1.3 /etcd-version-monitor

To run this as a pod on the kubernetes cluster:

  • Place the 'etcd-version-monitor.yaml' in the manifests directory of kubelet on the master machine.

Note: This tool has to run on the same machine as etcd, as communication with etcd is over localhost.

VERIFYING THE TOOL