查看原文
其他

又一款轻量级监控利器!开源了

点击关注👉 民工哥技术之路 2023-08-12

关注公众号,回复“1024”获取2TB学习资源!

大家好,我是民工哥。

今天给大家分享一个 k8s 集群流量查看神器,很轻量的一个工具,监控非常方便!

Kubeshark 简介

Kubeshark 由 2021 年 UP9 公司开源的 K8s API 流量查看器 Mizu 发展而来,试图成为一款 K8s 全过程流量监控工具。官网:https://kubeshark.co/

Kubeshark 提供实时的 K8s 协议级别的可见性,可以捕获和监控所有在容器、Pod、节点和集群之间进出和流动的流量和负载。可以把它想象成专门针对 Kubernetes 重新发明的 TCPDump 和 Wireshark 工具。

Kubeshark 架构

Kubeshark 由三个不同的软件组成,它们可以协同工作:CLI、Hub 和 Worker。

  • CLI,它是客户端的二进制文件,通过 K8s API 与集群通信。
  • Hub,它协调 worker 部署,接收来自每个 worker 的嗅探和剖析,并收集到一个中心位置。它还提供一个Web界面,用于在浏览器上显示收集到的流量。
  • Work,作为 DaemonSet 部署到集群中,以确保集群中的每个节点都被 Kubeshark 覆盖。

Kubeshark 功能特性

调查 & API 调试

  • 获得对 K8s 内部网络的协议级别可见性,覆盖集群中的所有部分
  • 通过仪表板可以使用丰富的查询语言,实时过滤流式流量和应用层协议
  • 不需要编码、代理、CNI、Sidecar、服务网格或其他任何准备工作,即可在<60 秒内开始使用该工具

网络遥测 & 观测

  • 可以查看显示服务与服务之间连接数据的身份感知服务地图
  • 可以将网络指标和无模式文档流式传输到遥测或日志聚合应用程序中
  • 目前支持 InfluxDB、Grafana 和 Elasticsearch,未来还会有更多的集成支持

检测工程 & 取证

  • 实时检测可疑的网络行为
  • 上传网络跟踪( PCAPs) 到 AWS S3 并发送 Slack 警报
  • 还可以编写自定义逻辑脚本,并结合 OSI L4/L7 hooks 使用

安装运行

下载安装

Mac (x86-64/Intel)

curl -Lo kubeshark https://github.com/kubeshark/kubeshark/releases/download/40.0/kubeshark_darwin_amd64 && chmod 755 kubeshark'

Mac (AArch64/Apple M1 silicon)

rm -f kubeshark && curl -Lo kubeshark https://github.com/kubeshark/kubeshark/releases/download/40.0/kubeshark_darwin_arm64 && chmod 755 kubeshark

Linux (x86-64)

curl -Lo kubeshark https://github.com/kubeshark/kubeshark/releases/download/40.0/kubeshark_linux_amd64 && chmod 755 kubeshark

Linux (AArch64)

curl -Lo kubeshark https://github.com/kubeshark/kubeshark/releases/download/40.0/kubeshark_linux_arm64 && chmod 755 kubeshark

Windows (x86-64)

curl -LO https://github.com/kubeshark/kubeshark/releases/download/40.0/kubeshark.exe

运行

运行 kubeshark tap 命令,在浏览器访问 localhost:8899其他安装方式,例如 Helm、Homebrew 等,可参考:

  • https://docs.kubeshark.co/en/install

监控界面

通过监控页面可以看到流量协议,请求路由, 请求响应状态,请求方式,请求源/目标地址 IP,由那个 POD 发起。可以通过过滤器对 包进行过滤。过滤 HTTP 请求返回状态码为 404 的请求可以看到 集群备份工具 velero 可能有问题,查看对应的拓扑关系确认顶部可以展示所有的 Pod 列表选择对应的包,可以查看详细信息请求报文,响应报文不加包过滤,默认情况下右上角的拓扑信息可以查看当前监控信息的整体视图箭头的粗细表示流量数量。颜色表示不同的协议

一些使用场景和用法

可以直接在其 github 站点上看到这些基本使用场景。

  • 监控指定的 Pod
kubeshark tap catalogue-b87b45784-sxc8q
  • 使用正则表达式监控一组 Pod
kubeshark tap "(catalo*|front-end*)"
  • 指定监控的 Namespace

默认情况下,Kubeshark 部署在 default namespace 中,也是监听这个 namespace,可以使用下面的命令指定到一个不同的 namespace 中。

kubeshark tap -n sock-shop
  • 指定所有 Namespaces
kubeshark tap -A

开源地址:https://github.com/kubeshark/kubeshark

注:如需要转载,必须保留文首公众号名片,其它一律视为非授权转载行为。

邀你加入技术交流群,2023 我们一起卷!

推荐阅读 点击标题可跳转

实锤!阿里集团将剥离阿里云 100% 股权

使用 Docker 搭建本地开发环境!真心强啊~

如何搭建一台永久运行的个人服务器?

微软放大招!旧 ISO 镜像全部作废。。。

面试官:运行ping xxx的时候发生了什么?问倒一大片

国内顶级论坛!倒闭了。。。

正式发声:永久免费,网友:再见了,CentOS!

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下在看,加个星标,这样每次新文章推送才会第一时间出现在你的订阅列表里。在看支持我们吧!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存