Merge branch 'collectd-4.4'
authorFlorian Forster <octo@huhu.verplant.org>
Wed, 27 Aug 2008 08:13:24 +0000 (10:13 +0200)
committerFlorian Forster <octo@huhu.verplant.org>
Wed, 27 Aug 2008 08:13:24 +0000 (10:13 +0200)
.gitignore
bindings/perl/Collectd/Unixsock.pm
contrib/snmp-probe-host.px
src/collectd.conf.in
src/collectd.conf.pod
src/memcached.c
src/perl.c

index 5d4fbca..03bd0c4 100644 (file)
@@ -44,6 +44,8 @@ src/*.la
 src/*.lo
 src/*.o
 src/collectd
+src/collectd-nagios
+src/collectdmon
 src/collectd*.1
 src/collectd*.5
 src/types.db.5
@@ -64,6 +66,12 @@ src/liboconfig/parser.c
 src/liboconfig/parser.h
 src/liboconfig/scanner.c
 
+# perl stuff:
+bindings/.perl-directory-stamp
+bindings/perl/Collectd/pm_to_blib
+bindings/perl/blib/
+bindings/perl/pm_to_blib
+
 # make dist stuff:
 collectd-*.tar.gz
 collectd-*.tar.bz2
index da144e6..cd910ed 100644 (file)
@@ -236,6 +236,12 @@ sub putval
        my $msg;
        my $identifier;
        my $values;
+       my $interval = "";
+
+       if (defined $args{'interval'})
+       {
+               $interval = ' interval=' . $args{'interval'};
+       }
 
        $identifier = _create_identifier (\%args) or return;
        if (!$args{'values'})
@@ -254,7 +260,7 @@ sub putval
                $values = join (':', $time, map { defined ($_) ? $_ : 'U' } (@{$args{'values'}}));
        }
 
-       $msg = "PUTVAL $identifier $values\n";
+       $msg = "PUTVAL $identifier$interval $values\n";
        #print "-> $msg";
        send ($fh, $msg, 0) or confess ("send: $!");
        $msg = undef;
index bb9f329..1d8f975 100755 (executable)
@@ -61,10 +61,13 @@ sub probe_one
   }
 
   @oids = split (/"\s*"/, $conf->{'values'});
-  if (($conf->{'table'} =~ m/^(true|yes|on)$/i) && ($conf->{'instance'}))
+  if ($conf->{'table'} =~ m/^(true|yes|on)$/i)
   {
     $cmd = 'GETNEXT';
-    push (@oids, $conf->{'instance'});
+    if (defined ($conf->{'instance'}))
+    {
+      push (@oids, $conf->{'instance'});
+    }
   }
 
   require Data::Dumper;
@@ -96,6 +99,14 @@ sub probe_one
       {
         return;
       }
+      if (!defined ($status))
+      {
+        return;
+      }
+      if ("$status" eq 'NOSUCHOBJECT')
+      {
+        return;
+      }
     }
     else
     {
@@ -213,11 +224,6 @@ sub probe_all
     $version--;
   } # while ($version > 0)
 
-  if (!@valid_data)
-  {
-    return;
-  }
-
   print <<EOF;
   <Host "$host">
     Address "$address"
@@ -228,6 +234,14 @@ EOF
   {
     print "    Collect \"$_\"\n";
   }
+  if (!@valid_data)
+  {
+    print <<EOF;
+# WARNING: Autoconfiguration failed.
+# TODO: Add one or more `Collect' statements here:
+#   Collect "foo"
+EOF
+  }
   print <<EOF;
     Interval 60
   </Host>
index b54f351..44103e9 100644 (file)
@@ -13,6 +13,19 @@ FQDNLookup   true
 #Interval     10
 #ReadThreads  5
 
+@BUILD_PLUGIN_LOGFILE_TRUE@LoadPlugin logfile
+@BUILD_PLUGIN_SYSLOG_TRUE@LoadPlugin syslog
+
+#<Plugin logfile>
+#      LogLevel info
+#      File STDOUT
+#      Timestamp true
+#</Plugin>
+
+#<Plugin syslog>
+#      LogLevel info
+#</Plugin>
+
 @BUILD_PLUGIN_APACHE_TRUE@LoadPlugin apache
 @BUILD_PLUGIN_APCUPS_TRUE@LoadPlugin apcups
 @BUILD_PLUGIN_APPLE_SENSORS_TRUE@LoadPlugin apple_sensors
@@ -35,7 +48,6 @@ FQDNLookup   true
 @BUILD_PLUGIN_IRQ_TRUE@LoadPlugin irq
 @BUILD_PLUGIN_LIBVIRT_TRUE@LoadPlugin libvirt
 @BUILD_PLUGIN_LOAD_TRUE@LoadPlugin load
-@BUILD_PLUGIN_LOGFILE_TRUE@LoadPlugin logfile
 @BUILD_PLUGIN_MBMON_TRUE@LoadPlugin mbmon
 @BUILD_PLUGIN_MEMCACHED_TRUE@LoadPlugin memcached
 @BUILD_PLUGIN_MEMORY_TRUE@LoadPlugin memory
@@ -60,7 +72,6 @@ FQDNLookup   true
 @BUILD_PLUGIN_SERIAL_TRUE@LoadPlugin serial
 @BUILD_PLUGIN_SNMP_TRUE@LoadPlugin snmp
 @BUILD_PLUGIN_SWAP_TRUE@LoadPlugin swap
-@BUILD_PLUGIN_SYSLOG_TRUE@LoadPlugin syslog
 @BUILD_PLUGIN_TAIL_TRUE@LoadPlugin tail
 @BUILD_PLUGIN_TAPE_TRUE@LoadPlugin tape
 @BUILD_PLUGIN_TCPCONNS_TRUE@LoadPlugin tcpconns
@@ -160,12 +171,6 @@ FQDNLookup   true
 #      HostnameFormat name
 #</Plugin>
 
-#<Plugin logfile>
-#      LogLevel info
-#      File STDOUT
-#      Timestamp true
-#</Plugin>
-
 #<Plugin mbmon>
 #      Host "127.0.0.1"
 #      Port "411"
@@ -353,10 +358,6 @@ FQDNLookup   true
 #   </Host>
 #</Plugin>
 
-#<Plugin syslog>
-#      LogLevel info
-#</Plugin>
-
 #<Plugin "tail">
 #  <File "/var/log/exim4/mainlog">
 #    Instance "exim"
index 8f995b8..aa9dfeb 100644 (file)
@@ -1673,7 +1673,7 @@ user using (extended) regular expressions, as described in L<regex(7)>.
       <Match>
        Regex "\\<R=local_user\\>"
        DSType "CounterInc"
-       Type "email_count"
+       Type "counter"
        Instance "local_user"
       </Match>
     </File>
index 0e34331..7bdad0a 100644 (file)
@@ -134,7 +134,7 @@ static int memcached_query_daemon (char *buffer, int buffer_size) /* {{{ */
                p.events = POLLIN | POLLERR | POLLHUP;
                p.revents = 0;
 
-               status = poll (&p, /* nfds = */ 1, /* timeout = */ interval_g);
+               status = poll (&p, /* nfds = */ 1, /* timeout = */ 1000 * interval_g);
                if (status <= 0)
                {
                        if (status == 0)
index e0f19f6..e6f7de0 100644 (file)
@@ -1783,16 +1783,14 @@ static int perl_config (oconfig_item_t *ci)
 {
        int i = 0;
 
-       dTHX;
-
-       /* dTHX does not get any valid values in case Perl
-        * has not been initialized */
-       if (NULL == perl_threads)
-               aTHX = NULL;
+       dTHXa (NULL);
 
        for (i = 0; i < ci->children_num; ++i) {
                oconfig_item_t *c = ci->children + i;
 
+               if (NULL != perl_threads)
+                       aTHX = PERL_GET_CONTEXT;
+
                if (0 == strcasecmp (c->key, "LoadPlugin"))
                        perl_config_loadplugin (aTHX_ c);
                else if (0 == strcasecmp (c->key, "BaseName"))