简介
项目需求服务基于arm64服务器centos系统组件一套prometheus监控系统,目前prometheus、alertmanager均可通过官网获取arm64安装包、prometheusalert官网只有x86-64或者源码,现记录一下本次编译过程一起学习
整体架构
软件下载
prometheusalert源码下载
linux.zip包下载(后面直接替换二进制文件放到arm64服务器使用)
sysroot-glibc-linaro-2.25-2019.12-aarch64-linux-gnu.tar.xz下载
编译前提
1、安装golang环境go 1.16环境以上
2、配置环境变量go env(也有其他小友使用export设置的)
GOARCH="arm64"
GOOS="linux"
CC="aarch64-linux-gnu-gcc"
CGO_ENABLED="1"
CGO_LDFLAGS="-g -O2 --sysroot=/usr/aarch64-linux-gnu/sys-root/"
编译步骤
unzip PrometheusAlert-4.9.zip
###提前安装arm64编译工具,没有的安装阿里yum源
yum -y install gcc-aarch64-linux-gnu.x86_64 gcc-c++-aarch64-linux-gnu.x86_64
vim go.mod ##修改go版本为自己版本
cd cmd && sh build.sh #会提示go mod tidy
go mod tidy
tar -xf sysroot-glibc-linaro-2.25-2019.12-aarch64-linux-gnu.tar
###提前添加head文件和库文件,避免出现stdlib.h找不到的问题
mv sysroot-glibc-linaro-2.25-2019.12-aarch64-linux-gnu/* /usr/aarch64-linux-gnu/sys-root/
sh build.sh
PrometheusAlert就是编译后的文件、替换后就可使用
到这里就完成了、祝各位编译成功、有问题欢迎留言、与君共勉