k3s/cluster/images/etcd-version-monitor
Tim Hockin 3586986416 Switch to k8s.gcr.io vanity domain
This is the 2nd attempt.  The previous was reverted while we figured out
the regional mirrors (oops).

New plan: k8s.gcr.io is a read-only facade that auto-detects your source
region (us, eu, or asia for now) and pulls from the closest.  To publish
an image, push k8s-staging.gcr.io and it will be synced to the regionals
automatically (similar to today).  For now the staging is an alias to
gcr.io/google_containers (the legacy URL).

When we move off of google-owned projects (working on it), then we just
do a one-time sync, and change the google-internal config, and nobody
outside should notice.

We can, in parallel, change the auto-sync into a manual sync - send a PR
to "promote" something from staging, and a bot activates it.  Nice and
visible, easy to keep track of.
2018-02-07 21:14:19 -08:00
..
BUILD Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
Dockerfile Added a basic monitor for watching etcd version and size related info 2017-02-17 12:52:54 +01:00
Makefile Switch to k8s.gcr.io vanity domain 2018-02-07 21:14:19 -08:00
README.md Switch to k8s.gcr.io vanity domain 2018-02-07 21:14:19 -08:00
etcd-version-monitor.go Improve etcd-version-monitor metrics proxying, add etcd 3.1 gprc metric support 2017-12-06 09:33:57 -08:00
etcd-version-monitor.yaml Switch to k8s.gcr.io vanity domain 2018-02-07 21:14:19 -08:00

README.md

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 k8s.gcr.io/etcd-version-monitor:test /etcd-version-monitor --logtostderr

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