Files
kubesphere/docs/en/concepts-and-designs/kubesphere-monitoring.md
huanggze 4edf909c2f add monitoring dev guides
Signed-off-by: huanggze <loganhuang@yunify.com>
2019-12-23 21:46:50 +08:00

1.6 KiB

KubeSphere Monitoring

Overview

The KubeSphere monitoring system comprises many components that work together to achieve overall monitoring functionality. KubeSphere defaults to installing the monitoring module. It will deploy or create a few components within the namespace kubesphere-monitoring-system:

  • Prometheus Operator: automates tasks for operating Prometheus instances.
  • Prometheus: scrapes metrics and provides monitoring service.
  • Kube-state-metrics: exposes metrics for kubernetes objects like deployment, pod, namespace, etc.
  • Node-exporter: exposes node metrics.

Besides, the monitoring stack includes CRD resources:

  • ServiceMonitor: declaratively specifies how groups of services should be monitored.
  • Prometheus: defines a desired Prometheus deployment.
  • PrometheusRule: defines a desired Prometheus rule file.

In KubeSphere, Prometheus will monitor the following services by default:

  • kube-state-metrics
  • node-exporter
  • kubelet
  • s2i-operator
  • etcd
  • coredns
  • kube-apiserver
  • kube-scheduler
  • kube-controller-manager

Setup

The contrib/kube-prometheus folder provides manifests for setting up the monitoring stack. The kubernetes-mixin/rules project provides recording rule templates. KubeSphere monitoring backend serves as Prometheus client performing metrics query.

The diagram below presents the overall monitoring architecture: