参考网上案例自己改写了一个zabbix监控mysql主从的脚本,本地执行时脚本输出正常,能够正常检查到mysql的主从状态。如下图:
但是从远程zabbix-server上进行脚本调用的时候输出结果就是不正常
排除了脚本本身的原因后想想应该是非root用户登陆没有环境变量的缘故
之后想了各种办法,在agent配置文件中添加AllowRoot=1不行,在server端添加AllowRoot=1,user=1也不行。
也试过在脚本中添加export=/usr/local/zabbix/,还是不行。
最后突然脑子一抽想到了,非root用户登陆后切换root权限之后要执行下source /etc/profile才能正常使用环境变量。所以把这个命令插入到agent客户端脚本中一执行就结果正常了。
记录下,以免各位有需要的各位同样绕弯路。