zabbix监控脚本中执行docker命令没有权限问题


在自定义监控脚本时,web界面提示权限问题,无法执行docker命令

init

执行脚本文件为~/test.sh

排查过程

1、agent代理服务器排查

1.1 sudo su -u zabbix ~/test.sh #用zabbix用户执行该脚本测试,脚本是否可以执行
1.2 如果该命令提示没有权限,则查看test.sh是否有可执行权限,并执行sudo chmode +x ~/test.sh
1.3 如果有执行权限仍然提示权限问题,则将zabbix用户加入到docker组中,执行sudo usermod -aG docker zabbix , 一定要注意加入到组中,需要退出当前shell后重新进入才能生效

2、server端排查

2.1zabbix_get -s <agent-ip> -p 10050 -k <自定义键值> , 测试server端是否可以获取到值
2.2 如果提示对脚本中的命令没有权限,则在agent服务器执行sudo setenforce 0 ,关闭selinux
2.3 关闭agent服务器的selinux后,如果提示无法调用docker daemon ,则在agent服务器上执行sudo systemctl restart zabbix-agent 重启zabbix-agent

3、总结

关于权限问题,从文件权限,用户权限及防火墙、selinux等防护三个方面着手,问题是一定可以解决的


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM