Collectd 和 exec: 第 1329 行靠近 `':语法错误,意外的 EOL

Collectd 和 exec: 第 1329 行靠近 `':语法错误,意外的 EOL

尝试使用 collectd 的 exec 插件:

/etc/collectd.conf

...
LoadPlugin exec
...
<Plugin exec>
        Exec "nobody:nobody" "/etc/collectd.d/redis_simple.sh"
</Plugin>

我将/etc/collectd.d/redis_simple.sh其简化为:

#!/bin/bash

while sleep 10
do
        echo "PUTVAL nfs/redis-6379/memcached_items-db0 interval=10 N:3043"
done

错误:

# /etc/init.d/collectd restart
Stopping collectd:                                         [  OK  ]
Starting collectd: Parse error in file `/etc/collectd.d/redis.sh', line 1308 near `<newline>': syntax error, unexpected EOL
yyparse returned error #1
configfile: Cannot read file `/etc/collectd.d/redis.sh'.
Parse error in file `/etc/collectd.d/redis_simple.sh', line 1329 near `<newline>': syntax error, unexpected EOL
yyparse returned error #1
configfile: Cannot read file `/etc/collectd.d/redis_simple.sh'.
=                                                          [  OK  ]

                                                      [  OK  ]

两个文件末尾肯定都有新行。没有窗口 EOL。日志中没有任何内容。/etc/collectd.d/redis_simple.sh 中没有第 1329 行。

任何帮助,将不胜感激。

答案1

听起来你需要将你的redis_simple.sh(和redis.sh)移出/etc/collectd.d,这样 collectd 就不会尝试将它们解析为配置文件

或者:看看你的collectd.conf,可能会有类似的东西Include "/etc/collectd.d/*",你可以用“替换Include "/etc/collectd.d/*.conf

相关内容