尝试将 exec 插件与 collectd 一起使用:
/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 ]
两个文件的末尾肯定有新行。没有 Windows EOL。日志中没有任何内容。/etc/collectd.d/redis_simple.sh 中没有第 1329 行。
任何帮助,将不胜感激。
听起来您需要将
redis_simple.sh
(andredis.sh
) 移出/etc/collectd.d
,因此 collectd 不会尝试将这些解析为配置文件或者:看看你的
collectd.conf
,可能有类似的东西Include "/etc/collectd.d/*"
你可以用Include "/etc/collectd.d/*.conf
“