摘要:公司之前一直是用的预编译好的zabbix agent包在redhat、centos等进行安装部署。最近内部部署了一套新的操作系统(TencentOS Server),用之前的agent包发现并不能正常启动agent,具体报错是关于bash变量的: /bin/b
文章出处:乐维社区forum.lwops.cn
背景:
公司之前一直是用的预编译好的zabbix agent包在redhat、centos等进行安装部署。最近内部部署了一套新的操作系统(TencentOS Server),用之前的agent包发现并不能正常启动agent,具体报错是关于bash变量的: /bin/bash: 没有那个文件或目录
最开始以为是bash没有安装,经查,实际上文件是存在的且其他预编译好agent包也一样存在该问题,最终判断是预编译的好的环境与TencentOS Server的系统并不适用。
解决:
尝试使用编译安装的方式去处理。
首先到官网下载相应的zabbix源包(我这里使用的版本是5.0.46)
#yum install gcc pcre pcre-devel make -y
#groupadd zabbix
#useradd -g zabbix zabbix
#cd zabbix-5.0.46
#./configure --prefix=/usr/local/zabbix --sysconfdir=/usr/local/zabbix/etc --enable-agent --disable-dependency-tracking
#make install
#mkdir /usr/local/zabbix/logs
#mkdir /usr/local/etc/zabbix_agentd.conf.d/
#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 #指定自定义监控键值位置(没有,可不用配置)
#chown zabbix:zabbix /usr/local/zabbix -R
#/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf
#netstat -tnpl | grep zabbix_agent
#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
#chmod u+x /lib/systemd/system/zabbix_agentd.service
#systemctl daemon-reload
#systemctl stop zabbix_agentd
#systemctl start zabbix_agentd
来源:小羊论科技