#!/usr/bin/php
0 ) {
echo " | ";
foreach ( $perfdata as $name => $perf ) {
$str = $name."=".$perf['value'];
$str .= ";";
if ( isset ( $perf['warn'] ) )
$str .= $perf['warn'];
$str .= ";";
if ( isset ( $perf['crit'] ) )
$str .= $perf['crit'];
$str .= ";";
if ( isset ( $perf['min'] ) )
$str .= $perf['min'];
$str .= ";";
if ( isset ( $perf['max'] ) )
$str .= $perf['max'];
$str = preg_replace ( '@(;+)$@', ';', $str );
echo $str." ";
}
}
echo "\n";
exit($return);
}
// Echo help if invalid number of arguments
if ( $_SERVER['argc'] != 10 ) {
help();
nagios_return(3,"Too few arguments");
}
// Get commandline arguments
$hostname = $_SERVER['argv'][1];
$type = $_SERVER['argv'][2];
$user = $_SERVER['argv'][3];
$pass = $_SERVER['argv'][4];
$sensor = $_SERVER['argv'][5];
$min_warn = $_SERVER['argv'][6];
$min_crit = $_SERVER['argv'][7];
$max_warn = $_SERVER['argv'][8];
$max_crit = $_SERVER['argv'][9];
// Unit table for sensors
$units = array (
2 => "C",
3 => "C",
40 => "hPa",
65 => "%",
);
// Get XML from all4x00
if ( $type == 4500 ) {
$buf = file_get_contents ( "http://".$user.":".$pass."@".$hostname."/xml/xml4000.xml" );
} else {
$buf = file_get_contents ( "http://".$user.":".$pass."@".$hostname."/xml" );
}
if ( !$buf ) {
nagios_return ( 3, "Could not query data. Downloading XML failed." );
}
// Clean up XML
if ( $type == "4500" ) {
$buf = str_replace ( '', '