Skip to main content
Version: v1.2

Observability

The Observability addon provides system-level monitoring for KubeVela core and business-level monitoring for applications based on metrics, logging, and tracing data.

The following describes observability capabilities in detail, and how to enable the observability addon and view various monitoring data.

Introduction to Observable Capabilities#

KubeVela observable capabilities are demonstrated through Grafana and provide system-level and application-level data monitoring.

Built-in metric category I: KubeVela Core system-level observability#

  • KubeVela Core resource usage monitoring

1) CPU, memory, and other usage and utilization data

2) Graphical representation of CPU and memory usage and utilization over time (e.g. last three hours), and network bandwidth per second

Built-in metrics category II: KubeVela Core log monitoring#

1) Log statistics

The observable page displays the total number of KubeVela Core logs, as well as the number of error occurrences, frequency, overview of all logs that occur, and details by default.

It also shows the total number and frequency, of error log occurrences over time.

2) Logging filter

You can also filter the logs by filling keywords at the top.

Installing the addon#

The observability addon is experimental, Experimental Addon Registry should be enabled first. The addon relies on Prometheus, and Prometheus alert manager, and server depend on PersistentVolume. So the size of PV has to be set, ie, the parameter disk-size in the command line vela addon enable observability, and the default value is 20GB. It also depends on StorageClass, so one default Storage has to be set.

Self-built/regular Kubernetes clusters#

Execute the following command to install the observability plugin. The steps are the same for similar clusters, like KinD.

$ vela addon enable observability disk-size=2

Kubernetes clusters provided by cloud providers#

Alibaba Cloud ACK#

First pick one StorageClass as the default one.

$ kubectl get storageclass
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
alicloud-disk-available alicloud/disk Delete Immediate true 6d
alicloud-disk-efficiency alicloud/disk Delete Immediate true 6d
alicloud-disk-essd alicloud/disk Delete Immediate true 6d
alicloud-disk-ssd alicloud/disk Delete Immediate true 6d
$ kubectl patch storageclass $StorageClass -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

Enable the addon and use the default StorageClass size 20GB.

$ vela addon enable observability

Kubernetes clusters offered by other cloud providers#

Please set the default StorageClass and disk-size for different cloud provider's Kubernetes clusters.

View monitoring data#

Get an account for the monitoring dashboard#

$ kubectl get secret grafana -o jsonpath="{.data.admin-password}" -n vela-system | base64 --decode ; echo
<password printed here>

Using username admin and the password above to login to the monitoring dashboard below.

Get the monitoring url#

  • Self-built/regular clusters
$ sudo vela port-forward addon-observability -n vela-system 80:80

Visit the Dashboard in the browser tab, which was opened by the command line, to view the various monitoring data introduced earlier.

  • Kubernetes clusters provided by cloud providers

Access the Grafana domain set up above directly to view the various monitoring data described earlier.

View monitoring data for various categories#

On the Grafana home page, click on the console as shown to access the monitoring data for the appropriate category.

The KubeVela Core System Monitoring Dashboard is the KubeVela Core system-level monitoring console. The KubeVela Core Logging Dashboard is the KubeVela Core logging monitoring console.

Last updated on by Tianxin Dong