很多开发者都有这样的经历:

业务上线后,领导一句「能不能看看 QPS、内存、CPU 用量?」
结果开发团队要么临时加日志,要么紧急部署 node_exporter、Prometheus,全链路一套下来比业务本身还复杂。

有没有更轻量、即插即用的办法?
有,那就是 go-commons


🚀 1. 为什么要用 go-commons

  • 轻量:不需要额外部署 exporter 服务。
  • 嵌入式:直接在业务应用里暴露监控指标。
  • 即插即用:Go 开发者一行 go get,立刻可用。
  • 灵活:支持业务指标(QPS)+ 系统指标(内存、CPU)。

换句话说,它让 业务应用本身就是监控节点,省去了运维部署的复杂性。


🛠 2. 快速开始

安装依赖:

go get github.com/Rodert/go-commons

新建 main.go

package main

import (
	"fmt"
	"net/http"

	"github.com/Rodert/go-commons/metrics"
)

func main() {
	// 暴露监控接口
	http.HandleFunc("/metrics", func(w http.ResponseWriter, r *http.Request) {
		mem := metrics.GetMemoryUsage()  // 内存使用率
		cpu := metrics.GetCPUUsage()    // CPU 使用率

		fmt.Fprintf(w, "memory_usage %.2f\n", mem)
		fmt.Fprintf(w, "cpu_usage %.2f\n", cpu)
	})

	fmt.Println("server started at :8080")
	http.ListenAndServe(":8080", nil)
}

运行:

go run main.go

🔍 3. 查看监控结果

直接用 curl 访问:

curl http://localhost:8080/metrics

输出示例:

memory_usage 38.12
cpu_usage 7.45

就是这么简单!
没有 node_exporter,没有复杂配置,一个 Go 应用就能自带健康报告。


📊 4. 与 Prometheus 集成

如果团队已经有 Prometheus,只需在配置文件加一个 job:

scrape_configs:
  - job_name: "go-commons-demo"
    static_configs:
      - targets: ["localhost:8080"]

Grafana 就能画出漂亮的监控大盘。
业务 + 系统指标 全都在里面。


🌟 5. 为什么推荐 go-commons

  • 对个人开发者:部署成本为 0,直接在 Go 应用里加几行代码。
  • 对小团队:替代 node_exporter,节省维护成本。
  • 对大团队:快速验证场景,在系统监控上线前,先用它做 MVP 方案。

🤝 6. 加入开源共建

目前 go-commons 还在快速演进阶段。
👉 GitHub 地址:https://github.com/Rodert/go-commons

你可以参与的方向包括:

  • 新增监控指标:网络带宽、磁盘 I/O、goroutine 数量
  • 提交更多示例代码:结合 Web 框架 Gin/Fiber
  • 完善文档:给新人写「五分钟上手」教程

如果你在用 Go 做开发,强烈推荐你来试试。
让你的应用,从此自带一份 “健康体检报告” 🚀。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐