User Tools

Site Tools


docs:tips_n_tricks:nagios:using_http_for_passive_checks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
docs:tips_n_tricks:nagios:using_http_for_passive_checks [22.10.2012 16:35 CEST] peterdocs:tips_n_tricks:nagios:using_http_for_passive_checks [23.10.2012 10:54 CEST] (current) peter
Line 1: Line 1:
 ====== Using HTTP for passive checks ====== ====== Using HTTP for passive checks ======
  
 +===== Using cmd.cgi =====
 This description is valid for //Nagios 3//. This description is valid for //Nagios 3//.
  
Line 28: Line 29:
  
   wget -O - \   wget -O - \
-       --user=http_remote \+       --user=passive_via_http \
        --auth-no-challenge \        --auth-no-challenge \
        --no-check-cert \        --no-check-cert \
Line 40: Line 41:
   '&btnSubmit=Commit'   '&btnSubmit=Commit'
  
-Of course, in a large environment with appropriate security needs, you would write a php script that is restricted to write passive checks.+Of course, in a large environment with appropriate security needs, you would write a PHP script that is restricted to write passive checks. 
 + 
 +===== Using PHP ===== 
 +If you prefer a separate PHP script, this may serve as a skeleton: 
 + 
 +  <?php 
 +  $state_str=array( 0 => 'OK'     ,  
 +                    1 => 'WARN'   , 
 +                    2 => 'CRIT'   , 
 +                    3 => 'UNKNOWN') ; 
 +  $nsca_host="localhost"
 +  $send_nsca="/usr/sbin/send_nsca"
 +  ?> 
 +  <HTML> 
 +  <HEAD> 
 +  <TITLE>http nsca reciever</TITLE> 
 +  </HEAD> 
 +  <BODY> 
 +  <?php 
 +  $log_fh=fopen("/tmp/nsca.php.log","a") ; 
 +  fwrite($log_fh,'========= BEGIN ============'."\n"); 
 +  ?><H2>Input</H2><?php 
 +  while (list ($key, $val) = each ($_REQUEST)) { 
 +   print htmlentities("$key = '$val'")."<BR>\n"; 
 +   fwrite($log_fh,"$key = '$val'\n"); 
 +   } 
 +   
 +  $host    = $_REQUEST['host'] ; 
 +  $service = $_REQUEST['service'] ; 
 +  $state   = $_REQUEST['state'] ; 
 +  $msg     = $_REQUEST['msg'] ; 
 +  ?><H2>Output</H2><?php 
 +  $nsca_fh=popen($send_nsca.' -H '.$nsca_host,"w") ; 
 +  fwrite($nsca_fh,sprintf("%s\t%s\t%s\t%s\n",$host,$service,$state,$msg)); 
 +  fwrite($log_fh,sprintf("%s<T>%s<T>%s<T>%s\n",$host,$service,$state.' ('.$state_str[$state].')',$msg)); 
 +  printf("<TABLE BORDER=1><TR><TD>Host</TD><TD>Service</TD><TD>State</TD><TD>Message</TD></TR>"
 +         "<TR><TD>%s</TD><TD>%s</TD><TD>%s</TD><TD>%s</TD></TR></TABLE>\n",$host,$service,$state.' ('.$state_str[$state].')',$msg); 
 +  pclose($nsca_fh); 
 +   
 +  fwrite($log_fh,'========= END ============'."\n"); 
 +  fclose($log_fh); 
 +  ?> 
 +  </BODY> 
 +  </HTML> 
 + 
 + 
 + 
 +{{tag>Nagios Monitoring}} 
 +{{entry>Nagios}} 
 +{{entry>Monitoring}}
docs/tips_n_tricks/nagios/using_http_for_passive_checks.1350916525.txt.gz · Last modified: 22.10.2012 16:35 CEST by peter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki