前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一款k8s实时错误监控工具,值得用起来

一款k8s实时错误监控工具,值得用起来

作者头像
我的小碗汤
发布2021-12-24 19:50:26
1K0
发布2021-12-24 19:50:26
举报
文章被收录于专栏:我的小碗汤我的小碗汤

大家好,我是小碗汤,今天为大家分享一款k8s集群错误监控工具: Kubiquity

Kubiquity[1] 是一个基于 Electron 的 Kubernetes 健康监控应用程序。它结合了 Kubernetes 命令行工具和 Prometheus 指标服务器,以从集群中获取实时信息。用户可以通过实时跟踪每个集群的事件日志历史以及 CPU 和内存使用情况来跟踪其集群中的异常情况。

它能做什么?

Kubernetes 缺乏强大的错误跟踪。此外, Kubernetes 开发人员需要一个图形用户界面 (GUI) 来与他们的集群进行交互和分析,将 Kubernetes 事件日志从命令行移动到 Kubiquity。

K8sM8s 团队构建了一个易于使用且直观的工具,供开发人员搜索和保存相关事件。该应用程序还结合了 Prometheus 指标来提供详细的最新内存使用情况,以便开发人员可以看到内存峰值并防止内存不足 (OOM) 终止错误。

它是如何工作的?

Kubiquity 连接到现有集群并利用 kubectl 和 Prometheus 查询从 Kubernetes 集群中检索实时事件日志、资源指标、事件日志、pod CPU 、内存使用情况,一起显示在 Kubiquity 应用程序上。此信息本地存储在 Electron 的 JSON 存储中,用户可以在其中对事件日志进行排序和过滤,并将相关日志下载到 CSV 文件中以供进一步分析使用。

集群事件日志:

Pod 的内存使用情况:

Pod 的 CPU 使用率:

安装Kubiquity

  1. 启动一个 Kubernetes 集群
  2. 如果没部署过Prometheus,请先安装Prometheus[2]
  3. 下载Kubiquity[3]

源码编译,需要有yarn环境,这里我们在node:12的docker镜像中编译:

代码语言:javascript
复制
docker pull node:12

下载包

代码语言:javascript
复制
# wget https://github.com/oslabs-beta/Kubiquity/archive/refs/tags/v1.0.0.tar.gz

解压进入目录

代码语言:javascript
复制
tar -zxf v1.0.0.tar.gz 
cd Kubiquity-1.0.0/

运行yarn命令:

代码语言:javascript
复制
# yarn
yarn install v1.22.17
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 171.08s.

基于您的操作系统,运行yarn run package-linux或yarn run package-win:

代码语言:javascript
复制
# yarn run package-linux
yarn run v1.22.17
$ electron-packager . --overwrite --platform=linux --arch=x64 --icon=src/assets/images/icon.png --prune=true --out=release-builds
Packaging app for platform linux x64 using electron v13.1.7
Done in 31.82s.

应用程序将被创建并放置在release-builds文件夹中。

代码语言:javascript
复制
# cd release-builds/kubiquity-linux-x64/
# ls -lh
total 173M
-rw-r--r-- 1 root root 1.1K Dec 24 02:25 LICENSE
-rw-r--r-- 1 root root 5.1M Dec 24 02:25 LICENSES.chromium.html
-rwxr-xr-x 1 root root  50K Dec 24 02:25 chrome-sandbox
-rw-r--r-- 1 root root 139K Dec 24 02:25 chrome_100_percent.pak
-rw-r--r-- 1 root root 204K Dec 24 02:25 chrome_200_percent.pak
-rw-r--r-- 1 root root  10M Dec 24 02:25 icudtl.dat
-rwxr-xr-x 1 root root 134M Dec 24 02:25 kubiquity
-rwxr-xr-x 1 root root 229K Dec 24 02:25 libEGL.so
-rwxr-xr-x 1 root root 6.9M Dec 24 02:25 libGLESv2.so
-rwxr-xr-x 1 root root 2.8M Dec 24 02:25 libffmpeg.so
-rwxr-xr-x 1 root root 4.0M Dec 24 02:25 libvk_swiftshader.so
-rwxr-xr-x 1 root root 4.3M Dec 24 02:25 libvulkan.so.1
drwxr-xr-x 2 root root 4.0K Dec 24 02:25 locales
drwxr-xr-x 3 root root   17 Dec 24 02:25 resources
-rw-r--r-- 1 root root 4.9M Dec 24 02:25 resources.pak
-rw-r--r-- 1 root root  48K Dec 24 02:25 snapshot_blob.bin
drwxr-xr-x 2 root root   43 Dec 24 02:25 swiftshader
-rw-r--r-- 1 root root 162K Dec 24 02:25 v8_context_snapshot.bin
-rw-r--r-- 1 root root    6 Dec 24 02:25 version
-rw-r--r-- 1 root root  107 Dec 24 02:25 vk_swiftshader_icd.json

当然也可以下载编译好的包[4]

注意,运行时需要依赖的包,可以通过yum安装:

代码语言:javascript
复制
yum install wget atk libxshmfence at-spi2-atk libdrm* gtk3 libgbm* alsa-lib-devel -y

目前官方没有提供打包好的docker镜像,需要本地有nodejs、yarn以及其他依赖包。

未来要做的

Kubiquity一直在寻求改进并为开发人员提供更多功能。以下是它们正在筹备中的一些功能。

  • 目前只支持win、linux,将来兼容Mac
  • GitHub集成
  • 随着时间的推移跟踪和存储内存和 CPU 使用情况
  • 基于警告和错误生成建议说明
  • 为用户提供将数据持久化到非本地数据库的选项

参考资料

[1]Kubiquity: https://github.com/oslabs-beta/Kubiquity

[2]Prometheus: https://prometheus-community.github.io/helm-charts

[3]Kubiquity: https://github.com/oslabs-beta/Kubiquity/releases/tag/v1.0.0

[4]编译好的包: https://github.com/oslabs-beta/Kubiquity/releases/download/v1.0.0/kubiquity-linux-x64.zip

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击云原生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 它能做什么?
  • 它是如何工作的?
  • 安装Kubiquity
  • 未来要做的
    • 参考资料
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档