Zabbix agent编译安装详细教程

 文章出处:乐维社区

背景

公司之前一直是用的预编译好的zabbix agent包在redhatcentos等进行安装部署。最近内部部署了一套新的操作系统(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. 加载服务启动文件

#systemctl daemon-reload

 

 

14. 加载服务启动文件

#systemctl daemon-reload

 

15. 加载服务启动文件

#systemctl daemon-reload

 

16. 尝试重新启动Zabbix Agent

#systemctl stop zabbix_agentd

#systemctl start zabbix_agentd

 

 

17. 设置服务开机自启动

systemctl enable zabbix_agentd

 

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

 

posted @ 2025-03-12 14:29  乐维_lwops  阅读(94)  评论(0)    收藏  举报