Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/php -q
- <?php
- $options = getopt("H:U:P:w:c:m:x:d::");
- $warning = 75;
- $critical = 80;
- $host = "localhost";
- $username = null;
- $password = null;
- $minimum = 0;
- $maximum = $critical + 5;
- $licznikAmbient = 0;
- $sumatemperatur = 0;
- $minTemp = 100;
- $maxTemp = 0;
- $stringtemp;
- if(isset($options["H"]))
- {
- $host = $options["H"];
- }
- if(isset($options["c"]))
- {
- $critical = $options["c"];
- }
- if(isset($options["w"]))
- {
- $warning = $options["w"];
- }
- if(isset($options["U"]))
- {
- $username = $options["U"];
- }
- if(isset($options["P"]))
- {
- $password = $options["P"];
- }
- if(isset($options["m"]))
- {
- $minimum = $options["m"];
- }
- if(isset($options["x"]))
- {
- $maximum = $options["x"];
- }
- else
- {
- $maximum = $critical + 5;
- }
- $connection = @ssh2_connect($host, 22);
- if (!$connection)
- {
- echo "Nie mozna polaczyc sie z serwerem\n";
- exit(2);
- }
- ssh2_auth_password($connection, $username, $password);
- $stream = ssh2_exec($connection, 'SHOW SERVER TEMP ALL');
- stream_set_blocking($stream, true);
- $screen = stream_get_contents($stream);
- fclose($stream);
- $lines = split("[\n|\r]",$screen);
- foreach($lines as $line)
- {
- if(strpos($line,"Ambient Zone")===0)
- {
- $licznikAmbient++;
- $lista = explode(" ", $line);
- for($licznik=0;$licznik<=20;$licznik +=1) {
- $pos = strpos($lista[$licznik], "C");
- if ($pos == true) {
- $stringtemp = $lista[$licznik];
- break;
- }
- }
- $temperaturka = ereg_replace("[^0-9]", "", $stringtemp);
- if ($temperaturka > $maxTemp) {
- $maxTemp = $temperaturka;
- }
- if ($temperaturka < $minTemp) {
- $minTemp = $temperaturka;
- }
- $sumatemperatur = $sumatemperatur + $temperaturka;
- }
- }
- $srednia = $sumatemperatur/$licznikAmbient;
- $roundsrednia=round($srednia,2);
- if($srednia>=$critical)
- {
- echo "Zbyt duza srednia temperatura=".$roundsrednia." C|SredniaTemp=".$roundsrednia.";".$warning.";".$critical.";".$minimum.";".$maximum." minTemp=".$minTemp.";".$warning.";".$critical.";".$minimum.";".$maximum." maxTemp=".$maxTemp.";".$warning.";".$critical.";".$minimum.";".$maximum."\n";
- exit(2);
- }
- if($srednia>=$warning and $srednia<$critical)
- {
- echo "Podwyzszona srednia temperatura=".$roundsrednia." C|SredniaTemp=".$roundsrednia.";".$warning.";".$critical.";".$minimum.";".$maximum." minTemp=".$minTemp.";".$warning.";".$critical.";".$minimum.";".$maximum." maxTemp=".$maxTemp.";".$warning.";".$critical.";".$minimum.";".$maximum."\n";
- exit(1);
- }
- if($srednia<$warning)
- {
- echo "Srednia temperatura=".$roundsrednia." C|SredniaTemp=".$roundsrednia.";".$warning.";".$critical.";".$minimum.";".$maximum." minTemp=".$minTemp.";".$warning.";".$critical.";".$minimum.";".$maximum." maxTemp=".$maxTemp.";".$warning.";".$critical.";".$minimum.";".$maximum."\n";
- exit(0);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement