在使用实现自定义zabbix的监控项的过程中,在zabbix 服务端的web界面中提示
sh: /home/admin/zabbix/get_socket_jstat_status.sh: Permission denied"
如图:
字面意思是执行这个脚本没有权限。
我们知道zabbix 服务端监控代理端使用过zabbix agent去完成监控的。
实际上在这儿是agent去执行.sh脚本,那么很可能是agent没有相应的权限去指向.sh脚本。
先查看agent端zabbix服务的权限(需要提升为root权限)——修改agent配置文件,修改AllowRoot=1——再修改agent.service的用户为root。
1.先查看agent端zabbix服务的权限
ps -ef |grep zabbix
一般都是zabbix权限
2.修改agent配置文件,修改AllowRoot=1
到zabbix_agentd.conf的目录下
sudo vim zabbix_agentd.conf
# will try to switch to the user specified by the User configuration option instead.
# Has no effect if started under a regular user.
# 0 - do not allow
# 1 - allow
#
# Mandatory: no
# Default:
AllowRoot=1
### Option: User
# Drop privileges to a specific, existing user on the system.
# Only has effect if run as 'root' and AllowRoot is disabled.
#
# Mandatory: no
# Default:
# User=zabbix
### Option: Include
# You may include individual files or all files in a directory in the configuration file.
# Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
#
# Mandatory: no
# Default:
# Include=
3.再修改agent.service的用户为root。
sudo vim /usr/lib/systemd/system/zabbix-agent.service
分别在第16行和第17行
修改
User=root
Group=root
4.重启agent服务
sudo systemctl restart zabbix-agent.service
5.再查看agent服务
ps -ef |grep zabbix
可以看到都以以root命令启动的了。
再去zabbix web端查看已经恢复正常
如果博主的文章对您有所帮助,可以评论、点赞、收藏,支持一下博主!!!