Deepflow

Deepflow

简介

eBPF
eBPF 是一个运行在 Linux 内核中的虚拟机,它提供一套特殊的指令集并允许我们在不重新编译内核、也不需要重启应用的情况下加载自定义的逻辑。

基于 eBPF 构建下一代智能可观测系统

DeepFlow
DeepFlow开源项目旨在为复杂的云原生应用提供深度可观测性。DeepFlow 基于 eBPF 实现了零插桩(Zero Code)、全覆盖(Full Stack)的指标、追踪、日志采集,并通过智能标签技术实现了所有观测数据的全关联(Universal Tagging)和高效存取。使用 DeepFlow,可以让云原生应用自动具有深度可观测性,从而消除开发者不断插桩的沉重负担,并为 DevOps/SRE 团队提供从代码到基础设施的监控及诊断能力。

【可观测性实战】快速定位 K8s 应用的时延瓶颈:
【可观测性实战】快速定位云服务时延瓶颈
快速定位 K8s CNI 端口冲突问题

部署

# 升级内核
# 安装helm
cd /opt/k8s/deepflow/
helm repo add deepflow https://deepflowio.github.io/deepflow
helm repo update deepflow
helm install deepflow -n deepflow deepflow/deepflow --create-namespace

# deepflow-agent Port for receiving trace, metrics, and log
deepflow-agent service: deepflow-agent.deepflow
deepflow-agent Host listening port: 38086
# Get the Grafana URL to visit by running these commands in the same shell
NODE_PORT=$(kubectl get --namespace deepflow -o jsonpath="{.spec.ports[0].nodePort}" services deepflow-grafana)
NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}")
echo -e "Grafana URL: http://$NODE_IP:$NODE_PORT  \nGrafana auth: admin:deepflow"

kubectl get pods -n deepflow
curl -o /usr/bin/deepflow-ctl https://deepflow-ce.oss-cn-beijing.aliyuncs.com/bin/ctl/stable/linux/$(arch | sed 's|x86_64|amd64|' | sed 's|aarch64|arm64|')/deepflow-ctl
chmod a+x /usr/bin/deepflow-ctl

### 比较 DeepFlow 和 Prometheus 功能特性 #### 数据采集方式 DeepFlow 利用了 eBPF 技术来实现高效的数据捕获和处理,这使得其能够深入操作系统内核层面获取更详尽的应用性能指标以及网络流量信息[^3]。相比之下,Prometheus 主要依赖于 pull 模型从目标服务拉取 metrics 数据;虽然也支持通过 pushgateway 推送数据的方式,但在灵活性上不如前者。 #### 自动化程度 对于自动化方面,DeepFlow 提供了 AutoTracing、AutoMetrics 等功能,这些特性允许系统自动发现并跟踪微服务体系内的请求调用关系和服务间交互情况,减少了人工配置的工作量。而 Prometheus 需要用户手动定义 metric endpoints 并设置相应的 job 来抓取所需监控项。 #### 性能开销 由于采用了先进的编译器技术和优化算法,DeepFlow 在运行时产生的资源消耗相对较低,尤其是在大规模分布式环境中表现更为突出[^1]。然而,Prometheus 的架构设计决定了它可能会占用较多内存空间用来存储时间序列数据库中的历史记录,并且随着监测对象数量增加,查询效率也可能受到影响。 #### 生态集成性 两者都拥有良好的社区生态支持,不过它们侧重点不同。DeepFlow 更加专注于云原生场景下的全面可观测解决方案构建,易于与其他 CNCF 项目如 Kubernetes 结合使用[^4]。与此同时,Prometheus 已经成为事实上的标准之一,在众多第三方应用程序中有广泛的支持,具备丰富的 exporter 资源可供选择。 ```yaml # Example of deploying DeepFlow via Helm, showcasing its ease-of-use with cloud-native environments. helm repo add deepflow https://deepflow-ce.oss-cn-beijing.aliyuncs.com/chart/stable helm repo update deepflow cat << EOF > values-custom.yaml global: allInOneLocalStorage: true image: repository: registry.cn-beijing.aliyuncs.com/deepflow-ce grafana: image: repository: registry.cn-beijing.aliyuncs.com/deepflow-ce/grafana EOF helm install deepflow -n deepflow deepflow/deepflow --create-namespace \ -f values-custom.yaml ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值