Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何监控容器间的流量?

如何监控容器间的流量?

原创
作者头像
虹科网络可视化与安全
修改于 2021-01-18 02:24:57
修改于 2021-01-18 02:24:57
2.7K0
举报

文章目录

简介

由于容器具有简化部署、多环境支持、快速启动、服务编排、易于迁移等特点,目前已经被广泛使用。作为下一代虚拟化技术,正在改变我们开发、测试、部署应用的方式。容器的使用给我们的带来了诸多便利,但是同时也带来一个问题,如何监控容器间的流量?同一主机上容器间的通信是很常见的,但他们之间通信的流量不会到物理链路,所以很难监控。nProbe agent 是一个自省探针,能够提供进程、用户、容器的可见性。

为什么要使用容器?

在没有使用容器之前,我们把大部分的业务应用跑在虚拟机(或云主机)上面,遇到了两个问题,一个问题是虚拟化Hypervisor管理软件本身的资源消耗与磁盘IO性能降低,另一个是虚拟机仍然还是一个独立的操作系统,导致我们在处理虚拟机的扩缩容与配置管理工作时效率低下。所以,我们后来发现了容器的好处,所有业务应用可以直接运行在物理主机的操作系统之上,可以直接读写磁盘,应用之间通过计算、存储和网络资源的命名空间进行隔离,为每个应用形成一个逻辑上独立的“容器操作系统”。 什么是nProbe agent?

nProbe™代理(以前称为nProbe mini)是一个轻量级探测器,它实现了基于事件的低开销监视,主要基于libebpfflow(基于eBPF)和Netlink等技术。

此小型代理通过系统自检增强网络可见性,同时使用最少的CPU和内存。它使用系统自省的进程、用户、容器、协调器和其他性能指标来丰富传统网络数据,如IP地址、字节和数据包。这使nProbe™Agent非常有效地回答了通常仍未解决的一系列新问题,其中:

  • 向恶意软件主机生成流量的过程是什么?谁是此过程的所有者?
  • 我的容器彼此通信时经历的通信延迟是多少?

nProbe agent的特征

nProbe™ Agent能够提取的信息包括:

  1. 所有TCPUDP网络通信(对等,端口,状态)
  2. TCP计数器,包括重传,乱序和往返时间
  3. 通信背后的用户,进程和可执行文件
  4. 容器ID和名称,协调器POD和命名空间

nProbe agent用例

  1. 跟踪网络活动背后的用户和进程

想知道尝试从恶意软件主机下载文件的用户是谁吗?他/她正在运行哪个进程?nProbe agent为您提供答案,跟踪与主机上运行的客户端或服务的所有通信,并使用套接字提取所有详细信息,包括用户和进程。

  1. 对容器间网络通信具有可见

在同一主机上部署多个相互通信的容器是很常见的。在这种情况下,他们的通信流量永远不会到达线缆,因为它始终停留在主机上。因此,使用镜像端口或TAP监视其流量的任何尝试都将失败。幸运的是,nProbe agent还可以在主机上进行网络活动时检测,计数和衡量网络活动。 以下是nProbe™Agent发现的网络通信,该通信在进程之间进行/sidecar在容器内运行/sidecarKubernetes POD的一部分kube-dns-6bfbdd666c-jjt75,和进程/usr/bin/dnsmasq在容器内运行dnsmasq同一Kubernetes POD的一部分。

  1. 每个POD的网络活动和性能指标

使用nProbe™Agent,您可以使用例如测量的通信往返时间来发现容器和POD的活动和性能。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
云原生|100个虚拟化基础知识问答(上),建议收藏!
答:虚拟化是一种技术,通过在计算机硬件上创建一个抽象层,将单台物理计算机的硬件资源(如处理器、内存、存储等)划分为多个虚拟计算机(虚拟机,VM)。每个虚拟机都可以运行自己的操作系统和应用程序,仿佛它是独立的计算机。这种方式提高了硬件资源的利用率,是云计算的基础技术之一 。
琉璃康康
2025/05/07
2040
云原生|100个虚拟化基础知识问答(上),建议收藏!
使用ntopng和InfluxDB实现容器和网络可见性
舒徐一段时间以来,我们一直在研究如何以一种简单有效的方式将系统监控和网络监控结合起来。2014年,我们对Sysdig进行了一些实验,最近,由于有了eBPF,我们对我们的工作进行了改进,以利用该技术并能够监控容器化环境。几个月前,我们已经展示了如何仅通过利用linux操作系统的某些功能,甚至不查看流量数据包,就可以检测,计数和衡量在特定主机上发生的网络活动。我们的开创性著作已发表在论文“使用eBPF结合系统可见性和安全性”。此后,我们在FOSDEM 2019上发表了“使用BPF合并系统和网络监控”的演讲,并与InfluxDB的朋友共同撰写了文章“容器时间的IT监控:进入eBPF可观察性”,除此之后还有其他活动。
虹科网络可视化与安全
2020/12/09
1.4K0
使用ntopng和InfluxDB实现容器和网络可见性
一文读懂基于 eBPF 自动化可观测平台 - DeepFlow
在过去,要以安全、非侵入的方式从整个系统收集遥测数据通常较为困难,我们需要许多产品、应用程序级代理和复杂的配置操作。然而,随着基于 eBPF 的项目数量不断增加,现代基础设施为中心的云原生社区对其产生了极大的兴趣,使得 eBPF 在 2022 年和 2023 年经历了巨大的增长。
Luga Lee
2023/08/09
2.9K2
一文读懂基于 eBPF 自动化可观测平台 - DeepFlow
eBPF,一个颠覆容器监控的技术
Hello folks,我是 Luga,今天我们来聊一下“监控”话题,主要是云原生生态下针对 Container 的监控,这里,主要探讨的是“技术”层面。‍‍‍‍‍‍‍‍‍‍
Luga Lee
2023/02/14
4.9K1
eBPF,一个颠覆容器监控的技术
一文读懂容器网络发展
容器技术很火,经常为人所提及,尤其是开源容器工具docker,已在不少数据中心里有广泛应用。容器主要是对软件和其依赖环境的标准化打包,将应用之间相互隔离,并能运行在很多主流操作系统上。这样看来容器和虚拟机技术很类似,容器是APP层面的隔离,而虚拟化是物理资源层面的隔离,容器解决了虚拟技术的不少痛点问题,很多时候容器可以和虚拟机结合在一起使用,这也是目前数据中心主流的做法。
kubernetes中文社区
2019/07/04
7410
漫谈容器监控系统
当容器运行在物理机上的时候,一般的监控的agent是直接运行在物理机上,在进行容器的健康检查的时候,依赖于docker客户端程序。
SRE运维实践
2019/07/08
1K0
漫谈容器监控系统
KVM虚拟化网络配置全解析:从NAT到桥接的深度理论阐释
Linux网络命名空间(network namespace)为每个虚拟网络创建独立的环境,通过以下命令验证:
Lethehong
2025/03/31
2970
KVM虚拟化网络配置全解析:从NAT到桥接的深度理论阐释
说说eBPF的超能力
在开始之前,让我们先谈谈什么是 eBPF。该首字母缩写词代表可扩展伯克利包过滤器。我不认为这很有帮助。您真正需要知道的是,eBPF 允许您在内核中运行自定义代码。它使内核可编程。让我们稍作停顿,确保我们都在同一个页面上了解内核是什么。内核是操作系统的核心部分,分为用户空间和内核。我们通常编写在用户空间中运行的应用程序。每当这些应用程序想要以任何方式与硬件交互时,无论是读取还是写入文件、发送或接收网络数据包、访问内存,所有这些都需要只有内核才能拥有的特权访问权限。用户空间应用程序必须在想要做任何这些事情时向内核发出请求。内核还负责诸如调度这些不同的应用程序之类的事情,以确保多个进程可以同时运行。
用户5166556
2023/03/18
7090
说说eBPF的超能力
【容器之集群管理】kubernetes初识
什么是Kubernetes Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用。而且Kubernetes支持GCE、vShpere、CoreOS、OpenShift、Azure等平台上运行,也可以直接部署在物理主机上。 ---- 举个例子: openstack用来管理虚拟化(kvm、xen、vmware等) kubernetes用来管理容器(docker) Kubernetes概念(角色)组成 Pod
小小科
2018/05/04
1.2K0
【容器之集群管理】kubernetes初识
Kata Containers及相关vmm介绍「建议收藏」
Kata Containers 是轻量级虚拟机的一种新颖实现,可无缝集成到容器生态系统中。 Kata Containers 与容器一样轻巧快速,并与容器管理层集成,同时还提供 VM 的安全优势。
全栈程序员站长
2022/09/30
2.6K0
Kata Containers及相关vmm介绍「建议收藏」
网络流量监控:数据包与Flow,选择哪个最好?
在监控部署方案上,最困难的一步是选择哪里是必须监控的最佳点,以及观察这些流量的最佳策略是什么。主要的选择基本上是:
虹科网络可视化与安全
2020/11/03
3.8K0
网络流量监控:数据包与Flow,选择哪个最好?
Kubernetes 安全风险以及 29 个最佳实践
目前 Kubernetes 在容器编排市场中占据了主导地位,与此同时,众多组织在使用 Kubernetes 时或多或少遇到了安全问题。本文深入探讨使用 Kubernetes 时可能遇到的风险和挑战,并给出了对应的安全实践。
CNCF
2020/07/03
1.7K0
轻松构建微服务之docker和高效发布
docker在创建容器进程的时候可以指定一组namespace参数,这样容器就只能看到当前namespace所限定的资源,文件,设备,网络。用户,配置信息,而对于宿主机和其他不相关的程序就看不到了,PID namespace让进程只看到当前namespace内的进程,Mount namespace让进程只看到当前namespace内的挂载点信息,Network namespace让进程只看到当前namespace内的网卡和配置信息,
kubernetes中文社区
2019/08/15
7590
轻松构建微服务之docker和高效发布
Cilium 容器网络的落地实践
随着越来越多的企业采用 Kubernetes,围绕多云、安全、可见性和可扩展性等新要求,可编程数据平面的需求用例范围越来越广。此外,服务网格和无服务器等新技术对 Kubernetes 底层提出了更多的定制化要求。这些新需求都有一些共同点:它们需要一个更可编程的数据平面,能够在不牺牲性能的情况下执行 Kubernetes 感知的网络数据操作。
用户5166556
2023/03/18
6870
Cilium 容器网络的落地实践
【容器安全系列Ⅱ】- 容器隔离与命名空间深度解析
在本系列的第一部分中,我们了解到容器实际上只是 Linux 进程。现在,我们需要了解容器如何与主机的其余部分隔离。换句话说,我们如何确保在一个容器中运行的进程不会轻易干扰另一个容器或底层主机的操作?
星尘安全
2024/08/17
2970
【容器安全系列Ⅱ】- 容器隔离与命名空间深度解析
虚拟网络设备与Linux网络协议栈
在现代计算环境中,虚拟网络设备在实现灵活的网络配置和隔离方面发挥了至关重要的作用🔧,特别是在容器化和虚拟化技术广泛应用的今天🌐。而Linux网络协议栈则是操作系统处理网络通信的核心💻,它支持广泛的协议和网络服务🌍,确保数据正确地在网络中传输。本文将深入分析虚拟网络设备与Linux网络协议栈的关联,揭示它们如何共同工作以支持复杂的网络需求。
GousterCloud
2024/04/09
2130
详解Kubernetes网络模型
Kubernetes 是为运行分布式集群而建立的,分布式系统的本质使得网络成为 Kubernetes 的核心和必要组成部分,了解 Kubernetes 网络模型可以使你能够正确运行、监控和排查应用程序故障。
没有故事的陈师傅
2022/09/15
1.8K0
详解Kubernetes网络模型
深入探究Kubernetes - 初识容器
Docker镜像文件部署,复杂度虽然降低了,但以容器格式运行的应用程序间的协同却成了一个新的亟待解决的问题,这种需求在微服务架构中表现得尤为明显。结果,以Kubernetes为代表的容器编排系统应需而生。
王炸
2019/08/29
5350
深入探究Kubernetes - 初识容器
浅析容器安全与EDR的异同
以Docker为代表的容器技术,直接运行于宿主机操作系统内核,因此对于容器安全,很多人会有着这样的疑问:EDR(Endpoint Detection and Response)等主机安全方案,能否直接解决容器安全的问题?针对这样的疑问,本文将结合容器安全的建设思路,简要分析其与EDR之间的一些异同。
绿盟科技研究通讯
2019/12/06
1.1K0
浅析容器安全与EDR的异同
K8s网络模型
容器不是模拟一个完整的操作系统,而是对进程进行隔离,对容器里的进程来说它接触到的各种资源都是独享的,比虚拟机启动快、占用资源少。
冬夜先生
2021/09/02
1.9K0
相关推荐
云原生|100个虚拟化基础知识问答(上),建议收藏!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档