Zabbix精进:zabbix agent编译安装手把手教程

Zabbix Agent编译安装的优势在于:自定义功能模块(如SNMP/IPMI支持);灵活选择最新版本或特定版本;优化二进制文件与硬件架构的适配性

Zabbix Agent是Zabbix监控系统的数据采集终端,以守护进程形式运行在被监控主机上,负责实时收集系统性能指标(CPU、内存、磁盘等)、应用程序状态和日志文件等数据。相较于被动模式,主动模式下的Agent能自主向Server发送数据,显著降低服务器负载。

编译安装的优势在于:

  1. 自定义功能模块(如SNMP/IPMI支持)
  2. 灵活选择最新版本或特定版本
  3. 优化二进制文件与硬件架构的适配性

通常情况下,在以下应用场景中可以考虑编译安装Zabbix agent

  1. 需要监控自定义设备(如ARM架构服务器)
  2. 企业内网环境无法连接官方源
  3. 安全合规要求使用特定OpenSSL版本

安装实例解析

一、背景

公司之前一直是用的预编译好的zabbix agent包在redhat、centos等进行安装部署。最近内部部署了一套新的操作系统(TencentOS Server),用之前的agent包发现并不能正常启动agent,具体报错是关于bash变量的: /bin/bash: 没有那个文件或目录

最开始以为是bash没有安装,经查,实际上文件是存在的且其他预编译好agent包也一样存在该问题,最终判断是预编译的好的环境与TencentOS Server的系统并不适用。

二、解决

尝试使用编译安装的方式去处理。

首先到官网下载相应的zabbix源包(我这里使用的版本是5.0.46)

1.安装c编译器等环境依赖

#yum install gcc  pcre    pcre-devel  make  -y 

2.创建用户组、用户

#groupadd zabbix

#useradd -g zabbix zabbix

3.解压zabbix-5.0.46.tar.gz 源包

#tar -zxvf zabbix-5.0.46.tar.gz

4.编译安装agent

#cd zabbix-5.0.46

#./configure --prefix=/usr/local/zabbix --sysconfdir=/usr/local/zabbix/etc --enable-agent --disable-dependency-tracking
#make install

5.创建日志、配置文件等目录

#mkdir /usr/local/zabbix/logs

#mkdir /usr/local/etc/zabbix_agentd.conf.d/

6.修改agent配置文件

#vim /usr/local/zabbix/etc/zabbix_agentd.conf

PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid #指定进程文件位置
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log #指定日志文件位置
Server=192.168.7.15 #指定数据采集代理/server 服务ip地址
ServerActive=192.168.7.15 #指定数据推送代理/server 服务ip地址
ListenPort=10050 #agent进程指定端口
Hostname=host725 #指定注册对象名(可填写主机名)
Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf #指定自定义监控键值位置(没有,可不用配置)

7.修改目录所属权限

#chown zabbix:zabbix /usr/local/zabbix -R

8.启动agent服务

#/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf

9.查看服务进程

#netstat -tnpl | grep zabbix_agent

10.增加自启服务配置

#vim /lib/systemd/system/zabbix_agentd.service

[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Type=forking
Restart=always
PIDFile=/usr/local/zabbix/logs/zabbix_agentd.pid
KillMode=mixed
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf
[Install]
WantedBy=multi-user.target

11.修改权限

#chmod u+x /lib/systemd/system/zabbix_agentd.service

12.加载服务启动文件

#systemctl daemon-reload 

13.尝试重新启动Zabbix Agent

#systemctl stop zabbix_agentd

#systemctl start zabbix_agentd

14.设置服务开机自启动

systemctl enable zabbix_agentd

15.观察主机是否上线,且监控数据是否已经正常获取

IbOeYKWH67d8d349132b3.png

0 条评论

请先 登录 后评论
乐维君
乐维君

431 篇文章

作家榜 »

  1. 乐维君 431 文章
  2. YOHOHO 14 文章
  3. 机灵小和尚 13 文章
  4. 细雨闲花 12 文章
  5. 我是一只小菜鸡 12 文章
  6. 。。。 9 文章
  7. 御前侍卫张五哥 9 文章
  8. 小黄人 8 文章