ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

zabbix-agent安装,配置RemoteCommand

2026/8/8 17:43:11 拓冰建站 浏览量
zabbix-agent安装,配置RemoteCommand

zabbix-agent安装

  • yum安装
    • 调整Linux Zabbix Agent 配置文件
  • 源码包安装7.0,下载解压直接使用
    • 解决缺少依赖导致无法yum安装
  • zabbix agent 新增server或者proxy地址
    • 放通端口
  • 编译安装zabbix-agent5.0
  • 配置Windows agent:
  • 开启主动模式:
  • 执行远程命令RemoteCommand -zabbix5.0
  • 执行远程命令RemoteCommand -zabbix7.0
    • 配置脚本,使用绝对路径
    • 配置触发器动作
    • zabbix agent 配置文件
  • agent 启动报错

官方文档:
https://www.zabbix.com/cn/download?zabbix=7.0&os_distribution=centos&os_version=7&components=agent_2&db=&ws=

yum安装

被监控端主机client 要开启入站规则zabbix server 10050 端口,达到默认监控
开启客户端访问zabbix server 10051端口目的是为了完成active,主动模式监控

源地址目标地址端口
zabbix server IPclient IP10050
clietn IPzabbix server IP10051

在官方文档点击获取zabbix
点第一个 下载安装zabbix,这里根据对应系统又对应的安装包

下载安装repo仓库

rpm-Uvh https://repo.zabbix.com/zabbix/7.0/rhel/7/x86_64/zabbix-release-latest-7.0.el7.noarch.rpm yum cleanall

列出需要安装的zabbix-agent版本信息

yumlistall|grep zabbix

安装agent:

#安装包名称:第一列-第二列(zabbix-agent)-(7.2.0-release1.el7)yum install zabbix-agent2-7.0.9-release1.el7

调整Linux Zabbix Agent 配置文件

修改配置文件

sed-i's\Server=127.0.0.1\Server=Zabbix service IP\g'/etc/zabbix/zabbix_agentd.conf#Zabbix service IP 更改为你自己的serversed-i's\ServerActive=127.0.0.1\ServerActive=Zabbix service IP\g'/etc/zabbix/zabbix_agentd.conf#Zabbix service IP 更改为你自己的serversed-i's\Hostname=Zabbix server\Hostname=clienthost\g'/etc/zabbix/zabbix_agentd.conf#主机名改为你自己客户端的主机名,这里的名字要和web页面配置的主机名一致

查看配置文件:

grep-v"#"/etc/zabbix/zabbix_agentd.conf|awk NF

调整完配置文件重启服务

systemctl start zabbix-agent.service service zabbix-agent restart

启动zabbix,以及开机自启动

systemctl restart zabbix-agent2 systemctl enable zabbix-agent2

源码包安装7.0,下载解压直接使用

解决缺少依赖导致无法yum安装

https://www.zabbix.com/cn/download_agents?version=7.0+LTS&release=7.0.10&os=Linux&os_version=3.0&hardware=amd64&encryption=No+encryption&packaging=Archive&show_legacy=0

wget https://cdn.zabbix.com/zabbix/binaries/stable/7.0/7.0.10/zabbix_agent-7.0.10-linux-3.0-
vim install_zabbix_agent.sh
  • 根据自身情况修改安装包名称以及服务器IP
  • 安装包与脚本在同一目录
#!/bin/bash##安装包与脚本在同一目录# 配置变量 (按需修改)ZABBIX_PACKAGE="zabbix_agent-7.0.10-linux-3.0-amd64-static.tar.gz"#安装包名称HOST_IP=$(ip-4addr show eth0|grep inet|awk'{print $2}'|cut-d'/'-f1)# 本机标识IP(用于Hostname配置,Hostname要与web端的Host name一致)ZABBIX_SERVER_IP="110.105.20.44"# Zabbix服务器/proxy 的IP# 检查是否为root用户if["$(id -u)"!="0"];then echo"错误:此脚本必须以root权限运行!"1>&2exit1fi# 检查安装包是否存在if[!-f"$ZABBIX_PACKAGE"];then echo"错误:安装包 $ZABBIX_PACKAGE 不存在!"1>&2exit1fi echo"正在安装 Zabbix Agent..."echo"使用配置:"echo" - 安装包: $ZABBIX_PACKAGE"echo" - 本机标识IP: $HOST_IP"echo" - Zabbix服务器: $ZABBIX_SERVER_IP"echo"----------------------------------------"# 创建目录mkdir-p/usr/local/zabbix/||exit1mkdir-p/etc/zabbix||exit1# 移动并解压安装包echo"移动安装包到 /usr/local/zabbix..."mv-v"$ZABBIX_PACKAGE"/usr/local/zabbix/||exit1cd/usr/local/zabbix/||exit echo"解压安装包..."tar-zxvf"$ZABBIX_PACKAGE"||exit1rm-f"$ZABBIX_PACKAGE"# 复制配置文件echo"复制配置文件至/etc/zabbix/"cp-v conf/zabbix_agentd.conf/etc/zabbix/zabbix_agentd.conf||exit1# 创建systemd服务文件echo"创建systemd服务..."cat>/lib/systemd/system/zabbix-agent.service<<EOF[Unit]Description=Zabbix Agent After=syslog.target After=network.target[Service]Environment="CONFFILE=/etc/zabbix/zabbix_agentd.conf"EnvironmentFile=-/etc/sysconfig/zabbix-agent Type=forking KillMode=control-group ExecStart=/usr/local/zabbix/sbin/zabbix_agentd-c \$CONFFILE ExecStop=/bin/kill-SIGTERM \$MAINPID User=zabbix Group=zabbix[Install]WantedBy=multi-user.target EOF# 创建zabbix用户if!idzabbix&>/dev/null;then echo"创建zabbix用户..."useradd-r-M-s/sbin/nologin zabbix fi# 修改配置文件echo"更新配置文件..."sed-i"s|Server=127.0.0.1|Server=$ZABBIX_SERVER_IP|g"/etc/zabbix/zabbix_agentd.conf sed-i"s|ServerActive=127.0.0.1|ServerActive=$ZABBIX_SERVER_IP|g"/etc/zabbix/zabbix_agentd.conf sed-i"s|Hostname=Zabbix server|Hostname=$HOST_IP|g"/etc/zabbix/zabbix_agentd.conf# 设置日志路径echo"配置日志路径..."mkdir-p/var/log/zabbix chown zabbix:zabbix/var/log/zabbix sed-i's|^#*\s*LogFile=.*/tmp/zabbix_agentd\.log|LogFile=/var/log/zabbix/zabbix_agentd.log|'/etc/zabbix/zabbix_agentd.confif! grep-q'^LogFile='/etc/zabbix/zabbix_agentd.conf;then echo"LogFile=/var/log/zabbix/zabbix_agentd.log">>/etc/zabbix/zabbix_agentd.conf fi# 设置权限echo"设置文件权限..."chown-R zabbix:zabbix/usr/local/zabbix chown zabbix:zabbix/etc/zabbix/zabbix_agentd.conf# 启动服务echo"启动Zabbix Agent服务..."systemctl daemon-reloadsystemctl restart zabbix-agent systemctl enable zabbix-agent# 验证安装ifsystemctlis-active--quiet zabbix-agent;then echo-e"\n\033[32mZabbix Agent 安装成功!\033[0m"echo"服务状态: $(systemctl is-active zabbix-agent)"echo"开机自启: $(systemctl is-enabled zabbix-agent)"elseecho-e"\n\033[31m错误:Zabbix Agent 启动失败!\033[0m"journalctl-u zabbix-agent--since"5 minutes ago"--no-pager exit1fi
chmod+x install_zabbix_agent.sh sudo./install_zabbix_agent.sh

zabbix agent 新增server或者proxy地址

使用以下脚本
在proxy处调整为你的server或者proxyIP

cat>agent.sh<<EOF#!/bin/bashproxy=*.*.*.*# 获取 Server= 的配置行IP=\$(grep-v"#"/etc/zabbix/zabbix_agentd.conf|awk'/Server=/ {print \$0}')# 确保 \$IP 有值if[[-n"\$IP"]];then# 替换行内容sed-i"s/\$IP/\$IP,\$proxy/"/etc/zabbix/zabbix_agentd.conf echo"Updated \$IP to \$IP,\$proxy in zabbix_agentd.conf"elseecho"No Server= line found in zabbix_agentd.conf"fi# 重启 Zabbix Agent 服务systemctl restart zabbix-agent EOF chmod+x agent.sh bash+x agent.sh

放通端口

通常云服务器放通安全组端口就好,服务器内防火墙未开可忽略
zabbix-agent默认是被动监控,要开启主动监控(active)需要10050/10051端口,

服务端、客户端开启都要开启10050/10051端口 进出都开,免得之后麻烦(10051涉及到active 以及RemoteCommands使用)
zabbix agent与zabbix server通过10050端口通信。server端侦听在10051端口,客户端侦听在10050端口,所以我们要将端口暴露出来。

firewalld防火墙

yum install firewalld systemctl start firewalld firewall-cmd--zone=public--add-port=10050/tcp--permanent firewall-cmd--reload

或者iptables

iptables-tfilter-I INPUT-p tcp--dport10050-j ACCEPT

编译安装zabbix-agent5.0

下载对应 源码包

wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.37.tar.gz tar-zxvf zabbix-5.0.37.tar.gz cd zabbix-5.0.37yum install gcc pcre-devel make-y./configure--enable-agent--disable-dependency-tracking make install mkdir/etc/zabbix cp/usr/local/etc/zabbix_agentd.conf/etc/zabbix/zabbix_agentd.conf

编辑zabbix-agent 服务

vim/lib/systemd/system/zabbix-agent.service
[Unit]Description=Zabbix Agent After=syslog.target After=network.target[Service]Environment="CONFFILE=/etc/zabbix/zabbix_agentd.conf"EnvironmentFile=-/etc/sysconfig/zabbix-agent Type=forking KillMode=control-group ExecStart=/usr/local/sbin/zabbix_agentd-c $CONFFILE ExecStop=/bin/kill-SIGTERM $MAINPID User=daemon Group=daemon[Install]WantedBy=multi-user.target

调整对应配置文件后 对systemd 重新加载下

systemctl daemon-reloadsystemctl restart zabbix-agent

配置Windows agent:

下载对应安装包


上传至服务器后点击安装包,直接安装

在zabbix_agent.win.conf中按照以下配置

LogFile=C:\zabbix_agent.log Server=172.18.88.170ServerActive=172.18.88.170Hostname=此设备主机名 EnableRemoteCommands=1LogRemoteCommands=1

查看10050端口

netstat-an|findstr10050

打开任务管理器,找到services,找到zabbix_agent
然后在服务中将zabbix_agent设置为开机启动(自动启动)

最后如果有问题,可能还需要设置本地防火墙策略,添加10050端口

开启主动模式:

一定要更改配置文件
ServerActive= IP(zabbix server IP)

sed-i s'/Server=127.0.0.1/Server=127.0.0.1,10.10.0.1/'/etc/zabbix/zabbix_agentd.conf sed-i s'/ServerActive=127.0.0.1/ServerActive=10.10.0.1/'/etc/zabbix/zabbix_agentd.conf

追加以下参数

StartAgent=200则关闭被动模式 RefreshActiveChecks=60主动发送信息间隔
systemctl restart zabbix-agent systemctl status zabbix-agent

Web 控制台上 proxy一定要改为no proxy

ZABBIX Web console一定要配置 Zabbix agent (active)

执行远程命令RemoteCommand -zabbix5.0

1:zabbix-agentd进程是root启动的

vi/usr/lib/systemd/system/zabbix-agent.service

修改 group 和 user 为 root

systemctl daemon-reload#重启加载所有unit单元systemctl restart zabbix-agent#重启zabbix服务ps-ef|grep zabbix_agentd#查看进程是否是root启动的

2:配置action

测试多条命令

执行远程命令RemoteCommand -zabbix7.0

配置脚本,使用绝对路径

sudo/usr/bin/systemctl restart mdatp.service sudo/usr/bin/pkill-9-f'/var/lib/waagent/.*agent\.py'sudo/usr/bin/systemctl restart azuremonitoragent sudo/usr/bin/systemctl restart waagent

配置触发器动作



zabbix agent 配置文件

cat/etc/zabbix/zabbix_agentd.conf|awk NF|grep-v"#"PidFile=/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0AllowKey=system.run[*]Server=172.16.1.2ServerActive=172.16.1.2Hostname=miumiu-miniapp-staging-master AllowRoot=1Include=/etc/zabbix/zabbix_agentd.d/*.conf

agent 启动报错

报错排查
https://cloud.tencent.com/developer/article/1489205

zabbix_agentd[8097]:cannot create PIDfile[/var/run/zabbix/zabbix_agentd.pid]:[13]Permission denied zabbix_agentd[8109]:cannot create PIDfile[/var/run/zabbix/zabbix_agentd.pid]:[13]Permission denied zabbix_agentd[8161]:cannot create PIDfile[/var/run/zabbix/zabbix_agentd.pid]:[13]Permission denied zabbix_agentd[8173]:cannot create PIDfile[/var/run/zabbix/zabbix_agentd.pid]:[13]Permission denied zabbix_agentd[8185]:cannot create PIDfile[/var/run/zabbix/zabbix_agentd.pid]:[13]Permission denied

解决方案

mkdir-p/var/run/zabbix/chown zabbix.zabbix/var/run/zabbix/systemctl restart zabbix-agent.service