基于Prometheus的node_exporter源码编译和二次开发

本文详述了从GitHub拉取node_exporter源码并进行编译的过程,包括解决golang工具库拉取问题、配置GOPROXY代理及常见错误处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先从GitHub上拉取node_exporter源码

go  get github.com/prometheus/node_exporter

在拉取过程中一般会出错,主要是由于golang官网被墙导致golang的有些工具库拉取不下来

如果不知道GitHub的工具库地址是什么,可以通过 https://pkg.go.dev/   网站来找

golang.org/x  工具库的拉取不下来可以直接去GitHub上拉取相关源码

https://github.com/golang   下面都是x目录

例如拉取golang.org/x/net工具库:
$mkdir -p $GOPATH/src/golang.org/x/
$cd $GOPATH/src/golang.org/x/
$git clone https://github.com/golang/net.git 

一般如上工具库拉取完整后, 再执行 go get的node_exporter成功获取

go get github.com/prometheus/node_exporter
cd ${GOPATH-$HOME/go}/src/github.com/prometheus/node_exporter
make

执行make命令进行编译(前提环境上要有make命令,没有则下载)

我编译的时候遇到如下问题:

拉取不到 github.com/alecthomas/units库

更换go的GOPROXY环境变量

网上找了个能用的代理地址:https://goproxy.cn

执行命令:

go env -w GOPROXY=https://goproxy.cn

后再执行make,成功

(可能遇到的两个坑,一个是操作系统如果是RHEL/CentOS: 需要 安装 glibc-static package.

    一个是内存要大于2G,不然经常报 out of memory 内存不足)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值