zabbix-agent安装,配置RemoteCommand
下载安装包:wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.28/zabbix-3.0.28.tar.gz解压sudo tar xvf zabbix-3.0.28.tar.gz-C /usr/local/依赖yum install gccyum -y install...
zabbix-agent安装
官方文档:
https://www.zabbix.com/cn/download?zabbix=7.0&os_distribution=centos&os_version=7&components=agent_2&db=&ws=
安装
被监控端主机client 要开启入站规则zabbix server 10050 端口,达到默认监控
开启客户端访问zabbix server 10051端口目的是为了完成active,主动模式监控
源地址 | 目标地址 | 端口 |
---|---|---|
zabbix server IP | client IP | 10050 |
clietn IP | zabbix server IP | 10051 |
在官方文档点击获取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 clean all
列出需要安装的zabbix-agent版本信息
yum list all| grep zabbix
安装agent:
#安装包名称:第一列-第二列(zabbix-agent)-(7.2.0-release1.el7)
yum install zabbix-agent2-7.0.9-release1.el7
启动zabbix,以及开机自启动
systemctl restart zabbix-agent2
systemctl enable zabbix-agent2
调整Linux Zabbix Agent 配置文件
修改配置文件
sed -i 's\Server=127.0.0.1\Server=Zabbix service IP\g' /etc/zabbix/zabbix_agentd.conf #Zabbix service IP 更改为你自己的server
sed -i 's\ServerActive=127.0.0.1\ServerActive=Zabbix service IP\g' /etc/zabbix/zabbix_agentd.conf #Zabbix service IP 更改为你自己的server
sed -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 agent 新增server或者proxy地址
使用以下脚本
在proxy处调整为你的server或者proxyIP
cat> agent.sh<<EOF
#!/bin/bash
proxy= *.*.*.*
# 获取 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"
else
echo "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 -t filter -I INPUT -p tcp --dport 10050 -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.37
yum 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-reload
systemctl restart zabbix-agent
配置Windows agent:
下载对应安装包
上传至服务器后点击安装包,直接安装
在zabbix_agent.win.conf中按照以下配置
LogFile=C:\zabbix_agent.log
Server= 172.18.88.170
ServerActive= 172.18.88.170
Hostname=此设备主机名
EnableRemoteCommands= 1
LogRemoteCommands=1
查看10050端口
netstat -an | findstr 10050
打开任务管理器,找到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=20 为0则关闭被动模式
RefreshActiveChecks=60 主动发送信息间隔
systemctl restart zabbix-agent
systemctl status zabbix-agent
Web 控制台上 proxy一定要改为no proxy
ZABBIX Web console一定要配置 Zabbix agent (active)
执行远程命令RemoteCommand
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
测试多条命令
agent 启动报错
报错排查
https://cloud.tencent.com/developer/article/1489205
zabbix_agentd [8097]: cannot create PID file [/var/run/zabbix/zabbix_agentd.pid]: [13] Permission denied
zabbix_agentd [8109]: cannot create PID file [/var/run/zabbix/zabbix_agentd.pid]: [13] Permission denied
zabbix_agentd [8161]: cannot create PID file [/var/run/zabbix/zabbix_agentd.pid]: [13] Permission denied
zabbix_agentd [8173]: cannot create PID file [/var/run/zabbix/zabbix_agentd.pid]: [13] Permission denied
zabbix_agentd [8185]: cannot create PID file [/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
更多推荐
所有评论(0)