.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "SA-CHECK_SPAMD.RAW 1" .TH SA-CHECK_SPAMD.RAW 1 "2022-09-10" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" sa\-check_spamd \- spamd monitoring script for use with Nagios, etc. .SH "SYNOPSIS" .IX Header "SYNOPSIS" sa\-check_spamd [options] .PP Options: .PP .Vb 9 \& \-c secs, \-\-critical=secs Critical ping response threshold \& \-h, \-?, \-\-help Print usage message \& \-H hostname, \-\-hostname=hostname Hostname of spamd service to ping \& \-p port, \-\-port=port Port of spamd service to ping \& \-\-socketpath=path Connect to given UNIX domain socket \& \-t secs, \-\-timeout=secs Max time to wait for a ping response \& \-v, \-\-verbose Verbose debug output \& \-V, \-\-version Output version info \& \-w secs, \-\-warning=secs Warning ping response threshold .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The purpose of this program is to provide a tool to monitor the status of \&\f(CW\*(C`spamd\*(C'\fR server processes. spamd is the daemonized version of the spamassassin executable, both provided in the SpamAssassin distribution. .PP This program is designed for use, as a plugin, with the Nagios service monitoring software available from http://nagios.org. It might be compatible with other service monitoring packages. It is also useful as a command line utility or as a component of a custom shell script. .SH "OPTIONS" .IX Header "OPTIONS" Options of the long form can be shortened as long as the remain unambiguous (i.e. \fB\-\-host\fR can be used instead of \fB\-\-hostname\fR). .IP "\fB\-c\fR \fIsecs\fR, \fB\-\-critical\fR=\fIsecs\fR" 4 .IX Item "-c secs, --critical=secs" Critical ping response threshold in seconds. If a spamd ping response takes longer than the value specified (in seconds) the program will exit with a value of 2 to indicate the critical status. .Sp This value must be at least as long as the value specified for \fBwarning\fR and less than the value specified for \fBtimeout\fR. .IP "\fB\-h\fR, \fB\-?\fR, \fB\-\-help\fR" 4 .IX Item "-h, -?, --help" Prints this usage message and exits. .IP "\fB\-H\fR \fIhostname\fR, \fB\-\-hostname\fR=\fIhostname\fR" 4 .IX Item "-H hostname, --hostname=hostname" The hostname, or \s-1IP\s0 address, of the spamd service to ping. By default the hostname \fBlocalhost\fR is used. If \fB\-\-socketpath\fR is set this value will be ignored. .IP "\fB\-p\fR \fIport\fR, \fB\-\-port\fR=\fIport\fR" 4 .IX Item "-p port, --port=port" The port of the spamd service to ping. By default port \fB783\fR (the spamd default port number) is used. If \fB\-\-socketpath\fR is set this value will be ignored. .IP "\fB\-\-socketpath\fR=\fIpath\fR" 4 .IX Item "--socketpath=path" Connect to given \s-1UNIX\s0 domain socket. Use instead of a hostname and \s-1TCP\s0 port. When set, any hostname and \s-1TCP\s0 port specified will be ignored. .IP "\fB\-t\fR \fIsecs\fR, \fB\-\-timeout\fR=\fIsecs\fR" 4 .IX Item "-t secs, --timeout=secs" The maximum time to wait for a ping response. Once exceeded the program will exit with a value of 2 to indicate the critical status. The default timeout value is 45 seconds. The timeout must be no less than 1 second. .Sp This value must be greater than the values specified for both the \fBcritical\fR and \fBwarning\fR values. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Display verbose debug output on \s-1STDOUT.\s0 .IP "\fB\-V\fR, \fB\-\-version\fR" 4 .IX Item "-V, --version" Display version info on \s-1STDOUT.\s0 .IP "\fB\-w\fR \fIsecs\fR, \fB\-\-warning\fR=\fIsecs\fR" 4 .IX Item "-w secs, --warning=secs" Warning ping response threshold in seconds. If a spamd ping response takes longer than the value specified (in seconds), and does not exceed the \&\fBcritical\fR threshold value, the program will exit with a value of 1 to indicate the warning status. .Sp This value must be no longer than the value specified for \fBcritical\fR and less than the value specified for \fBtimeout\fR. .SH "EXIT CODES" .IX Header "EXIT CODES" The program will indicate the status of the spamd process being monitored by exiting with one of these values: .ie n .IP "0" 4 .el .IP "\f(CW0\fR" 4 .IX Item "0" \&\s-1OK: A\s0 spamd ping response was received within all threshold times. .ie n .IP "1" 4 .el .IP "\f(CW1\fR" 4 .IX Item "1" \&\s-1WARNING: A\s0 spamd ping response exceeded the warning threshold but not the critical threshold. .ie n .IP "2" 4 .el .IP "\f(CW2\fR" 4 .IX Item "2" \&\s-1CRITICAL: A\s0 spamd ping response exceeded either the critical threshold or the timeout value. .ie n .IP "3" 4 .el .IP "\f(CW3\fR" 4 .IX Item "3" \&\s-1UNKNOWN:\s0 An error, probably caused by a missing dependency or an invalid configuration parameter being supplied, occurred in the sa\-check_spamd program. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBspamc\fR\|(1) \&\fBspamd\fR\|(1) \&\fBspamassassin\fR\|(1) .SH "PREREQUISITES" .IX Header "PREREQUISITES" \&\f(CW\*(C`Mail::SpamAssassin\*(C'\fR version 3.1.1 or higher (3.1.6 or higher recommended) .SH "AUTHOR" .IX Header "AUTHOR" Daryl C. W. O'Shea, \s-1DOS\s0 Technologies .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" sa\-check_spamd is distributed under the Apache License, Version 2.0, as described in the file \f(CW\*(C`LICENSE\*(C'\fR included with the Apache SpamAssassin distribution and available at http://www.apache.org/licenses/LICENSE\-2.0 .PP Copyright (C) 2015 The Apache Software Foundation