]> git.etc.gen.nz Git - spong.git/commitdiff
Move the TCP timeout configuration for check_simple to the config file.
authorClément Stenac <zorglub@via.ecp.fr>
Sun, 29 Mar 2009 02:59:54 +0000 (15:59 +1300)
committerAndrew Ruthven <andrew@etc.gen.nz>
Sun, 29 Mar 2009 02:59:54 +0000 (15:59 +1300)
config/spong.conf-sample
src/spong-network.pl

index f9c2436c9e5886a9d733e5e0330a29f73ff97e5e..6e847c3834186bfebd664901cea29fcaf9ef9895 100755 (executable)
@@ -121,6 +121,13 @@ $RECHECKSLEEP = 15;        # Sleep time in seconds for down services recheck
                            # greater then 1
 
 
+$TCP_SIMPLE_TIMEOUT{"DEFAULT"}=[3,5,12] ;  # default timeout for the tcp test ( like pop3,smtp )
+                                           # for all plugins that use &check_simple 
+
+$TCP_SIMPLE_TIMEOUT{"smtp"}=[12,24] ;      # default timeout for the tcp test 
+                                           # for the plugin who use &check_simple with service equal "smtp"
+
+
 # ---------------------------------------------------------------------------
 # Thresholds, season to taste.  These can be overridden on a host by host
 # case in a spong.conf.<hostname> file.
index c52e3937fe1f88d846670859a223c190bb338860..723676fd1c886cfaef38c32f88858a0e1f0a56f5 100755 (executable)
@@ -323,14 +323,14 @@ sub check_simple {
    my( $color, $summary ) = ( "red", "" );
    my( $attempt, $start, $message, $diff, $errcd );
 
-   for $timeout ( 3, 5, 12 ) {
+   for $timeout (@{( $TCP_SIMPLE_TIMEOUT{$service} || $TCP_SIMPLE_TIMEOUT{'DEFAULT'} || [3,5] )}) {
       $start = $hires ? main::time() : time();
       ($errcd,$message) = &check_tcp( $host, $port, $send, $timeout );
       $diff    = ($hires ? main::time() : time())  - $start;
 
       $attempt++;
       if( $message =~ /$check/ ) { $color = "green"; last; }
-      &debug("check_simple: $service - $host - attempt $attempt failed");
+      &debug("check_simple: $service - $host - timeout $timeout - attempt $attempt failed");
    }
 
    $diff = sprintf("%.3f",$diff);