diff --git a/.vuepress/config-sidebar.js b/.vuepress/config-sidebar.js index b852ef1..a9ff2c9 100644 --- a/.vuepress/config-sidebar.js +++ b/.vuepress/config-sidebar.js @@ -478,17 +478,18 @@ let sidebar = { ] }, { - title: '监控', + title: '监控及告警', collapsable: true, children: [ - 'k8s-advanced/observe/kube-prometheus.html', + 'k8s-advanced/observe/monitor.html', + 'k8s-advanced/observe/alert.html', ] }, { title: '扩展Kubernetes', collapsable: true, children: [ - 'k8s-advanced/extend/aggregation', + 'k8s-advanced/extend/aggregation.html', ] }, ] diff --git a/.vuepress/styles/index.styl b/.vuepress/styles/index.styl index 650da3c..4c57e6a 100644 --- a/.vuepress/styles/index.styl +++ b/.vuepress/styles/index.styl @@ -109,3 +109,7 @@ label { .side-nav-item a { padding: 2px; } + +p>code { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; +} \ No newline at end of file diff --git a/install/v3/install-in-k8s.md b/install/v3/install-in-k8s.md index 5c33eb4..599b789 100644 --- a/install/v3/install-in-k8s.md +++ b/install/v3/install-in-k8s.md @@ -158,6 +158,8 @@ docker push ${this.privateRegistry}/questdb:6.0.4 执行指令 `watch kubectl get pods -n kuboard`,等待 kuboard 名称空间中所有的 Pod 就绪,如下所示, + > 如果结果中没有出现 `kuboard-etcd-xxxxx` 的容器,请查看本章节稍后面的内容中关于 `托管的 K8S` 的描述。 + ```sh [root@node1 ~]# kubectl get pods -n kuboard NAME READY STATUS RESTARTS AGE diff --git a/learning/k8s-advanced/observe/alert.md b/learning/k8s-advanced/observe/alert.md new file mode 100644 index 0000000..d3b7a8f --- /dev/null +++ b/learning/k8s-advanced/observe/alert.md @@ -0,0 +1,65 @@ +--- +# vssueId: 143 +layout: LearningLayout +description: Kubernetes教程_本文介绍了 kube-prometheus 项目,用于监控 Kubernetes 集群。 +meta: + - name: keywords + content: Kubernetes教程, Kubernetes监控 +--- + +# 告警 + +Kuboard 监控套件已经支持如下配置: +* 配置 Email、WeChat 作为消息发送渠道; +* 配置告警联系人; +* 配置告警路由; +* 配置告警抑制规则; +* 配置告警消息模板; +* 配置告警规则; + +## 前提 + +使用 Kuboard 监控套件的告警功能前,假设您已经完成了 `Kuboard 资源层监控套件` 的安装,请参考 [监控](./monitor.html) + +## 配置告警 + +本章节将简述如何配置 Kuboard 资源监控套件以发送告警消息。 + +* 导航到 `资源监控套件` 的安装页面 +* 切换到 `告警发送配置` 标签页,并填写告警发送的接口参数,如下图所示: + + ![告警发送接口参数](./alert/20210831222509.png) + +* 切换到 `联系人组` 标签页,并填写接收告警信息的联系人邮件地址,如下图所示: + + > 默认有三个联系人组,建议Wie每个联系人组至少配置一个联系人邮件地址。 + + ![联系人组](./alert/20210831223255.png) + +* 切换到 `告警规则` --> `kubernetes-monitoring` --> `kubernetes-apps` 的标签页,在该标签页修改告警名称 `KubePodCrashLooping` 的持续时间为 `1m` (代表 1 分钟),如下图所示: + + ![告警规则-持续时间](./alert/20210831223656.png) + +* 模拟错误 + + 在任意名称空间创建一个 Deployment,将其中的容器 image 设置为 `busybox`,命令行参数为空。此时,busybox 将在启动后就立刻退出,我们就可以模拟出应用程序不断崩溃重启的现象。 + + ![模拟错误](./alert/20210831225513.png) + +* 查看告警事件 + + 切换到 `告警事件` 标签页,如下图所示: + + > 大约 1 分钟后,KubePodCrashLooping 的事件将从 `PENDING` 状态切换到 `FIRING` 状态,表明告警事件已发送到 AlertManager + + ![告警事件](./alert/20210831230118.png) + +* 查看告警邮件 + + 登录 Default 联系人组的联系人邮箱,可以查看该告警消息如下所示: + + > AlertManager 在收到告警事件后,大约需要等 1 分钟左右(取决于告警路由中的配置)才发送邮件给告警联系人。 + + ![告警邮件](./alert/20210831230600.png) + +至此,我们已经完成了告警功能的最基本配置。 \ No newline at end of file diff --git a/learning/k8s-advanced/observe/alert/20210831222509.png b/learning/k8s-advanced/observe/alert/20210831222509.png new file mode 100644 index 0000000..ea3f4ba Binary files /dev/null and b/learning/k8s-advanced/observe/alert/20210831222509.png differ diff --git a/learning/k8s-advanced/observe/alert/20210831223255.png b/learning/k8s-advanced/observe/alert/20210831223255.png new file mode 100644 index 0000000..42da137 Binary files /dev/null and b/learning/k8s-advanced/observe/alert/20210831223255.png differ diff --git a/learning/k8s-advanced/observe/alert/20210831223656.png b/learning/k8s-advanced/observe/alert/20210831223656.png new file mode 100644 index 0000000..d53efa6 Binary files /dev/null and b/learning/k8s-advanced/observe/alert/20210831223656.png differ diff --git a/learning/k8s-advanced/observe/alert/20210831225513.png b/learning/k8s-advanced/observe/alert/20210831225513.png new file mode 100644 index 0000000..fd597d8 Binary files /dev/null and b/learning/k8s-advanced/observe/alert/20210831225513.png differ diff --git a/learning/k8s-advanced/observe/alert/20210831230118.png b/learning/k8s-advanced/observe/alert/20210831230118.png new file mode 100644 index 0000000..f5ab6ab Binary files /dev/null and b/learning/k8s-advanced/observe/alert/20210831230118.png differ diff --git a/learning/k8s-advanced/observe/alert/20210831230600.png b/learning/k8s-advanced/observe/alert/20210831230600.png new file mode 100644 index 0000000..80d92e0 Binary files /dev/null and b/learning/k8s-advanced/observe/alert/20210831230600.png differ diff --git a/learning/k8s-advanced/observe/index.md b/learning/k8s-advanced/observe/index.md deleted file mode 100644 index 3876177..0000000 --- a/learning/k8s-advanced/observe/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -# vssueId: 143 -layout: LearningLayout -description: Kubernetes教程_本文介绍了 Kubernetes 的监控选择 -meta: - - name: keywords - content: Kubernetes教程, Kubernetes监控 ---- - -# 监控 diff --git a/learning/k8s-advanced/observe/kube-prometheus.md b/learning/k8s-advanced/observe/kube-prometheus.md deleted file mode 100644 index 62842ca..0000000 --- a/learning/k8s-advanced/observe/kube-prometheus.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -# vssueId: 143 -layout: LearningLayout -description: Kubernetes教程_本文介绍了 kube-prometheus 项目,用于监控 Kubernetes 集群。 -meta: - - name: keywords - content: Kubernetes教程, Kubernetes监控 ---- - -# kube-prometheus - -本文向大家推荐一个基于 prometheus 的监控项目 [kube-prometheus](https://github.com/chinaboy007/kube-prometheus) - -## 概述 - -本项目基于最新https://github.com/coreos/kube-prometheus开发 - -支持prometheus 2.15.2版本 - -支持kubeadm方式安装的k8s,二进制方式安装的未测试 - - -## 主要功能 - -1.支持数据持久化 - -2.支持kube-controller监控 - -3.支持kube-scheduse监控 - -4.支持kube-etcd监控 - -5.支持NodePort访问 - -6.支持ingress访问 - -7.支持离线安装 - -8.支持重复安装 - -9.支持一键卸载 - - - - -## 开始安装 - -git clone https://github.com/chinaboy007/kube-prometheus.git - -cd kube-prometheus/manifests - -sh install.sh - - - -## 默认启用nfs-client数据持久化 - - 后续将支持更多存储类型 - - -## 一键卸载 - -cd kube-prometheus/manifests - -sh uninstall.sh diff --git a/learning/k8s-advanced/observe/monitor.assets/20210831205047.png b/learning/k8s-advanced/observe/monitor.assets/20210831205047.png new file mode 100644 index 0000000..d1c2df5 Binary files /dev/null and b/learning/k8s-advanced/observe/monitor.assets/20210831205047.png differ diff --git a/learning/k8s-advanced/observe/monitor.assets/20210831211006.png b/learning/k8s-advanced/observe/monitor.assets/20210831211006.png new file mode 100644 index 0000000..4a97a32 Binary files /dev/null and b/learning/k8s-advanced/observe/monitor.assets/20210831211006.png differ diff --git a/learning/k8s-advanced/observe/monitor.assets/20210831211724.png b/learning/k8s-advanced/observe/monitor.assets/20210831211724.png new file mode 100644 index 0000000..9af4a54 Binary files /dev/null and b/learning/k8s-advanced/observe/monitor.assets/20210831211724.png differ diff --git a/learning/k8s-advanced/observe/monitor.assets/20210831212219.png b/learning/k8s-advanced/observe/monitor.assets/20210831212219.png new file mode 100644 index 0000000..678bdc7 Binary files /dev/null and b/learning/k8s-advanced/observe/monitor.assets/20210831212219.png differ diff --git a/learning/k8s-advanced/observe/monitor.md b/learning/k8s-advanced/observe/monitor.md new file mode 100644 index 0000000..8655cdd --- /dev/null +++ b/learning/k8s-advanced/observe/monitor.md @@ -0,0 +1,54 @@ +--- +# vssueId: 143 +layout: LearningLayout +description: Kubernetes教程_本文介绍了如何使用 Kuboard 的监控套件对 Kubernetes 进行监控 +meta: + - name: keywords + content: Kubernetes教程, Kubernetes监控 +--- + +# 监控 + +本文描述了如何使用 Kuboard 监控套件对 Kubernetes 进行监控。Kuboard 监控套件基于 [https://github.com/prometheus-operator/kube-prometheus](https://github.com/prometheus-operator/kube-prometheus) 构建,主要的工作是对其做 Kuboard 套件进行适配修改的内容包括: +* 以 Kuboard 套件形式安装 kube-prometheus; +* 提供监控告警的配置界面。 + +## 前提 + +完成本文描述的过程,需要满足如下条件: +* Kubernetes 版本不低于 `v1.15`; +* Kuboard 版本不低于 `v3.1.6.0-beta.1`。 + +## 安装监控套件 + +在 Kuboard 界面中导航到 `集群导入` --> `套件` --> `套件仓库` --> `资源层监控套件`,然后在界面的引导下完成 `资源层监控套件` 的安装。如下图所示: + +![套件仓库](./monitor.assets/20210831205047.png) + + +## 查看系统监控 + +资源监控套件在集群、名称空间、工作负载(Deployment、StatefulSet、DaemonSet)、容器组等不同层面上对 Kubernetes 进行全面的监控,监控的指标包括 CPU、内存、磁盘、网络等。 + +### 查看集群级别监控 + +在 Kuboard 界面中导航到 `集群管理` --> `资源层监控套件` 页面,在此页面可以找到集群级别不同类型资源的监控界面入口,如下图所示: + +![集群级别监控](./monitor.assets/20210831211006.png) + +### 查看名称空间级别监控 + +在 Kuboard 界面中导航到 `名称空间` --> `default(或其他名称空间)` --> `资源层监控套件` 页面,在此页面可以找到名称空间级别不同类型资源的监控界面入口,如下图所示: + +![名称空间级别监控](./monitor.assets/20210831211724.png) + + +### 查看工作负载级别监控 + +在 Kuboard 界面中导航到 `名称空间` --> `default(或其他名称空间)` --> `工作负载` --> `工作负载详情` 页面,在此页面可以看到工作负载级别的监控和容器组级别的监控,如下图所示: + +![工作负载级别监控](./monitor.assets/20210831212219.png) + +## 下一步 + +配置 [告警发送](./alert.html) \ No newline at end of file diff --git a/support/change-log/v3.0.x.md b/support/change-log/v3.0.x.md index d254679..a8f08f3 100644 --- a/support/change-log/v3.0.x.md +++ b/support/change-log/v3.0.x.md @@ -59,10 +59,37 @@ https://kubernetes.io/docs/tasks/inject-data-application/_print/#capabilities-of * 设置列表页表格最大高度【待处理】 +cortex 解决 promethues 的多租户问题 +loki 默认支持多租户 + +* 激活 **隐藏帮助链接** 选项后 `帮助` 文字仍然显示的问题【待处理】 +* 容器组列表页分页显示【待处理】 +* 常见问题提示如何配置告警消息【待处理】 + --> +## v3.1.6.0-beta.1 + +**发布日期** + +2021年8月31日 + +**新特性** + +* 可以配置监控套件发送告警信息 + +**问题修订** + +* 部分情况下 tooltip 不能正常显示内容的问题 +* 缺少 cookie 时访问 kuboard-proxy,导致程序退出的问题 +* 菜单向左收缩时,部分菜单项的文字未隐藏的问题 + ## v3.1.5.0 +**发布日期** + +2021年8月15日 + **优化** * 适配 Kubernetes v1.21