From: Florian Forster Date: Fri, 3 Oct 2008 11:35:45 +0000 (+0200) Subject: Merge branch 'collectd-4.4' into collectd-4.5 X-Git-Tag: collectd-4.5.1~10 X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=39ba035b60b509311874ccf89d11d240c0271a90;hp=843d92b034b7303d818e222506bc165fb4f1fd22;p=collectd.git Merge branch 'collectd-4.4' into collectd-4.5 --- diff --git a/build.sh b/build.sh index cede2e48..3822c2bc 100755 --- a/build.sh +++ b/build.sh @@ -1,19 +1,48 @@ #! /bin/sh -if ! which lex > /dev/null 2>&1; then - echo "WARNING: lex not found!" >&2 - echo "Make sure that you have a flex compatible tool available." >&2 -fi +GLOBAL_ERROR_INDICATOR=0 -if ! which yacc > /dev/null 2>&1; then - echo "WARNING: yacc not found!" >&2 - echo "Make sure that you have a GNU bison compatible tool available." >&2 -fi +check_for_application () +{ + for PROG in "$@" + do + if ! which "$PROG" >/dev/null 2>&1; then + cat >&2 < /dev/null 2>&1; then +# Actually we don't need the pkg-config executable, but we need the M4 macros. +# We check for `pkg-config' here and hope that M4 macros will then be +# available, too. +check_for_application pkg-config + +libtoolize="" +if which libtoolize >/dev/null 2>&1 +then + libtoolize=libtoolize +else if which glibtoolize >/dev/null 2>&1 +then libtoolize=glibtoolize +else + cat >&2 < ['-v', 'Commands', + 'DEF:avg={file}:value:AVERAGE', + 'DEF:min={file}:value:MIN', + 'DEF:max={file}:value:MAX', + "AREA:max#$HalfBlue", + "AREA:min#$Canvas", + "LINE1:avg#$FullBlue:Commands", + 'GPRINT:min:MIN:%5.1lf%s Min,', + 'GPRINT:avg:AVERAGE:%5.1lf Avg,', + 'GPRINT:max:MAX:%5.1lf Max,', + 'GPRINT:avg:LAST:%5.1lf Last\l' + ], + memcached_connections => ['-v', 'Connections', + 'DEF:avg={file}:value:AVERAGE', + 'DEF:min={file}:value:MIN', + 'DEF:max={file}:value:MAX', + "AREA:max#$HalfBlue", + "AREA:min#$Canvas", + "LINE1:avg#$FullBlue:Connections", + 'GPRINT:min:MIN:%4.1lf Min,', + 'GPRINT:avg:AVERAGE:%4.1lf Avg,', + 'GPRINT:max:MAX:%4.1lf Max,', + 'GPRINT:avg:LAST:%4.1lf Last\l' + ], + memcached_items => ['-v', 'Items', + 'DEF:avg={file}:value:AVERAGE', + 'DEF:min={file}:value:MIN', + 'DEF:max={file}:value:MAX', + "AREA:max#$HalfBlue", + "AREA:min#$Canvas", + "LINE1:avg#$FullBlue:Items", + 'GPRINT:min:MIN:%4.1lf Min,', + 'GPRINT:avg:AVERAGE:%4.1lf Avg,', + 'GPRINT:max:MAX:%4.1lf Max,', + 'GPRINT:avg:LAST:%4.1lf Last\l' + ], + memcached_octets => ['-v', 'Bits/s', + 'DEF:out_min={file}:tx:MIN', + 'DEF:out_avg={file}:tx:AVERAGE', + 'DEF:out_max={file}:tx:MAX', + 'DEF:inc_min={file}:rx:MIN', + 'DEF:inc_avg={file}:rx:AVERAGE', + 'DEF:inc_max={file}:rx:MAX', + 'CDEF:mytime=out_avg,TIME,TIME,IF', + 'CDEF:sample_len_raw=mytime,PREV(mytime),-', + 'CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF', + 'CDEF:out_avg_sample=out_avg,UN,0,out_avg,IF,sample_len,*', + 'CDEF:out_avg_sum=PREV,UN,0,PREV,IF,out_avg_sample,+', + 'CDEF:inc_avg_sample=inc_avg,UN,0,inc_avg,IF,sample_len,*', + 'CDEF:inc_avg_sum=PREV,UN,0,PREV,IF,inc_avg_sample,+', + 'CDEF:out_bit_min=out_min,8,*', + 'CDEF:out_bit_avg=out_avg,8,*', + 'CDEF:out_bit_max=out_max,8,*', + 'CDEF:inc_bit_min=inc_min,8,*', + 'CDEF:inc_bit_avg=inc_avg,8,*', + 'CDEF:inc_bit_max=inc_max,8,*', + 'CDEF:overlap=out_bit_avg,inc_bit_avg,GT,inc_bit_avg,out_bit_avg,IF', + "AREA:out_bit_avg#$HalfGreen", + "AREA:inc_bit_avg#$HalfBlue", + "AREA:overlap#$HalfBlueGreen", + "LINE1:out_bit_avg#$FullGreen:Written", + 'GPRINT:out_bit_avg:AVERAGE:%5.1lf%s Avg,', + 'GPRINT:out_bit_max:MAX:%5.1lf%s Max,', + 'GPRINT:out_bit_avg:LAST:%5.1lf%s Last', + 'GPRINT:out_avg_sum:LAST:(ca. %5.1lf%sB Total)\l', + "LINE1:inc_bit_avg#$FullBlue:Read ", + 'GPRINT:inc_bit_avg:AVERAGE:%5.1lf%s Avg,', + 'GPRINT:inc_bit_max:MAX:%5.1lf%s Max,', + 'GPRINT:inc_bit_avg:LAST:%5.1lf%s Last', + 'GPRINT:inc_avg_sum:LAST:(ca. %5.1lf%sB Total)\l' + ], + memcached_ops => ['-v', 'Ops', + 'DEF:avg={file}:value:AVERAGE', + 'DEF:min={file}:value:MIN', + 'DEF:max={file}:value:MAX', + "AREA:max#$HalfBlue", + "AREA:min#$Canvas", + "LINE1:avg#$FullBlue:Ops", + 'GPRINT:min:MIN:%4.1lf Min,', + 'GPRINT:avg:AVERAGE:%4.1lf Avg,', + 'GPRINT:max:MAX:%4.1lf Max,', + 'GPRINT:avg:LAST:%4.1lf Last\l' + ], memory => ['-b', '1024', '-v', 'Bytes', 'DEF:avg={file}:value:AVERAGE', 'DEF:min={file}:value:MIN', diff --git a/contrib/collection3/etc/collection.conf b/contrib/collection3/etc/collection.conf index a836cf25..cc13b4c3 100644 --- a/contrib/collection3/etc/collection.conf +++ b/contrib/collection3/etc/collection.conf @@ -1,5 +1,21 @@ GraphWidth 400 -UnixSockAddr "/var/run/collectd-unixsock" +#UnixSockAddr "/var/run/collectd-unixsock" + + DataSources count + DSName "count Bytes/s" + RRDTitle "Apache Traffic" + RRDVerticalLabel "Bytes/s" + RRDFormat "%5.1lf%s" + Color count 0000ff + + + DataSources count + DSName "count Requests/s" + RRDTitle "Apache Traffic" + RRDVerticalLabel "Requests/s" + RRDFormat "%5.2lf" + Color count 00d000 + Module GenericStacked DataSources count @@ -71,7 +87,7 @@ UnixSockAddr "/var/run/collectd-unixsock" DataSources read write DSName "read Read " DSName write Written - RRDTitle "Disk Traffic ({plugin_instance})" + RRDTitle "Disk Traffic ({instance})" RRDVerticalLabel "Bytes per second" # RRDOptions ... RRDFormat "%5.1lf%s" @@ -81,7 +97,7 @@ UnixSockAddr "/var/run/collectd-unixsock" DataSources read write DSName "read Read " DSName write Written - RRDTitle "Disk Operations ({plugin_instance})" + RRDTitle "Disk Operations ({instance})" RRDVerticalLabel "Operations per second" # RRDOptions ... RRDFormat "%5.1lf" @@ -91,7 +107,7 @@ UnixSockAddr "/var/run/collectd-unixsock" DataSources read write DSName "read Read " DSName write Written - RRDTitle "Disk Merged Operations ({plugin_instance})" + RRDTitle "Disk Merged Operations ({instance})" RRDVerticalLabel "Merged operations/s" # RRDOptions ... RRDFormat "%5.1lf" @@ -101,7 +117,7 @@ UnixSockAddr "/var/run/collectd-unixsock" DataSources read write DSName "read Read " DSName write Written - RRDTitle "Disk time per operation ({plugin_instance})" + RRDTitle "Disk time per operation ({instance})" RRDVerticalLabel "Avg. Time/Op" # RRDOptions ... RRDFormat "%5.1lf%ss" @@ -238,6 +254,127 @@ UnixSockAddr "/var/run/collectd-unixsock" Color buffered ffb000 Color used ff0000 + + Module GenericStacked + DataSources value + RRDTitle "MySQL commands" + RRDVerticalLabel "Invocations" + RRDFormat "%6.2lf" + + DSName admin_commands admin_commands + DSName alter_table alter_table + DSName begin begin + DSName change_db change_db + DSName check check + DSName commit commit + DSName create_db create_db + DSName create_table create_table + DSName delete delete + DSName drop_db drop_db + DSName drop_table drop_table + DSName flush flush + DSName grant grant + DSName insert insert + DSName insert_select insert_select + DSName lock_tables lock_tables + DSName optimize optimize + DSName rename_table rename_table + DSName replace replace + DSName revoke revoke + DSName select select + DSName set_option set_option + DSName show_create_table show_create_table + DSName show_databases show_databases + DSName show_fields show_fields + DSName show_keys show_keys + DSName show_master_status show_master_status + DSName show_processlist show_processlist + DSName show_slave_hosts show_slave_hosts + DSName show_status show_status + DSName show_tables show_tables + DSName show_triggers show_triggers + DSName show_variables show_variables + DSName unlock_tables unlock_tables + DSName update update + DSName update_multi update_multi + + Order admin_commands alter_table begin change_db check commit create_db create_table delete drop_db drop_table flush grant insert insert_select lock_tables optimize rename_table replace revoke select set_option show_create_table show_databases show_fields show_keys show_master_status show_processlist show_slave_hosts show_status show_tables show_triggers show_variables unlock_tables update update_multi + + Color admin_commands ff0000 + Color alter_table ff002a + Color begin ff0055 + Color change_db ff007f + Color check ff00aa + Color commit ff00d4 + Color create_db ff00ff + Color create_table d400ff + Color delete aa00ff + Color drop_db 7f00ff + Color drop_table 5400ff + Color flush 2a00ff + Color grant 0000ff + Color insert 002aff + Color insert_select 0055ff + Color lock_tables 007fff + Color optimize 00a9ff + Color rename_table 00d4ff + Color replace 00ffff + Color revoke 00ffd4 + Color select 00ffa9 + Color set_option 00ff7f + Color show_create_table 00ff55 + Color show_databases 00ff2a + Color show_fields 00ff00 + Color show_keys 2aff00 + Color show_master_status 54ff00 + Color show_processlist 7fff00 + Color show_slave_hosts aaff00 + Color show_status d4ff00 + Color show_tables ffff00 + Color show_triggers ffd400 + Color show_variables ffaa00 + Color unlock_tables ff7f00 + Color update ff5400 + Color update_multi ff2a00 + + + Module GenericStacked + DataSources value + RRDTitle "MySQL handler" + RRDVerticalLabel "Invocations" + RRDFormat "%6.2lf" + DSName commit commit + DSName delete delete + DSName read_first read_first + DSName read_key read_key + DSName read_next read_next + DSName read_prev read_prev + DSName read_rnd read_rnd + DSName read_rnd_next read_rnd_next + DSName update update + DSName write write + Order commit delete read_first read_key read_next read_prev read_rnd read_rnd_next update write + Color commit ff0000 + Color delete ff0099 + Color read_first cc00ff + Color read_key 3200ff + Color read_next 0065ff + Color read_prev 00ffff + Color read_rnd 00ff65 + Color read_rnd_next 33ff00 + Color update cbff00 + Color write ff9800 + + + Module GenericIO + DataSources rx tx + DSName rx RX + DSName tx TX + RRDTitle "MySQL Traffic" + RRDVerticalLabel "Bits per second" + RRDFormat "%5.1lf%s" + Scale 8 + DataSources percent DSName percent Percent diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod index 6f7cebd4..e415ce91 100644 --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod @@ -1472,9 +1472,9 @@ In this case please file a bug report with the collectd team. =item B I Configures the path to the UNIX domain socket to be used when connecting to the -daemon. By default C will be used for an -authoritative server and C will be used -for the recursor. +daemon. By default C<${localstatedir}/run/pdns.controlsocket> will be used for +an authoritative server and C<${localstatedir}/run/pdns_recursor.controlsocket> +will be used for the recursor. =back diff --git a/src/perl.c b/src/perl.c index 6d950824..bb62267e 100644 --- a/src/perl.c +++ b/src/perl.c @@ -1561,7 +1561,9 @@ static int init_pi (int argc, char **argv) PL_exit_flags |= PERL_EXIT_DESTRUCT_END; if (0 != perl_parse (aTHX_ xs_init, argc, argv, NULL)) { - log_err ("init_pi: Unable to bootstrap Collectd."); + SV *err = get_sv ("@", 1); + log_err ("init_pi: Unable to bootstrap Collectd: %s", + SvPV_nolen (err)); perl_destruct (perl_threads->head->interp); perl_free (perl_threads->head->interp); diff --git a/src/plugin.c b/src/plugin.c index 2b5a34da..1ec25441 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -830,7 +830,7 @@ int plugin_dispatch_notification (const notification_t *notif) void plugin_log (int level, const char *format, ...) { - char msg[512]; + char msg[1024]; va_list ap; void (*callback) (int, const char *); @@ -845,8 +845,8 @@ void plugin_log (int level, const char *format, ...) #endif va_start (ap, format); - vsnprintf (msg, 512, format, ap); - msg[511] = '\0'; + vsnprintf (msg, sizeof (msg), format, ap); + msg[sizeof (msg) - 1] = '\0'; va_end (ap); le = llist_head (list_log); diff --git a/src/powerdns.c b/src/powerdns.c index b451073f..189c46fe 100644 --- a/src/powerdns.c +++ b/src/powerdns.c @@ -45,10 +45,10 @@ #endif #define FUNC_ERROR(func) do { char errbuf[1024]; ERROR ("powerdns plugin: %s failed: %s", func, sstrerror (errno, errbuf, sizeof (errbuf))); } while (0) -#define SERVER_SOCKET "/var/run/pdns.controlsocket" +#define SERVER_SOCKET LOCALSTATEDIR"/run/pdns.controlsocket" #define SERVER_COMMAND "SHOW *" -#define RECURSOR_SOCKET "/var/run/pdns_recursor.controlsocket" +#define RECURSOR_SOCKET LOCALSTATEDIR"/run/pdns_recursor.controlsocket" #define RECURSOR_COMMAND "get noerror-answers nxdomain-answers " \ "servfail-answers sys-msec user-msec qa-latency cache-entries cache-hits " \ "cache-misses questions"