前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >龙芯(loongarch架构)编译prometheus/node_exporter

龙芯(loongarch架构)编译prometheus/node_exporter

作者头像
编码如写诗
发布2025-02-28 12:59:42
发布2025-02-28 12:59:42
4800
代码可运行
举报
文章被收录于专栏:编码如写诗
运行总次数:0
代码可运行

随着信创产业的推进,越来越多的服务器开始采用龙芯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架构。具体编译过程暂未细看,最终选择直接在龙芯架构的机器上开展编译工作,这样可以有效避免因编译环境与运行环境不一致可能带来的潜在兼容性问题。这种方式不仅能够确保最终生成的二进制文件与目标运行环境完美适配,同时也简化了编译环境的搭建和调试工作

准备Golang环境

下载地址:https://www.loongnix.cn/zh/toolchain/Golang

注意:

  • 这里是到龙芯开源社区下载Golang安装包。因为从官网下载的go各个版本,在公司龙芯3A 5000+UOS/麒麟V10的系统上,一直没法使用,报错:段错误(核心已转储)
  • 截至2025-02-27 ,最新版本为node_exporter :1.9.0,promu:0.17.0。虽然go 1.24.0已发布,建议下载go 1.23.*版本环境。使用1.24.0版本 promu 可能会有warn

配置环境变量:

解压:

代码语言:javascript
代码运行次数:0
复制
tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz

编辑/etc/profile文件,在最后添加

代码语言:javascript
代码运行次数:0
复制
export PATH=$PATH:/usr/local/go/bin

生效:source /etc/profile

下载源码

地址:https://github.com/prometheus/node_exporter

本文直接下载1.9.0源码zip包

由于编译需要安装promu工具链,所以还需要下载promu源码

下载promu源码

地址:https://github.com/prometheus/promu/releases

编译

编译promu

代码语言:javascript
代码运行次数:0
复制
make build

编译node_exporter

进入node_exporter目录

代码语言:javascript
代码运行次数:0
复制
make build

验证

查看文件信息

代码语言:javascript
代码运行次数:0
复制
file node_exporter

运行node_exporter

代码语言:javascript
代码运行次数:0
复制
./node_exporter

总结

本文记录了在龙芯3A5000架构服务器上手动编译node_exporter的过程,因官方未提供longarch64版本,需在龙芯机器上直接编译以确保兼容性和稳定性。配置Golang环境时使用龙芯社区提供的版本,避免官网版本的兼容性问题。编译前需安装promu工具链,并使用特定版本的promu以避免警告。最终通过编译验证,确保node_exporter可靠运行。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编码如写诗 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为何要到龙芯机器编译
  • 准备Golang环境
  • 下载源码
    • 下载promu源码
  • 编译
    • 编译promu
    • 编译node_exporter
  • 验证
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档