https://blog.csdn.net/wanger5354/article/details/118756030

一、安装go环境,zabbix-agent2要求高于16版本

# 在 ~ 下创建 go 文件夹,并进入 go 文件夹
mkdir ~/go && cd ~/go
#下载的 go 压缩包
wget https://dl.google.com/go/go1.17.7.linux-arm64.tar.gz
#执行tar解压到/usr/loacl目录下(官方推荐),得到go文件夹等
tar -C /usr/local -zxvf  go1.17.7.linux-arm64.tar.gz
#添加/usr/loacl/go/bin目录到PATH变量中。添加到/etc/profile 或$HOME/.profile都可以
# 习惯用vim,没有的话可以用命令`sudo apt-get install vim`安装一个
#vim /etc/profile
# 在最后一行添加
echo -e 'export GOROOT=/usr/local/go\nexport PATH=$PATH:$GOROOT/bin' >> /etc/profile
# 保存退出后source一下(vim 的使用方法可以自己搜索一下)
source /etc/profile

go version

#设置go代理
go env -w GOPROXY=https://goproxy.cn,direct

二、编译zabbix-agent2

yum install automake autoconf pcre* zlib-devel zlib-static  openssl-devel git wget gcc make -y  --nogpgcheck

git clone -b 5.4.12 https://git.zabbix.com/scm/zbx/zabbix.git --depth 1 zabbix-agent2
cd zabbix-agent2

./bootstrap.sh 
pushd . 
cd src/go/ 
go mod vendor 
popd 
./configure --enable-agent2 --with-openssl
make -j ${proc}

##使用docker来生成

FROM centos:centos7.9.2009
RUN ARCH= && Arch="$(uname -m)" \
    && case "${Arch##*-}" in \
      x86_64) ARCH='amd64';; \
      aarch64) ARCH='arm64';; \
      *) echo "unsupported architecture"; exit 1 ;; \
    esac \
    && set -ex \
    && yum install wget git make automake autoconf pcre* zlib-devel zlib-static  openssl-devel -y\
    && mkdir ~/go \
    && cd ~/go \
    && wget https://dl.google.com/go/go1.17.7.linux-${ARCH}.tar.gz \
    && tar -C /usr/local -zxvf  go1.17.7.linux-${ARCH}.tar.gz \
    && echo -e 'export GOROOT=/usr/local/go\nexport PATH=$PATH:$GOROOT/bin' >> /etc/profile \
    && source /etc/profile \
    && go version \
    && go env -w GOPROXY=https://goproxy.cn,direct
RUN  set -ex \
    && source /etc/profile \
    && go version \
    && go env -w GOPROXY=https://goproxy.cn,direct \
    && git clone -b 5.4.12 https://git.zabbix.com/scm/zbx/zabbix.git --depth 1 zabbix-agent2 \
    && cd zabbix-agent2 \
    && ./bootstrap.sh \
    && pushd . \
    && cd src/go/  \
    && go mod vendor \
    && popd \
    && ./configure --enable-agent2 --with-openssl \
    && make -j 4

银河kylin v10 使用docker编译(在x86下通过虚拟化arm64),内核要求在4.0以上

docker run --privileged --rm tonistiigi/binfmt --install all

docker run -it --platform arm64 leechm/kylin:v10-aarch64 bash
mkdir /tmp
cat  >> /etc/yum.repo.d/kylin.repo << 'EOF'
###Kylin Linux Advanced Server 10 - os repo###

[ks10-adv-os]
name = Kylin Linux Advanced Server 10 - Os
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/base/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1

[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/updates/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1

[ks10-adv-addons]
name = Kylin Linux Advanced Server 10 - Addons
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/addons/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 0
EOF

yum install automake autoconf pcre* zlib-devel zlib-static  openssl-devel git wget  gcc make  -y  --nogpgcheck

以下步骤按上边的进行,安装go,git clone zabbix
Logo

更多推荐