Package: nsca Version: 2.7.2 Severity: wishlist When I use send_nsca from cronjobs like
#!/bin/sh set -e dumpdir=/data/mysqldump dumper="mysqldump --defaults-file=/etc/mysql/debian.cnf -h localhost -u debian-sys-maint" $dumper tau TauDatabase tau_measure > $dumpdir/tau.dump ... ... report="$(find $dumpdir/*.dump -printf "%f %s, ")" printf "data\tbackup-mysqldump\t0\t$report\n" | /usr/sbin/send_nsca -H nagios | grep -v "sent to host successfully." it is really annoying that I need to use the grep to suppress output that is printed when everything goes as requested. Please consider the attached patch. It adds a --quiet option that does not print "sent to host successfully" if at least one result was sent. (There is only long option since I figured plain "-q" might collide with something that upstream might add in the future.)
diff --git a/src/send_nsca.c b/src/send_nsca.c index 868a9cb..543baef 100644 --- a/src/send_nsca.c +++ b/src/send_nsca.c @@ -43,6 +43,7 @@ struct crypt_instance *CI=NULL; int show_help=FALSE; int show_license=FALSE; int show_version=FALSE; +int verbose=TRUE; int process_arguments(int,char **); @@ -284,7 +285,8 @@ int main(int argc, char **argv){ /* close the connection */ close(sd); - printf("%d data packet(s) sent to host successfully.\n",total_packets); + if (total_packets == 0 || verbose) + printf("%d data packet(s) sent to host successfully.\n",total_packets); /* exit cleanly */ do_exit(STATE_OK); @@ -385,6 +387,10 @@ int process_arguments(int argc, char **argv){ else if(!strcmp(argv[x-1],"-V") || !strcmp(argv[x-1],"--version")) show_version=TRUE; + /* be quiet unless there are errors */ + else if(!strcmp(argv[x-1],"--quiet")) + verbose=FALSE; + /* server name/address */ else if(!strcmp(argv[x-1],"-H")){ if(x<argc){
diff --git a/debian/send_nsca.1 b/debian/send_nsca.1 index 0392254..246d6a2 100644 --- a/debian/send_nsca.1 +++ b/debian/send_nsca.1 @@ -3,7 +3,7 @@ send_nsca \- send passive check results to an NSCA daemon .SH SYNOPSIS -.B send_nsca \-H <host_address> [\-p port] [\-to to_sec] [\-d delim] [ \-c config_file] +.B send_nsca \-H <host_address> [\-p port] [\-to to_sec] [\-d delim] [ \-c config_file] [ \-\-quiet ] .br .Xc @@ -37,6 +37,9 @@ Delimiter to use when parsing input (defaults to a tab) .TP config_file Name of config file to use +.TP +\fB\-\-quiet\fR +Do not print anything unless there are errors (or input contained no reports). .SH SEE ALSO .TP
-- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5+lindi.5-amd64 (SMP w/4 CPU cores) Locale: LANG=C, LC_CTYPE=fi_FI (charmap=ISO-8859-1) Shell: /bin/sh linked to /bin/bash Versions of packages nsca depends on: ii debconf [debconf-2.0] 1.5.36 Debian configuration management sy ii libc6 2.11.2-6+squeeze1 Embedded GNU C Library: Shared lib ii libmcrypt4 2.5.8-3.1 De-/Encryption Library nsca recommends no packages. Versions of packages nsca suggests: pn nagios <none> (no description available) ii nagios-plugins 1.4.15-2 Plugins for the nagios network mon ii nagios-plugins-basic 1.4.15-2 Plugins for the nagios network mon -- debconf information excluded