由于容器具有简化部署、多环境支持、快速启动、服务编排、易于迁移等特点,目前已经被广泛使用。作为下一代虚拟化技术,正在改变我们开发、测试、部署应用的方式。容器的使用给我们的带来了诸多便利,但是同时也带来一个问题,如何监控容器间的流量?同一主机上容器间的通信是很常见的,但他们之间通信的流量不会到物理链路,所以很难监控。nProbe agent 是一个自省探针,能够提供进程、用户、容器的可见性。
在没有使用容器之前,我们把大部分的业务应用跑在虚拟机(或云主机)上面,遇到了两个问题,一个问题是虚拟化Hypervisor管理软件本身的资源消耗与磁盘IO性能降低,另一个是虚拟机仍然还是一个独立的操作系统,导致我们在处理虚拟机的扩缩容与配置管理工作时效率低下。所以,我们后来发现了容器的好处,所有业务应用可以直接运行在物理主机的操作系统之上,可以直接读写磁盘,应用之间通过计算、存储和网络资源的命名空间进行隔离,为每个应用形成一个逻辑上独立的“容器操作系统”。 什么是nProbe agent?
nProbe™代理(以前称为nProbe mini)是一个轻量级探测器,它实现了基于事件的低开销监视,主要基于libebpfflow(基于eBPF)和Netlink等技术。
此小型代理通过系统自检增强网络可见性,同时使用最少的CPU和内存。它使用系统自省的进程、用户、容器、协调器和其他性能指标来丰富传统网络数据,如IP地址、字节和数据包。这使nProbe™Agent非常有效地回答了通常仍未解决的一系列新问题,其中:
nProbe™ Agent能够提取的信息包括:
想知道尝试从恶意软件主机下载文件的用户是谁吗?他/她正在运行哪个进程?nProbe agent为您提供答案,跟踪与主机上运行的客户端或服务的所有通信,并使用套接字提取所有详细信息,包括用户和进程。
在同一主机上部署多个相互通信的容器是很常见的。在这种情况下,他们的通信流量永远不会到达线缆,因为它始终停留在主机上。因此,使用镜像端口或TAP监视其流量的任何尝试都将失败。幸运的是,nProbe agent还可以在主机上进行网络活动时检测,计数和衡量网络活动。 以下是nProbe™Agent发现的网络通信,该通信在进程之间进行/sidecar在容器内运行/sidecarKubernetes POD的一部分kube-dns-6bfbdd666c-jjt75,和进程/usr/bin/dnsmasq在容器内运行dnsmasq同一Kubernetes POD的一部分。
使用nProbe™Agent,您可以使用例如测量的通信往返时间来发现容器和POD的活动和性能。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。