麒麟系统V10 SP2 Agent2 6.0.8 编译安装

2022-11-19 09:49:16 浏览数 (1)

Zabbix Agent2 介绍

Zabbix 5.0 版本推出了使用 go 语言重写的 Agent2,Agent2 有如下特性:

完成的插件框架支持,可扩张服务及应用监控

支持灵活的采集周期调度

更高效的数据采集及传输

可完全替换原有的 agent

…..

Zabbix Agent2 没有组件依赖,外网主机编译完成可直接拷贝编译好的二进制文件和配置文件在其他主机上运行即可

安装go基础编译环境

Zabbix Agent2 使用 go 编写,因此需要配置 go 编译环境,下载并配置 go 语言编译环境

代码语言:javascript复制
cd /opt
wget https://dl.google.com/go/go1.14.3.linux-amd64.tar.gz
tar zxvf go1.14.3.linux-amd64.tar.gz -C /usr/local/

配置go环境变量

代码语言:javascript复制
echo "export PATH=$PATH:/usr/local/go/bin" >>/etc/profile
source /etc/profile

验证go环境

代码语言:javascript复制
go env

显示如下,表明 go 语言环境配置成功

代码语言:javascript复制
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g  "
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build821720893=/tmp/go-build -gno-record-gcc-switches"

开启 go mod,由于编译过程需要联网下载依赖包,配置 go mod 代理

代码语言:javascript复制
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

Zabbix Agent2 编译安装

1,下载源码包

地址:https://www.zabbix.com/cn/download_sources#60LTS

2,创建用户帐户

代码语言:javascript复制
useradd -r -s /sbin/nologin zabbix

对于Zabbix 守护进程,需要一个非特权用户。如果 Zabbix 守护程序是从非特权用户帐户启动的,它将以该用户身份运行。如果守护程序是从"root"帐户启动的,将切换到"zabbix"用户帐户,该帐户必须存在。

代码语言:javascript复制
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

Zabbix进程不需要主目录,如果需要使用某些需要它的功能(例如,将MySQL凭据存储在$HOME /.my.cnf),则创建。

代码语言:javascript复制
mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix

3,编译安装zabbix agent

代码语言:javascript复制
#解压tar包到/opt下
tar zxzf zabbix-6.0.8.tar.gz -C /opt/
#进入目录进行编译
cd zabbix-6.0.8
#编译指定安装目录
./configure --prefix=/usr/local/zabbix_agent2 -enable-agent2
#安装
make && make install

编译过程中需要联网下载依赖包,耐心等待安装完成!!!

默认情况下,运行将在 /usr/local/sbin 中安装守护程序二进制文件(zabbix_server、zabbix_agentd、zabbix_proxy),在 /usr/local/bin 中安装客户端二进制文件(zabbix_get、zabbix_sender)。

要指定与 /usr/local 不同的位置,在配置源的上一步中使用 --prefix ,例如 --prefix=/usr/local/zabbix_agent2 ,守护程序二进制文件将安装在 <prefix>/sbin 下,而实用程序将安装在 <prefix>/bin 下。帮助手册将安装在<prefix>/share下。

默认配置文件

代码语言:javascript复制
/usr/local/zabbix/etc/zabbix_agent2.conf

二进制程序

代码语言:javascript复制
/usr/local/zabbix/sbin/zabbix_agent2

配置 systemd 启动文件

代码语言:javascript复制
vi /usr/lib/systemd/system/zabbix-agent2.service

内容如下

代码语言:javascript复制
[Unit]
Description=Zabbix Agent 2
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/etc/zabbix/zabbix_agent2.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent2
Type=simple
Restart=on-failure
PIDFile=/run/zabbix/zabbix_agent2.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_agent2 -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target

zabbix-agent2配置文件

egrep -v "*#|^$" /etc/zabbix/zabbix_agent2.conf

代码语言:javascript复制
PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.100.240,192.168.100.161
ServerActive=192.168.100.240,192.168.100.161
Hostname=kylin-node03
HostMetadata=Linux
ControlSocket=/tmp/agent.sock
Include=./zabbix_agent2.d/plugins.d/*.conf

配置启动并设置开机启动

代码语言:javascript复制
systemctl start zabbix-agent2
systemctl enable --now zabbix-agent2

zabbix_agent2 测试

代码语言:javascript复制
[root@kvm-node2 kylin]# zabbix_agent2  -t agent.ping
agent.ping                                    [s|1]

0 人点赞