尝试使用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行。
任何帮助,将不胜感激。
听起来你需要将redis_simple.sh (和redis.sh )移出/etc/collectd.d ,所以/etc/collectd.d不会尝试将它们parsing为configuration文件
或者:看看你的Include "/etc/collectd.d/*" ,可能有一些类似Include "/etc/collectd.d/*" ,你可以用Include "/etc/collectd.d/*.conf来代替。