求助nagios脚本无法正常监控shell运行脚本正常

发布于 2022-08-30 21:20:03 字数 1520 浏览 11 评论 3

本帖最后由 blackjack550 于 2010-08-20 17:18 编辑

最近写个脚本 执行没有任何问题,系统会输出正常的结果。但是放在nagios里面发现运行不正常。运行结果无法获得。

  1. OK-status:running:30 total:30 sleep:0

复制代码上面上是shell结果但是监控nagios本身结果是空的
即显示

  1. OK-status:

复制代码至于为什么显示ok是跟我的脚本有关系,随后我检查了一下脚本的运行时间

  1. real    0m3.640s
  2. user    0m0.513s
  3. sys     0m0.029s

复制代码很奇怪,用check_http测试的时候发现超时的效果nagios也是有显示的。

脚本如下:

  1. declare -a check_result
  2. check_result=`python $ROOTDIR/Client/State.py -H $server1 -S $server2 -i $HOSTADDRESS -n $MONITOR 2>/dev/null`
  3.          if [ "$check_result" = "running:0 total:0 sleep:0" ]
  4.                 then
  5.                 echo "worker is stoped!!!"
  6.                 exit 2
  7.                 else
  8.                 echoresult=$check_result
  9.                 echo "OK-worker status:$echoresult"
  10.                 exit 0
  11.         fi

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

滴情不沾 2022-09-10 05:06:26

确认是否python的问题也容易,
你把check_result=`python $ROOTDIR/Client/State.py -H $server1 -S $server2 -i $HOSTADDRESS -n $MONITOR 2>/dev/null`
这一行替换为其他命令测试一下。

比如check_result=` echo Test_Here`,
如果正常,就debug python程序吧。

忆伤 2022-09-07 09:55:21

本帖最后由 blackjack550 于 2010-08-23 11:41 编辑

终于有人回复了, 我测试过了 所有的系统命令都改成绝对路径,但是shell无论是nagios还是root执行都不影响,nagios就是无法取到数值
为了避免这个问题,我尝试过把执行结果缓存到文本文件。但是貌似我手工执行没问题,但是nagios自动执行的时候就会把文件刷成0字节。所以是不是nagios 不允许这么调用python命令呢?
还是和nagios哪部分设置有关系?求指教

您好,我替换成静态字串nagios 没问题。可是用shell变量之前也没问题。 可能问题就出在那个python程序上吧?而且执行时间还挺长

乞讨 2022-09-05 06:47:03

1. Nagios用户是否有相应的执行权限,可以su - naigos之后执行试试看;
2. 注意路径问题,最好用绝对路径;
3. 把变量都替换为固定值后再测试确认,看是否和变量有关。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文