eBPF系列之:DeepFlow 扩展协议解析实践(MongoDB协议与Kafka协议)
概述: 如何分析一个协议(MongoDB) 协议文档的分析思路 MongoDB协议操作码说明表 对最常见的操作码OP_MSG分析 在DeepFlow Agent扩展一个协议解析采集 DeepFlow Agent的开发文档概要 代码指引 定义一个协议,并用一个常量标识。 为新协议准备解析逻辑 定义结构体 实现 L7ProtocolParserInterface 利用Wasm插件扩展DeepFlow的协议采集 Kafka协议分析 Kafka的Header和Data概览 Kafka的Fetch API Kafka的Produce API Kafka协议DeepFlow Agent原生解码 DeepFlow Agent的 Wasm 插件 Wasm Go SDK 的框架 插件代码指引 结语 原生Rust扩展 Wasm插件扩展 附录 概述: MongoDB 目前使用广泛,但是缺乏有效的可观测能力。 DeepFlow 在可观测能力上是很优秀的解决方案,但是却缺少了对 MongoDB 协议的支持。 该文是为 DeepFlow 扩展了 MongoDB 协议解析,增强 MongoDB 生态的可观测能力,简要描述了从协议文档分析到在 DeepFlow 内实现代码解析的过程拆解。
Continue reading →