前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >统信服务器操作系统【Zabbix Agent 2 编译安装】

统信服务器操作系统【Zabbix Agent 2 编译安装】

作者头像
Kevin song
发布2024-04-30 15:30:18
920
发布2024-04-30 15:30:18
举报

Zabbix Agent2

Zabbix Agent2在Zabbix 5.0版本推出,使用Go语言重写,旨在减少TCP连接数并提供改进的检查并发性。Agent2 引入了插件系统,简化了监控功能的扩展,支持对各种系统服务、数据库、IoT设备和Docker容器的深入监控。它具备开箱即用的证书监控、系统监控和文件属性监控功能,同时保持了与 Zabbix Agent 的兼容性。Agent 2 支持广泛的操作系统平台,便于安装和部署,为系统管理员提供了一个强大、灵活且高效的监控解决方案。

统信服务器操作系统信息

代码语言:javascript
复制
[root@localhost /]# cat  /etc/os-release 
PRETTY_NAME="UOS Server 20"
NAME="UOS Server 20"
VERSION_ID="20"
VERSION="20"
ID=uos
HOME_URL="https://www.chinauos.com/"
BUG_REPORT_URL="https://bbs.chinauos.com/"
VERSION_CODENAME=fuyu
PLATFORM_ID="platform:uel20"
[root@localhost /]# uosinfo              
#################################################
Release:  uos release 20 (fuyu)
Kernel :  5.10.0-46.uel20.x86_64
Build  :  UOS Server 20 (1060e) 20230606 amd64
#################################################

安装 go 编译环境

代码语言:javascript
复制
下载go程序压缩包
wget -P /opt https://studygolang.com/dl/golang/go1.19.linux-amd64.tar.gz
解压工程序压缩包
tar -zvxf /opt/go1.19.linux-amd64.tar.gz -C /usr/local/

设置环境变量

代码语言:javascript
复制
go程序环境变量
echo "export PATH=\$PATH:/usr/local/go/bin" >>/etc/profile 
重载环境变量
source /etc/profile

验证go环境

代码语言:javascript
复制
go env

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

代码语言:javascript
复制
[root@localhost ~]# go env
GO111MODULE='on'
GOARCH='amd64'
GOBIN=''
GOCACHE='/root/.cache/go-build'
GOENV='/root/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/root/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/root/go'
GOPRIVATE=''
GOPROXY='https://goproxy.cn,direct'
GOROOT='/usr/local/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.21.9'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build2434785988=/tmp/go-build -gno-record-gcc-switches'

配置go代理环境

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

Zabbix Agent2 编译安装

1, 下载Zabbix源码包

代码语言:javascript
复制
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.29.tar.gz

2, 创建用户帐户

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

3,创建Zabbix进程主目录

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

4, 编译安装zabbix_agent2

(1)安装依赖

代码语言:javascript
复制
dnf install pcre-devel

(2)解压tar包到/opt下

代码语言:javascript
复制
tar -zvxf zabbix-6.0.29.tar.gz -C /opt && cd /opt/zabbix-6.0.29/

(3)进行编译

代码语言:javascript
复制
./configure --prefix=/usr/local/zabbix-agent2 --enable-agent2 --with-openssl

(4)编译安装

代码语言:javascript
复制
make install

默认配置文件

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

二进制程序

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

5,配置 systemd 启动文件

代码语言:javascript
复制
cat << EOF >  /usr/lib/systemd/system/zabbix-agent2.service
[Unit]
Description=Zabbix Agent 2
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix-agent2/etc/zabbix_agent2.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent2
Type=simple
Restart=on-failure
PIDFile=/run/zabbix/zabbix_agent2.pid
KillMode=control-group
ExecStart=/usr/local/zabbix-agent2/sbin/zabbix_agent2 -c /usr/local/zabbix-agent2/etc/zabbix_agent2.conf
ExecStop=/bin/kill -SIGTERM \$MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
EOF

6,zabbix-agent2配置文件

代码语言:javascript
复制
egrep -v "*#|^$" /usr/local/zabbix-agent2/etc/zabbix_agent2.conf     
Server=127.0.0.1
ServerActive=127.0.0.1
HostnameItem=system.hostname
HostMetadata=Linux
UnsafeUserParameters=1
UserParameter=CPU_TOP,ps auxc |head -n 1 && ps hauxc | sort -k3,3nr | head -n 5
UserParameter=MEM_TOP,ps auxc |head -n 1 && ps hauxc | sort -k4,4nr | head -n 5
ControlSocket=/tmp/agent.sock
Include=./zabbix_agent2.d/plugins.d/*.conf

7,启动并设置开机启动

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

8,zabbix_agent2 测试

代码语言:javascript
复制
[root@localhost sbin]# pwd
/usr/local/zabbix-agent2/sbin
[root@localhost sbin]# ./zabbix_agent2 -t agent.ping
agent.ping

9,zabbix-agent2 自定义监控项键值

代码语言:javascript
复制
vim /usr/local/zabbix_agent2/etc/zabbix_agent2.conf
UnsafeUserParameters=1
UserParameter=CPU_TOP,ps auxc |head -n 1 && ps hauxc | sort -k3,3nr | head -n 5
UserParameter=MEM_TOP,ps auxc |head -n 1 && ps hauxc | sort -k4,4nr | head -n 5

重启zabbix-agent2

代码语言:javascript
复制
systemctl restart  zabbix-agent2

zabbix_agent2 -t 测试

代码语言:javascript
复制
[root@localhost sbin]# pwd
/usr/local/zabbix-agent2/sbin
[root@localhost sbin]# ./zabbix_agent2 -t MEM_TOP
  • -c 指定配置文件
代码语言:javascript
复制
./zabbix_agent2 -t MEM_TOP -c  /usr/local/zabbix-agent2/etc/zabbix_agent2.conf

10,Zabbix Agent2 工作模式

  • 主动(Active):agent请求server获取主动的监控项列表,server 将监控项回复给agent,agent将监控项内需要检测的数据提交给server/proxy。
  • 被动(Passive):server向agent请求获取监控项的数据,agent返回数据。
  • go安装文档

https://go.dev/doc/install

  • go程序下载

https://go.dev/dl/

  • zabbix_agent2源码包下载

https://www.zabbix.com/download_sources#60LTS

  • zabbix_agent2安装文档

https://www.zabbix.com/documentation/6.0/en/manual/installation/install

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-30,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

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

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Zabbix Agent2
  • 安装 go 编译环境
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档


http://www.vxiaotou.com