在 Kubernetes 集群上安裝 OpenResty XRay 的 Agent
当您的应用在 Kubernetes 容器中运行时,OpenResty XRay Agent 可直接部署于您的 K8s 环境中。本文将逐步指导您如何在 Kubernetes 集群上安装 XRay Agent 服务,实现对系统中各类应用和容器的自动化分析与诊断。
登录控制台
登录账号。
点击 “Go to console“。
它会带您进入 Agent 安装的向导页面。
我将展示如何通过容器进行安装。
这次的例子中选择的是 “Kubernetes”。
在 Kubernetes 集群上安装 Agent
首先,用这条命令在 Kubernetes 集群中创建一个 Docker 镜像仓库的访问密钥。
点击复制它。
粘贴并执行命令。
访问密钥已成功创建。
用这个 yaml 文件部署 Agent。
您可以根据目机器的 CPU 架构选择 x86_64 或 arm64。在这个例子中,我们选择 x86_64 架构。
使用 vim 编辑器创建一个新的 yaml 文件。将该文件保存到本地,并命名为 openresty-xray-agent.yml
。
复制这个 yaml 文件的内容。
粘贴并保存文件。
我们可以使用以下命令进行配置应用。
复制它。
粘贴并执行这条命令。
Agent 已经部署成功了。
接下来使用这个命令检查 pod 的状态。
复制它。
粘贴并运行该命令。
可以看到,Agent 已经成功安装并正在运行了。
配置和检测应用
回到向导页面。
在非生产模式下,系统将采取更激进的分析方式,以便更快地获得结果。
生产模式用于分析线上生产环境,它会尽可能减少对目标应用和服务器性能的影响。不过这也意味着分析时间可能会更长。
偏执模式与生产模式类似,不过它会尝试进一步降低对目标服务器请求延时的性能影响。相应地,采样的时间会更久。
下面来自动检测目标系统中正在运行的应用和容器。
这些是自动检测到的目标应用。
如果要添加未检测到的新应用,可以配置自定义应用。
您可以在这里输入新应用的名称。
选择应用的类型。
您可以在这个进程列表中选择新应用对应的进程。
启动分析器和查看分析结果
点击这里开始运行分析器。
分析器已经开始运行。
点击 “Traffic and Load”。
系统检测到目标机器上有足够的流量和负载。只有目标应用有负载有流量时,我们的系统才能进行有意义的分析。
进入 Console。
等待第一份分析报告生成,因为第一个 Agent 刚刚完成安装。 “Insights” 页面里的分析报告是汇总所有 Agent 上的所有应用生成的。
您可以观察生成的实时进度。
可以看到,第一份全自动的分析报告已经生成好了!
未来会定期自动生成日报和周报。
切换到 “Dashboard” 页面。
可以看到各种不同类型应用的火焰图和其他图表,比如 Apache 和 OpenResty 应用。
安装另一个 Agent
如果要安装另一个 Agent,只需点击这里。
这里使用的步骤,和我们之前在 Kubernetes 集群上安装时的步骤相同。
如果需要在其他操作系统上安装,或者改用 RPM 包安装方式,可以点击这里。
回到了我们之前看到的向导页面,在这里可以选择不同的安装方式或操作系统。
关于 OpenResty XRay
OpenResty XRay 是一个动态追踪产品,它可以自动分析运行中的应用,以解决性能问题、行为问题和安全漏洞,并提供可行的建议。在底层实现上,OpenResty XRay 由我们的 Y 语言驱动,可以在不同环境下支持多种不同的运行时,如 Stap+、eBPF+、GDB 和 ODB。
关于作者
章亦春是开源 OpenResty® 项目创始人兼 OpenResty Inc. 公司 CEO 和创始人。
章亦春(Github ID: agentzh),生于中国江苏,现定居美国湾区。他是中国早期开源技术和文化的倡导者和领军人物,曾供职于多家国际知名的高科技企业,如 Cloudflare、雅虎、阿里巴巴, 是 “边缘计算“、”动态追踪 “和 “机器编程 “的先驱,拥有超过 22 年的编程及 16 年的开源经验。作为拥有超过 4000 万全球域名用户的开源项目的领导者。他基于其 OpenResty® 开源项目打造的高科技企业 OpenResty Inc. 位于美国硅谷中心。其主打的两个产品 OpenResty XRay(利用动态追踪技术的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最适合微服务和分布式流量的全能型网关软件),广受全球众多上市及大型企业青睐。在 OpenResty 以外,章亦春为多个开源项目贡献了累计超过百万行代码,其中包括,Linux 内核、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl 等,并编写过 60 多个开源软件库。
关注我们
如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:
翻译
我们提供了英文版原文和中译版(本文)。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!