网站首页 > 开源技术 正文
作者:古琦
在现代软件架构中,微服务已成为构建可扩展和灵活应用程序的流行方式。每个微服务负责应用程序的一部分功能,它们共同工作以提供完整的服务。由于微服务架构的分散特性,监控变得至关重要,有效的微服务监控是确保高可用性、可靠性和服务质量的关键组成部分,它支撑了整个系统的健康运行和业务的持续增长。
随着 Kubernetes 以及容器化的技术普及,Go 语言不止应用于云原生基础组件领域,在业务场景下有非常多的新兴业务都使用 Golang 作为编程语言首选,Golang 的 RPC 框架非常多,如 Gin、Kratos、Kitex 等,Golang 在微服务生态中愈趋成熟,通过最新的 TIOBE 的查看到 Golang 的排名进入前十,做好 Golang 微服务的应用监控至关重要。
应用监控 eBPF 版通过 eBPF 的技术实现了无侵入的 Golang 微服务可观测能力,可以获取 Golang 微服务的调用详情,同时能实现无侵入的 Golang 的 CPU Profiling、数据库调用分析。
详细产品介绍:多语言应用监控最优选,ARMS 应用监控 eBPF 版正式发布
eBPF 介绍
eBPF(扩展的 Berkeley 包过滤器)是一种强大的技术,允许开发人员在 Linux 内核中安全地运行预编译的程序,而不改变内核源码或加载外部模块。这一独特的能力使得 eBPF 成为构建现代、灵活且高效的应用监控工具的理想选择。
在可观测性方面,eBPF 优势尤为突出:
- 实时性:eBPF 能够实时捕获和分析数据,为开发者提供即时的性能反馈。
- 精确性:通过精细的 hook 函数(hook points),eBPF 可以在系统的具体点进行监控,从而准确地收集所需数据。
- 灵活性:开发者可以编写定制的 eBPF 程序来监控特定事件,使其能够适应各种复杂的监控需求。
- 低开销:eBPF 程序直接在内核空间运行,避免了传统监控工具中频繁的用户空间和内核空间之间的上下文切换。
- 安全性:eBPF 程序在执行前必须通过内核的严格检查,确保不会危及系统安全。
Golang 微服务应用监控
将 Golang 应用添加到应用监控 eBPF 中,可以参考:https://help.aliyun.com/zh/arms/application-monitoring-ebpf/getting-started/access-application-monitoring-ebpf-version?spm=a2c4g.11186623.0.0.73527c6fgIk5te
如下图所示,将一个使用了 Gin 框架的 Golang 应用添加到应用监控eBPF中,如下图所示,在 Deployment 中增加以下配置:
添加完成后查看应用详情:
服务接口调用详情:
查看应用的调用请求详情,包含请求的 body、header、接口等信息:
持续剖析
应用监控 eBPF版 推出无侵入的应用持续剖析的能力,我们通过 eBPF 去获取应用程序的调用栈,同时在 eBPF 探针中实现对应的栈 ID 到方法的映射,可以查看应用的 CPU 火焰图,直观展现业务应用执行过程中 CPU 密集点,不需要做任何的代码修改。如下使用 Go-Gin 框架提供的 Http 服务,火焰图如下所示:
可以查看到处理 Http 请求的 CPU 百分比:
如果在服务中加入一个循环打印数据的功能:
func Print() {
for {
fmt.Println("This will print indefinitely every second.")
time.Sleep(1 * time.Second) // 每秒打印一次
}
}
可以从火焰图中找到对应的 Print 函数,能快速定位 Golang 微服务中 CPU 的占比:
数据库分析
数据库是业务应用中使用最多的中间件产品,监控业务应用对数据的调用能够快速发现问题,比如慢 sql、调用数据库的响应时间等,应用监控 eBPF 版提供了针对数据库的调用分析页面,如下所示:
查看数据库调用的详情,其中展示了数据库的调用次数、sql 语句(聚合后)、平均耗时、慢调用次数(500ms)等信息。
网络监控
网络监控数据描述了应用对应的每个实例接收的包数、发送包数、Tcp Latency、Tcp 重传、Tcp Drop。
目前,应用监控 eBPF 版处于免费使用阶段,欢迎开发者体验与使用,点击下方,立即体验。
https://www.aliyun.com/activity/middleware/container-monitoring
如果您在使用应用监控 eBPF 版中有任何问题,请联系答疑钉钉群(群号:35568145)获取帮助。
猜你喜欢
- 2024-12-26 “用罚款赚回来了!”美国一县买无人机服务监控非法燃放烟花
- 2024-12-26 技术分享 | 使用 Zabbix + Grafana 搭建服务器监控系统
- 2024-12-26 在线自动监控设施——服务内容、技术服务指标
- 2024-12-26 海康威视公路视频监控可视化综合解决方案,推荐收藏
- 2024-12-26 linux下资源(网络、cpu、内存、io、文件)监控和分析工具汇总
- 2024-12-26 SkyWalking的分布式跟踪系统 - 微服务监控
- 2024-12-26 服务器监控配置-Windows Server安装SNMP
- 2024-12-26 48 张图 | 手把手教你微服务的性能监控、压测和调优
- 2024-12-26 SpringBoot服务监控机制,总算整明白了
- 2024-12-26 网易互娱在秒级监控、服务限流、AIOps落地上的运维升级实践
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)