Istio 访问日志与 Envoy 文档扩展:Engarde 工具介绍
核心观点
- 作者 Greg Hanson 是 IBM 软件开发者,长期参与 Istio 项目,擅长理解 Istio 资源如何生成 envoy 配置。
- Istio 用户常因创建 VirtualService、DestinationRule 或 ServiceEntry 后请求失败而求助,作者通常要求查看访问日志进行排查。
问题与挑战
- 访问日志提供了丰富的调试信息,但用户往往不熟悉日志字段含义,难以自行解析。
- 早期排查依赖手动分析 envoy 配置或查阅 istio 源码和 envoyproxy.io 文档,过程繁琐。
- Engarde 工具虽能解析 Istio 日志格式,但用户仍需额外查阅 envoy 文档理解字段含义。
Engarde 工具介绍
- Engarde 是 KubeCon North America 2019 年介绍的工具,能将访问日志转换为带标签字段的 JSON 格式。
- 作者扩展了 Engarde 功能,开发了 UI 界面整合 Engarde 和 envoy 文档,实现一站式解析与查询。
扩展功能
- 开发者编写了 envoy 文档爬虫,提取访问日志命令操作符的描述信息。
- 用户粘贴访问日志后,工具输出 Engarde 处理的 JSON,点击字段名或值可查看对应文档描述。
应用价值
- 工具简化了 Istio 请求失败排查流程,帮助用户快速理解日志含义。
- 作者主要出于工作需求开发该工具,希望对其他 Istio 用户也有帮助。
开源与展望
- 工具代码已开源,UI 扩展代码托管于 GitHub。
- 作者为 HTML/CSS 新手,欢迎改进建议;未来可考虑增加更多功能;用户可通过 Istio Slack 联系作者。