Zabbix Agent 7.0 离线安装指南
安装包下载地址

适用环境
- 操作系统:CentOS 7.x(本文以 CentOS 7.6 为例)
- Zabbix Agent 版本:7.0.27(静态编译版)
- 安装包 :
zabbix_agent-7.0.27-linux-3.0-amd64-static.tar.gz
安装包结构
zabbix_agent-7.0.27-linux-3.0-amd64-static.tar.gz
├── bin/
│ ├── zabbix_get # 用于从 agent 获取监控数据
│ └── zabbix_sender # 用于主动推送数据到 server
├── sbin/
│ └── zabbix_agentd # agent 守护进程
└── conf/
├── zabbix_agentd.conf # 主配置文件
└── zabbix_agentd/
├── userparameter_examples.conf # 自定义监控项示例
└── userparameter_mysql.conf # MySQL 监控模板
安装步骤
1. 上传安装包
将 zabbix_agent-7.0.27-linux-3.0-amd64-static.tar.gz 上传到服务器的 /data/zabbix-agent/ 目录。
2. 解压安装包
bash
cd /data/zabbix-agent
tar xzf zabbix_agent-7.0.27-linux-3.0-amd64-static.tar.gz
3. 复制文件到安装目录
bash
mkdir -p /usr/local/zabbix-agent
cp -r /data/zabbix-agent/bin /data/zabbix-agent/sbin /data/zabbix-agent/conf /usr/local/zabbix-agent/
4. 修改配置文件
编辑 /usr/local/zabbix-agent/conf/zabbix_agentd.conf,修改以下关键配置:
ini
# 服务端 IP(被动模式,允许此 IP 来拉取数据)
Server=zabbix服务器的ip
# 服务端 IP(主动模式,向此 IP 推送数据)
ServerActive=zabbix服务器的ip
# 本机主机名(需与 Zabbix 服务端配置一致)
Hostname=自定义的被监控端名字
# 日志文件路径
LogFile=/tmp/zabbix_agentd.log
注意 :
Hostname必须与 Zabbix 服务端添加主机时填写的名称完全一致。
5. 创建 zabbix 系统用户
Zabbix Agent 不允许以 root 用户运行,需要创建专用系统用户:
bash
useradd -r -s /sbin/nologin zabbix
chown -R zabbix:zabbix /usr/local/zabbix-agent
6. 创建 systemd 服务
创建服务文件 /etc/systemd/system/zabbix-agent.service:
ini
[Unit]
Description=Zabbix Agent
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/zabbix-agent/sbin/zabbix_agentd -c /usr/local/zabbix-agent/conf/zabbix_agentd.conf
ExecStop=/bin/kill -TERM $MAINPID
Restart=on-failure
User=zabbix
[Install]
WantedBy=multi-user.target
7. 启动服务并设置开机自启
bash
systemctl daemon-reload
systemctl start zabbix-agent
systemctl enable zabbix-agent
8. 验证服务状态
bash
# 查看服务状态
systemctl status zabbix-agent
# 查看端口监听(默认 10050)
ss -tlnp | grep 10050
# 查看进程
ps aux | grep zabbix_agentd | grep -v grep
防火墙配置
如果服务器开启了防火墙,需要放通 10050 端口:
bash
firewall-cmd --add-port=10050/tcp --permanent
firewall-cmd --reload
或使用 iptables:
bash
iptables -A INPUT -p tcp --dport 10050 -j ACCEPT
service iptables save
常见问题
Q1: 启动报错 "user zabbix does not exist" / "cannot run as root!"
原因:Zabbix Agent 7.0 不允许以 root 用户运行。
解决:
bash
useradd -r -s /sbin/nologin zabbix
chown -R zabbix:zabbix /usr/local/zabbix-agent
并确保 systemd 服务文件中 User=zabbix。
Q2: 服务端无法连接到 Agent
排查步骤:
- 检查 Agent 是否正常运行:
systemctl status zabbix-agent - 检查端口是否监听:
ss -tlnp | grep 10050 - 检查防火墙是否放通 10050 端口
- 从服务端测试连通性:
telnet <agent_ip> 10050 - 检查配置文件中
Server地址是否正确
Q3: 主动模式不工作
排查步骤:
- 检查
ServerActive配置是否正确 - 检查
Hostname是否与服务端配置一致 - 查看日志:
tail -f /tmp/zabbix_agentd.log
常用管理命令
bash
# 启动服务
systemctl start zabbix-agent
# 停止服务
systemctl stop zabbix-agent
# 重启服务
systemctl restart zabbix-agent
# 查看状态
systemctl status zabbix-agent
# 查看日志
journalctl -u zabbix-agent -f
# 禁用开机自启
systemctl disable zabbix-agent
卸载方法
bash
# 停止并禁用服务
systemctl stop zabbix-agent
systemctl disable zabbix-agent
# 删除服务文件
rm -f /etc/systemd/system/zabbix-agent.service
systemctl daemon-reload
# 删除安装目录
rm -rf /usr/local/zabbix-agent
# 删除用户(可选)
userdel zabbix