在Ubuntu上对Golang程序进行性能监控,可结合内置工具与第三方方案,以下是具体方法及工具:
net/http/pprof
包,启动HTTP服务(默认端口6060),即可通过HTTP接口获取性能数据。go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30
(采集30秒CPU数据)。go tool pprof http://localhost:6060/debug/pprof/heap
。go tool pprof http://localhost:6060/debug/pprof/goroutine
。-http=:8080
参数生成火焰图,需安装graphviz
。prometheus/client_golang
库暴露自定义指标(如HTTP请求量、延迟)。/metrics
接口数据,存储至时间序列数据库。go-sensors-parser
库获取硬件传感器数据(如CPU温度)。zap
或logrus
记录关键操作日志,集成Loki
实现日志聚合与查询。logrotate
工具自动管理日志文件,避免无限增长。