随着信创产业的推进,越来越多的服务器开始采用龙芯3A5000处理器。作为重要的监控工具,Prometheus系统需要在该架构服务器上可靠运行。但由于目前node_exporter官方尚未提供loongarch64架构的原生版本,因此我们只能进行手动编译适配和部署,以满足业务需求。
编译好的node_exporter下载地址:https://pan.quark.cn/s/e09bc874ff4b
node_exporter底层语言采用Golang,理论如果不涉及cgo,理论上可以通过交叉编译在x86架构环境中完成编译。然而在实际编译过程中,需要先安装prometheus工具链:promu,通过promu去编译node_exporter。promu也需要loongarch64架构。具体编译过程暂未细看,最终选择直接在龙芯架构的机器上开展编译工作,这样可以有效避免因编译环境与运行环境不一致可能带来的潜在兼容性问题。这种方式不仅能够确保最终生成的二进制文件与目标运行环境完美适配,同时也简化了编译环境的搭建和调试工作
下载地址:https://www.loongnix.cn/zh/toolchain/Golang
注意:
段错误(核心已转储)
。配置环境变量:
解压:
tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz
编辑/etc/profile
文件,在最后添加
export PATH=$PATH:/usr/local/go/bin
生效:source /etc/profile
地址:https://github.com/prometheus/node_exporter
本文直接下载1.9.0源码zip包
由于编译需要安装promu工具链,所以还需要下载promu源码
地址:https://github.com/prometheus/promu/releases
make build
进入node_exporter目录
make build
查看文件信息
file node_exporter
运行node_exporter
./node_exporter
本文记录了在龙芯3A5000架构服务器上手动编译node_exporter的过程,因官方未提供longarch64版本,需在龙芯机器上直接编译以确保兼容性和稳定性。配置Golang环境时使用龙芯社区提供的版本,避免官网版本的兼容性问题。编译前需安装promu工具链,并使用特定版本的promu以避免警告。最终通过编译验证,确保node_exporter可靠运行。