kubevela.github.io/i18n/zh/docusaurus-plugin-content-docs/current/platform-engineers/system-operation/observability.md

5.4 KiB
Raw Blame History

title
可观测性

可观测性插件Observability addon基于 metrics、logging、tracing 数据,可以为 KubeVela core 提供系统级别的监控,也可以为应用提供业务级别的监控。

下面详细介绍可观测能力,以及如何启用可观测性插件,并查看各种监控数据。

可观测能力介绍

KubeVela 可观测能力是通过 Grafana 展示的,提供系统级别和应用级别的数据监控。

内置的指标类别一KubeVela Core 系统级别可观测性

  • KubeVela Core 资源使用情况监控

1CPU、内存等使用量和使用率数据

2CPU、内存随着时间变化如过去三小时的使用量和使用率、以及每秒网络带宽的图形化展示

内置的指标类别二KubeVela Core 日志监控

1日志统计

可观测页面会显示KubeVela Core 日志总量,以及默认情况下,error 出现的数量、频率、出现的所有日志概览和详情。

还会展示随着时间变化,error 日志出现的总量、频率等。

2日志过滤

在最上方填写关键词,还可以过滤日志。

安装插件

可观测性插件是通过 vela addon 命令安装的。因为本插件依赖了 PrometheusPrometheus 依赖 StorageClass 不同 Kubernetes 发行版StorageClass 会有一定的差异,所以,在不同的 Kubernetes 发行版, 安装命令也有一些差异。

自建/常规集群

执行如下命令安装可观测性插件KinD 等测试集群的安装步骤同理。

$ vela addon enable observability alertmanager-pvc-enabled=false server-pvc-enabled=false grafana-domain=example.com

云服务商提供的 Kubernetes 集群

阿里云 ACK

$ vela addon enable observability alertmanager-pvc-class=alicloud-disk-available alertmanager-pvc-size=20Gi server-pvc-class=alicloud-disk-available server-pvc-size=20Gi grafana-domain=grafana.c276f4dac730c47b8b8988905e3c68fcf.cn-hongkong.alicontainer.com

其中,各个参数含义如下:

  • alertmanager-pvc-class

Prometheus alert manager 需要的 pvc 的类型,也就是 StorageClass在阿里云上可选的 StorageClass 有:

$ 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

此处取值 alicloud-disk-available

  • alertmanager-pvc-size

Prometheus alert manager 需要的 pvc 的大小,在阿里云上,最小的 PV 是 20GB此处取值 20Gi。

  • server-pvc-class

Prometheus server 需要的 pvc 的类型,同 alertmanager-pvc-class

  • server-pvc-size

Prometheus server 需要的 pvc 的大小,同 alertmanager-pvc-size

  • grafana-domain

Grafana 的域名,可以使用你自定义的域名,也可以使用 ACK 提供的集群级别的泛域名,*.c276f4dac730c47b8b8988905e3c68fcf.cn-hongkong.alicontainer.com 如本处取值 grafana.c276f4dac730c47b8b8988905e3c68fcf.cn-hongkong.alicontainer.com

其他云服务商提供的 Kubernetes 集群

请根据不同云服务商 Kubernetes 集群提供的 PVC 的名字和大小规格,以及域名规则,对应更改以下参数:

  • alertmanager-pvc-class
  • alertmanager-pvc-size
  • server-pvc-class
  • server-pvc-size
  • grafana-domain

查看监控数据

获取访问监控控制台的账号

$ kubectl get secret grafana -o jsonpath="{.data.admin-password}" -n vela-system | base64 --decode ; echo
<密码显示在这里>

使用 admin 和上面的密码登陆下面的监控控制台。

获取监控控制台访问路径

  • 自建/常规集群
$ kubectl get svc grafana -n vela-system
NAME      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
grafana   ClusterIP   192.168.42.243   <none>        80/TCP    177m

$ sudo kubectl port-forward service/grafana -n vela-system 80:80
Password:
Forwarding from 127.0.0.1:80 -> 3000
Forwarding from [::1]:80 -> 3000

通过浏览器访问 http://127.0.0.1/dashboards,点击相应的 Dashboard ,查看前面介绍的各种监控数据。

  • 云服务商提供的 Kubernetes 集群

直接访问上面设置的 Grafana 域名,查看前面介绍的各种监控数据。

查看各种类别的监控数据

在 Grafana 主页上,点击如图所示的控制台,可以访问相应类别的监控数据。

KubeVela Core System Monitoring Dashboard 是 KubeVela Core 系统级别监控控制台。 KubeVela Core Logging Dashboard 是 KubeVela Core 日志监控控制台。