[collectd] collectd exec and perl

Suraj suraj at sunson.in
Thu Oct 28 07:39:39 CEST 2010


I'm facing the following issue with executing an exec plugin that is a perl
script. The script is quite bare bones and just prints out a PUTVAL. An
identical shell script ends up creating the RRD but the same with a perl
script does not work:

To illustrate the problem, here is some setup information:

svc                     failures:COUNTER:0:9223372036854775807

The following setup does not work when using a perl exec plugin:

  LoadPlugin exec
  <Plugin exec>
          Exec "foo" "/usr/local/bin/collectd_test.pl"


  #! /usr/bin/perl

  while (1) {
        print 'PUTVAL sometest/exec-magicpl/svc-service interval=60 N:40' .
        sleep 60

Whereas, the following works when using a shell script:

  LoadPlugin exec
  <Plugin exec>
          Exec "foo" "/usr/local/bin/collectd_test.sh"

  #! /bin/bash
  while [ true ]; do
          echo 'PUTVAL sometest/exec-magicshell/svc-service interval=60
          sleep 60

In the shell based setup, when collectd -C /etc/collectd/collectd.conf -f is
run directly, I can see the "0 Success" message (I presume from the rrdtool
plugin or perhaps the plain-text-protocol-interpreter?). Whereas, with the
perl based plugin, the rrd does not get created.

The log does not have anything though the loglevel is in debug mode.

What am I doing wrong here and how can I get perl based plugins to work?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.verplant.org/pipermail/collectd/attachments/20101028/35b48c55/attachment.htm>

More information about the collectd mailing list