首页 > 其他分享 >Hubble 基础

Hubble 基础

时间:2023-12-27 17:55:53浏览次数:31  
标签:Hubble 服务 eBPF 哪些 基础 集群 Cilium

Hubble 概述

Hubble 是一个完全分布式网络和安全可观测平台。它构建在 Cilium 和 eBPF 之上,能够以完全透明的方式深入了解服务的通信和行为以及网络基础设施。
通过构建在 Cilium 之上,Hubble 可以利用 eBPF 来提高可观测性。通过依赖 eBPF,所有可观测性都是可编程的,并允许采用动态方法,最大限度地减少开销,同时根据用户的要求提供深入而详细的可观测性。Hubble 的创建和专门设计就是为了充分利用这些新的 eBPF 能力。
默认情况下,Hubble API 在 Cilium agent 运行的单个节点的范围内运行。这将网络洞察限制为本地 Cilium agent 观察到的流量。Hubble CLI ( hubble) 可用于查询通过本地 Unix 域套接字提供的 Hubble API。Hubble CLI 二进制文件默认安装在 Cilium 代理 Pod 上。
部署 Hubble Relay 后,可以为整个集群甚至 ClusterMesh 场景中的多个集群提供网络可见性。在此模式下,可以通过将 Hubble CLI (hubble) 定向到 Hubble Relay 服务或通过 Hubble UI 来访问 Hubble 数据。Hubble UI 是一个 Web 界面,可以自动发现 L3/L4 甚至 L7 层的服务依赖图,从而允许用户友好地可视化和过滤数据流作为服务图。
它还与 Prometheus 和 Grafana 等流行的监控工具集成,以实现高级指标收集和可视化。

Hubble 功能

服务依赖关系和通信图

1. 哪些服务正在相互通信?多久一次?服务依赖图是什么样的?
2. 正在进行哪些 HTTP 调用?服务从哪些 Kafka 主题消费或生成哪些主题?

网络监控与警报

1. 是否有网络通讯失败?为什么通信失败?是DNS问题?是应用程序问题还是网络问题?第 4 层 (TCP) 或第 7 层 (HTTP) 上的通信是否中断?
2. 哪些服务在过去 5 分钟内遇到了 DNS 解析问题?哪些服务最近经历过 TCP 连接中断或连接超时?未答复的 TCP SYN 请求的比率是多少?

应用监控

1. 特定服务或所有集群的 5xx 或 4xx HTTP 响应代码的比率是多少?
2. 集群中 HTTP 请求和响应之间的 95% 和 99% 延迟是多少?哪些服务表现最差?两个服务之间的延迟是多少?

安全可观察性

哪些服务的连接因网络策略而被阻止?从集群外部访问了哪些服务?哪些服务解析了特定的 DNS 名称?

Hubble 组件架构图

Hubble 工作逻辑

Hubble 建立在 Cilium 和 eBPF 之上,分为三个独特的部分,概述如下:

Hubble UI

Hubble UI 是一个基于 Web 的界面,可让您探索和可视化收集的数据。它提供交互式拓扑视图、网络策略实施信息和流详细信息,以实现实时洞察。

Hubble Metrics

Hubble 公开了大量的指标,包括数据包丢失、延迟和策略执行。这些指标可以由 Prometheus 使用,并使用 Grafana 进行可视化,可以轻松跟踪集群的运行状况和性能。

Hubble Alerts

当满足特定事件或条件(例如过多的数据包丢失或违反策略)时,Hubble 警报会提供实时通知。这些警报可以与您首选的监控和警报系统(例如 Slack 或 PagerDuty)集成,以确保您随时了解情况并能够快速响应潜在问题。

参考文档

https://docs.cilium.io/en/latest/overview/intro/#what-is-hubble

标签:Hubble,服务,eBPF,哪些,基础,集群,Cilium
From: https://www.cnblogs.com/wangguishe/p/17924780.html

相关文章

  • linux基础命令
    Linux基本指令一.常用指令:1.目录操作指令1.1.1ls命令ls是最常见的目录操作命令,主要作用是显示目录下的内容命令名称:ls英文原意:list所在路径:/bin/ls功能描述:显示目录下的内容代码:[root@localhost~]#ls[选项][文件名或者目录名]-a 显示所有文件--color=when:......
  • JVM虚拟机-基础篇1-初识JVM(一)
    1初识JVM1.1什么是JVM概念:JVM全称是JavaVirtualMachine,中文译名Java虚拟机。本质:JVM本质上是一个运行在计算机上的程序,它的职责是运行Java字节码文件。1.2JVM的功能 1)解释和运行对字节码文件中的指令,实时的解释成机器码,让计算机执行; 2)内存管理自动为对......
  • MySQL 事务的基础知识
    事务的基础知识1.数据库事务概述事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库中的数据始终保持一致性,同时我们还能通过事务的机制恢复到某个时间地点的数据,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。1.1存储引擎的支持情况查询当......
  • 自然语言处理的基础知识:语言模型和语音识别
    1.背景介绍自然语言处理(NLP)是人工智能领域的一个重要分支,它旨在让计算机理解、生成和处理人类语言。自然语言处理的一个重要方面是语言模型和语音识别。语言模型是一种统计模型,用于预测给定上下文的下一个词或字符。语音识别是将语音信号转换为文本的过程,这是自然语言处理中的一个......
  • 和鲸-numpy+pandas使用基础 关卡1
    STEP1:按照下列要求创建数据框已知10位同学的学号以及语数英三科成绩如下:(都是数值型数据)Id:[202001,202002,202003,202004,202005,202006,202007,202008,202009,202010]Chinese:[98,67,84,88,78,90,93,75,82,87]Math:[92,80,73,76,88,78,90,82,7......
  • 人工智能算法原理与代码实战:强化学习的基础概念和实践
    1.背景介绍强化学习(ReinforcementLearning,RL)是一种人工智能(AI)的子领域,它旨在解决如何让智能体(如机器人)在环境中取得最佳性能的问题。强化学习的核心思想是通过与环境的互动来学习,而不是通过传统的监督学习方法。在这种学习过程中,智能体通过试错学习,并根据收到的奖励来调整其行为......
  • AI人工智能中的数学基础原理与Python实战:深度学习框架与数学基础
    1.背景介绍人工智能(ArtificialIntelligence,AI)和深度学习(DeepLearning,DL)是当今最热门的技术领域之一。它们在图像识别、自然语言处理、语音识别等方面的应用表现卓越,为人类提供了无尽的便利。然而,为了更好地理解和应用这些技术,我们需要掌握其数学基础原理。在本文中,我们将探讨......
  • AI人工智能中的数学基础原理与Python实战:强化学习与决策过程
    1.背景介绍人工智能(ArtificialIntelligence,AI)和机器学习(MachineLearning,ML)是现代科学和技术领域的热门话题。随着数据量的增加,计算能力的提升以及算法的创新,人工智能技术在各个领域的应用也逐渐成为可能。强化学习(ReinforcementLearning,RL)是一种人工智能技术,它旨在让计算......
  • 软件测试基础知识篇
    一、软件测试的目的:发现缺陷错误,并且尽最大可能找出最多的错误,也是对软件质量进行评估,以提高软件质量。二、什么是软件:软件=程序+文档+数据软件是计算机系统中与硬件相互依存的一部分,它是包括程序、文档的完整集合。程序(program)是按事先设计的功能和性能要求执行的指令序列。......
  • 云计算:从基础架构原理到最佳实践之:云计算人工智能与深度学习
    1.背景介绍云计算是一种基于互联网的计算资源共享和分配模式,它允许用户在网络上获取计算资源,而无需购买和维护自己的硬件和软件。云计算的核心思想是将计算任务分解为多个小任务,并将这些小任务分配给不同的计算节点进行处理。这种分布式计算模式有助于提高计算效率、降低成本和提高......