首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能使用bash作为Sensu插件的jstat度量。

不能使用bash作为Sensu插件的jstat度量。
EN

Stack Overflow用户
提问于 2013-03-14 05:34:49
回答 2查看 5.1K关注 0票数 5

我已经创建了bash,它采用jstat度量我的jvm实例!

以下是输出示例:

代码语言:javascript
复制
demo.server1.sms.jstat.eden 24.34   0
demo.server1.lcms.jstat.eden    54.92   0
demo.server1.lms.jstat.eden 89.49   0
demo.server1.tms.jstat.eden 86.05   0

但是,当Sensu客户机运行此脚本时,它会返回。

代码语言:javascript
复制
Could not attach to 8584
Could not attach to 8588
Could not attach to 17141
Could not attach to 8628
demo.server1.sms.jstat.eden     0
demo.server1.lcms.jstat.eden    0
demo.server1.lms.jstat.eden     0
demo.server1.tms.jstat.eden     0

下面是check_cron.json的示例

代码语言:javascript
复制
{
  "checks": {
    "jstat_metrics": {
      "type": "metric",
      "handlers": ["graphite"],
      "command": "/etc/sensu/plugins/jstat-metrics.sh",
      "interval": 5,
          "subscribers": [ "webservers" ]
    }
  }
}

还有我的bash脚本

代码语言:javascript
复制
jvm_list=("sms:$sms" "lcms:$lcms" "lms:$lms" "tms:$tms" "ums:$ums")
for jvm_instance in ${jvm_list[@]}; do
    project=${jvm_instance%%:*}
    pid=${jvm_instance#*:}
        if [ "$pid" ]; then
          metric=`jstat -gc $pid|tail -n 1`
          output=$output$'\n'"demo.server1.$project.jstat.eden"$'\t'`echo $metric |awk '{ print $3}'`$'\t0'
        fi
done
echo "$output"

我发现了jstat的问题,我试着编写完整的jstat路径,比如/usr/lib/jvm/java-1.7.0-openjdk.x86_64/bin/jstat -gc $pid|tail -n 1,但是没有帮助!

顺便说一句,如果我评论这一行,像“无法附加到8584”这样的输出消失了!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-12 04:38:38

是的,您是对的,感觉单元以感觉用户的身份运行所有脚本。要使用jstat,您必须向sudoers添加感觉。

只需添加文件/etc/sudoers.d/sensu即可

示例:

缺省值:sensu !requiretty 默认值:sensu secure_path = /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin sensu ALL = NOPASSWD: /etc/sensu/plugins/jsat-emeics.rb

票数 3
EN

Stack Overflow用户

发布于 2013-03-15 16:55:47

我不是Java或Sensu用户,但我可以猜到会发生什么。

最有可能的情况是,感觉客户机以不同于手动测试时使用的用户身份运行您的脚本,它没有权限将“附加”(无论什么意思)“附加”到您的jvm实例。

要验证这一点,您可以将"whoami“的调用添加到您的脚本中,从感觉客户机再次运行它,查看它在哪个用户下运行您的脚本,如果它是不同的,请尝试以该用户的身份运行您的脚本。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15401937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档