Collectd

收集和執行:`<newline>’ 附近的第 1329 行:語法錯誤,意外 EOL

  • December 5, 2016

嘗試將 exec 外掛與 collectd 一起使用:

/etc/collectd.conf:

...
LoadPlugin exec
...
&lt;Plugin exec&gt;
       Exec "nobody:nobody" "/etc/collectd.d/redis_simple.sh"
&lt;/Plugin&gt;

我已經簡化/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 `&lt;newline&gt;': 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 `&lt;newline&gt;': 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(and redis.sh) 移出/etc/collectd.d,因此 collectd 不會嘗試將這些解析為配置文件

或者:看看你的collectd.conf,可能有類似的東西Include "/etc/collectd.d/*"你可以用Include "/etc/collectd.d/*.conf

引用自:https://serverfault.com/questions/818889