From 99ff364e616f5ff54f0305aa90066176ccb59179 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Mon, 19 Jun 2017 18:41:43 -0400 Subject: [PATCH] Add documentation about controller metrics --- _data/concepts.yml | 1 + .../controller-metrics.md | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 docs/concepts/cluster-administration/controller-metrics.md diff --git a/_data/concepts.yml b/_data/concepts.yml index dd00f5827cc97..f000deb0efe35 100644 --- a/_data/concepts.yml +++ b/_data/concepts.yml @@ -82,6 +82,7 @@ toc: - docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig.md - docs/concepts/cluster-administration/master-node-communication.md - docs/concepts/cluster-administration/proxies.md + - docs/concepts/cluster-administration/controller-metrics.md - title: Policies section: - docs/concepts/policy/container-capabilities.md diff --git a/docs/concepts/cluster-administration/controller-metrics.md b/docs/concepts/cluster-administration/controller-metrics.md new file mode 100644 index 0000000000000..ceca94f7de2e8 --- /dev/null +++ b/docs/concepts/cluster-administration/controller-metrics.md @@ -0,0 +1,48 @@ +--- +title: Controller manager metrics +--- + +{% capture overview %} +Controller manager metrics provide important insight into the performance and health of +the controller manager. + +{% endcapture %} + +{% capture body %} +## What are controller manager metrics + +Controller manager metrics provide important insight into the performance and health of the controller manager. +These metrics include common Go language runtime metrics such as go_routine count and controller specific metrics such as +etcd request latencies or Cloudprovider (AWS, GCE, Openstack) API latencies that can be used +to gauge the health of a cluster. + +Starting from Kubernetes 1.7, detailed Cloudprovider metrics are available for storage operations for GCE, AWS, Vsphere and Openstack. +These metrics can be used to monitor health of persistent volume operations. + +For example, for GCE these metrics are called: + +``` +cloudprovider_gce_api_request_duration_seconds { request = "instance_list"} +cloudprovider_gce_api_request_duration_seconds { request = "disk_insert"} +cloudprovider_gce_api_request_duration_seconds { request = "disk_delete"} +cloudprovider_gce_api_request_duration_seconds { request = "attach_disk"} +cloudprovider_gce_api_request_duration_seconds { request = "detach_disk"} +cloudprovider_gce_api_request_duration_seconds { request = "list_disk"} +``` + + + +## Configuration + + +In a cluster, controller-manager metrics are available from `http://localhost:10252/metrics` +from the host where the controller-manager is running. + +The metrics are emitted in [prometheus format](https://prometheus.io/docs/instrumenting/exposition_formats/) and are human readable. + +In a production environment you may want to configure prometheus or some other metrics scraper +to periodically gather these metrics and make them available in some kind of time series database. + +{% endcapture %} + +{% include templates/concept.md %}