首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >exec exec插件:无法解析命令

exec exec插件:无法解析命令
EN

Stack Overflow用户
提问于 2021-02-26 09:34:44
回答 1查看 222关注 0票数 1

我试图从一个简单的脚本中返回一个值。但是,我得到了以下错误。

代码语言:javascript
复制
Feb 26 09:26:37 localhost systemd[1]: Starting Collectd statistics daemon...
Feb 26 09:26:37 localhost collectd[834]: plugin_load: plugin "exec" successfully loaded.
Feb 26 09:26:37 localhost collectd[834]: Systemd detected, trying to signal readyness.
Feb 26 09:26:37 localhost systemd[1]: Started Collectd statistics daemon.
Feb 26 09:26:37 localhost collectd[834]: Initialization complete, entering read-loop.
Feb 26 09:26:37 localhost collectd[834]: exec plugin: Unable to parse command, ignoring line: "73"
Feb 26 09:26:47 localhost collectd[834]: exec plugin: Unable to parse command, ignoring line: "74"
Feb 26 09:26:57 localhost collectd[834]: exec plugin: Unable to parse command, ignoring line: "73"
Feb 26 09:27:07 localhost collectd[834]: exec plugin: Unable to parse command, ignoring line: "73"

我的配置是

代码语言:javascript
复制
LoadPlugin exec
<Plugin exec>
  Exec "cwagent" "/opt/aws/amazon-cloudwatch-agent/bin/supervisor.sh"
</Plugin>

我的剧本是

代码语言:javascript
复制
#!/bin/bash

VALUE=$(/bin/systemctl status | wc -l)
echo "$VALUE"

我意识到这可能是我犯的一个愚蠢的错误。我花了一些时间在周围玩和谷歌试图了解这个问题。但恐怕我没什么进展。感谢任何建议:)

EN

回答 1

Stack Overflow用户

发布于 2022-05-03 22:22:12

很多事情中,您的插件都是通过收藏品分叉处理的,期望它能继续运行并产生可消费的输出,所以您需要使用像它在这里显示的那样的while循环:https://collectd.org/wiki/index.php/Plugin:Exec

其次,您的输出格式是错误的。我发现这部分文档写得很糟糕,因为还不完全清楚规范名称和度量名称是如何从字符串中构成的。以上面页面中的例子为例:

代码语言:javascript
复制
echo "PUTVAL \"$HOSTNAME/exec-magic/gauge-magic_level\" interval=$INTERVAL N:$VALUE"

然后:

exec - magic_level是插件名,magic_level是度量名称,规范是来自gauge类型的数据源类型N:是exec插件中定义的“现在”的缩写。

所以把这些放在一起,你会发现类似于:

代码语言:javascript
复制
#!/bin/bash
HOSTNAME="${COLLECTD_HOSTNAME:-localhost}"
INTERVAL="${COLLECTD_INTERVAL:-60}"

while sleep "$INTERVAL"; do
  VALUE=$(/bin/systemctl status | wc -l)  
  echo "PUTVAL ${HOSTNAME}/cwagent/counter-line_count\" N:$VALUE"
done

在这种情况下,您将使用简单的计数器类型,并返回一个值,该值相当于您在命令中计算的行数。

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

https://stackoverflow.com/questions/66383285

复制
相关文章

相似问题

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