author | Florian Forster <octo@leeloo.lan.home.verplant.org> | |
Thu, 16 Oct 2008 20:14:28 +0000 (22:14 +0200) | ||
committer | Florian Forster <octo@leeloo.lan.home.verplant.org> | |
Thu, 16 Oct 2008 20:14:28 +0000 (22:14 +0200) |
1 | 2 | |||
---|---|---|---|---|
src/Makefile.am | patch | | diff1 | | diff2 | | blob | history |
src/collectd.conf.in | patch | | diff1 | | diff2 | | blob | history |
src/perl.c | patch | | diff1 | | diff2 | | blob | history |
src/postgresql.c | patch | | diff1 | | diff2 | | blob | history |
src/types.db | patch | | diff1 | | diff2 | | blob | history |
diff --combined src/Makefile.am
index b9b7ab89b3dbf1dc6e732ef6059ce9b008eb01bc,bace5537e91279899267d7dac0eeb16316d82eaa..b20d7009391aa26ae178f109f08062f8b8e266b1
--- 1/src/Makefile.am
--- 2/src/Makefile.am
+++ b/src/Makefile.am
ascent_la_CFLAGS = $(AM_CFLAGS) \
$(BUILD_WITH_LIBCURL_CFLAGS) $(BUILD_WITH_LIBXML2_CFLAGS)
ascent_la_LIBADD = $(BUILD_WITH_LIBCURL_LIBS) $(BUILD_WITH_LIBXML2_LIBS)
- collectd_LDADD += "-dlopen" apache.la
+ collectd_LDADD += "-dlopen" ascent.la
collectd_DEPENDENCIES += ascent.la
endif
collectd_DEPENDENCIES += csv.la
endif
+if BUILD_PLUGIN_DBI
+pkglib_LTLIBRARIES += dbi.la
+dbi_la_SOURCES = dbi.c
+dbi_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBDBI_CPPFLAGS)
+dbi_la_LDFLAGS = -module -avoid-version $(BUILD_WITH_LIBDBI_LDFLAGS)
+dbi_la_LIBADD = $(BUILD_WITH_LIBDBI_LIBS)
+collectd_LDADD += "-dlopen" dbi.la
+collectd_DEPENDENCIES += dbi.la
+endif
+
if BUILD_PLUGIN_DF
pkglib_LTLIBRARIES += df.la
df_la_SOURCES = df.c
endif
endif
+if BUILD_PLUGIN_RRDCACHED
+pkglib_LTLIBRARIES += rrdcached.la
+rrdcached_la_SOURCES = rrdcached.c utils_rrdcreate.c utils_rrdcreate.h
+rrdcached_la_LDFLAGS = -module -avoid-version
+rrdcached_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBRRD_CFLAGS)
+rrdcached_la_LIBADD = $(BUILD_WITH_LIBRRD_LDFLAGS)
+collectd_LDADD += "-dlopen" rrdcached.la
+collectd_DEPENDENCIES += rrdcached.la
+endif
+
if BUILD_PLUGIN_RRDTOOL
pkglib_LTLIBRARIES += rrdtool.la
-rrdtool_la_SOURCES = rrdtool.c
+rrdtool_la_SOURCES = rrdtool.c utils_rrdcreate.c utils_rrdcreate.h
rrdtool_la_LDFLAGS = -module -avoid-version
rrdtool_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBRRD_CFLAGS)
rrdtool_la_LIBADD = $(BUILD_WITH_LIBRRD_LDFLAGS)
$(INSTALL) -m 0640 collectd.conf $(DESTDIR)$(sysconfdir)/collectd.conf; \
fi; \
cp -f $(srcdir)/types.db $(DESTDIR)$(pkglibdir)/;
- $(INSTALL) -D -m 0644 $(srcdir)/postgresql_default.conf \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
+ $(INSTALL) -m 0644 $(srcdir)/postgresql_default.conf \
$(DESTDIR)$(pkgdatadir)/postgresql_default.conf;
diff --combined src/collectd.conf.in
index 53abd3fabdcab0f5ad92f7792da55af3ce12ed55,eaafff1326fcc6f0fcfe291c32eb05b96f8a49f3..0597273f43e83936891ba91b4035ca26df405f95
+++ b/src/collectd.conf.in
@BUILD_PLUGIN_CPU_TRUE@LoadPlugin cpu
@BUILD_PLUGIN_CPUFREQ_TRUE@LoadPlugin cpufreq
@BUILD_PLUGIN_CSV_TRUE@LoadPlugin csv
+@BUILD_PLUGIN_DBI_TRUE@LoadPlugin dbi
@BUILD_PLUGIN_DF_TRUE@LoadPlugin df
@BUILD_PLUGIN_DISK_TRUE@LoadPlugin disk
@BUILD_PLUGIN_DNS_TRUE@LoadPlugin dns
@BUILD_PLUGIN_POSTGRESQL_TRUE@LoadPlugin postgresql
@BUILD_PLUGIN_POWERDNS_TRUE@LoadPlugin powerdns
@BUILD_PLUGIN_PROCESSES_TRUE@LoadPlugin processes
+@BUILD_PLUGIN_RRDCACHED_TRUE@LoadPlugin rrdcached
@BUILD_PLUGIN_RRDTOOL_TRUE@LoadPlugin rrdtool
@BUILD_PLUGIN_SENSORS_TRUE@LoadPlugin sensors
@BUILD_PLUGIN_SERIAL_TRUE@LoadPlugin serial
# StoreRates false
#</Plugin>
+#<Plugin dbi>
+# <Query "num_of_customers">
+# Statement "SELECT 'customers' AS c_key, COUNT(*) AS c_value FROM customers_tbl"
+# Type "gauge"
+# InstancesFrom "c_key"
+# ValuesFrom "c_value"
+# </Query>
+# <Database "customers_db">
+# Driver "mysql"
+# DriverOption "host" "localhost"
+# DriverOption "username" "collectd"
+# DriverOption "password" "AeXohy0O"
+# DriverOption "dbname" "custdb0"
+# #SelectDB "custdb0"
+# Query "num_of_customers"
+# #Query "..."
+# </Database>
+#</Plugin>
+
#<Plugin df>
# Device "/dev/hda1"
# Device "192.168.0.2:/mnt/nfs"
# BaseName "Collectd::Plugin"
# EnableDebugger ""
# LoadPlugin foo
+ #
+ # <Plugin foo>
+ # Foo "Bar"
+ # Qux "Baz"
+ # </Plugin>
#</Plugin>
#<Plugin ping>
# Process "name"
#</Plugin>
+#<Plugin rrdcached>
+# DaemonAddress "unix:/tmp/rrdcached.sock"
+# DataDir "@prefix@/var/lib/@PACKAGE_NAME@/rrd"
+# CreateFiles true
+# CollectStatistics true
+#</Plugin>
+
#<Plugin rrdtool>
# DataDir "@prefix@/var/lib/@PACKAGE_NAME@/rrd"
# CacheTimeout 120
diff --combined src/perl.c
index d3e8c29ec9de071ff5d42988020a2eee40d30c80,2946ab3abb39e1ddcf22d597c7d426854e9d4c9d..d9e1e00fb75f927341401058f85e3b53a68c0718
--- 1/src/perl.c
--- 2/src/perl.c
+++ b/src/perl.c
#include <EXTERN.h>
#include <perl.h>
- #if __GNUC__
+ #if defined(COLLECT_DEBUG) && COLLECT_DEBUG && defined(__GNUC__) && __GNUC__
# pragma GCC poison sprintf
#endif
else if (0 == strcasecmp (c->key, "Plugin"))
current_status = perl_config_plugin (aTHX_ c);
else
+ {
log_warn ("Ignoring unknown config key \"%s\".", c->key);
+ current_status = 0;
+ }
/* fatal error - it's up to perl_config_* to clean up */
if (0 > current_status) {
diff --combined src/postgresql.c
index 43f5af563af18e04d7a5478030565aa26055e93d,faad16cd9b02b404c5326279bd8fa1aa85e64624..a5bacf49b2a4fc8df8aeaabbbdb2c8b4e3e63e4b
--- 1/src/postgresql.c
--- 2/src/postgresql.c
+++ b/src/postgresql.c
db->conn = NULL;
- db->conn_complaint.last = 0;
- db->conn_complaint.interval = 0;
+ C_COMPLAIN_INIT (&db->conn_complaint);
db->proto_version = 0;
static void c_psql_database_delete (c_psql_database_t *db)
{
PQfinish (db->conn);
+ db->conn = NULL;
sfree (db->queries);
db->queries_num = 0;
}
rows = PQntuples (res);
- if (1 > rows)
+ if (1 > rows) {
+ PQclear (res);
return 0;
+ }
cols = PQnfields (res);
if (query->cols_num != cols) {
log_err ("SQL query returned wrong number of fields "
"(expected: %i, got: %i)", query->cols_num, cols);
log_info ("SQL query was: %s", query->query);
+ PQclear (res);
return -1;
}
submit_gauge (db, col.type, col.type_instance, value);
}
}
+ PQclear (res);
return 0;
} /* c_psql_exec_query */
int j;
+ /* this will happen during reinitialization */
+ if (NULL != db->conn) {
+ c_psql_check_connection (db);
+ continue;
+ }
+
status = ssnprintf (buf, buf_len, "dbname = '%s'", db->database);
if (0 < status) {
buf += status;
diff --combined src/types.db
index 21d15d64580c58246fe36324717734cc1c9df04c,a3b51dc812e16ac35715cb01e370ba7bc51878a7..67d8f0d3979d6f6ea5711c50fa661f2c6b7ddf43
--- 1/src/types.db
--- 2/src/types.db
+++ b/src/types.db
nfs_procedure value:COUNTER:0:4294967295
nginx_connections value:GAUGE:0:U
nginx_requests value:COUNTER:0:134217728
+operations value:COUNTER:0:4294967295
percent percent:GAUGE:0:100.1
pg_blks value:COUNTER:0:U
pg_db_size value:GAUGE:0:U
ps_pagefaults minflt:COUNTER:0:9223372036854775807, majflt:COUNTER:0:9223372036854775807
ps_rss value:GAUGE:0:9223372036854775807
ps_state value:GAUGE:0:65535
+queue_length value:GAUGE:0:U
serial_octets rx:COUNTER:0:4294967295, tx:COUNTER:0:4294967295
signal_noise value:GAUGE:U:0
signal_power value:GAUGE:U:0
signal_quality value:GAUGE:0:U
+ spam_check value:GAUGE:0:U
spam_score value:GAUGE:U:U
swap value:GAUGE:0:1099511627776
tcp_connections value:GAUGE:0:4294967295