pisze stronke która za pomocą snmpget odpytuje router o pewne dane klientów sieci i je wyswietla.
Wszystko pięknie ladnie kiedy klient jest podłączony do sieci (wtedy router pokazuje syngał oraz tx/rx rate) ale juz mam problem kiedy jest niepodłaczony. Wtedy snmpget sypie innym komunikatem.
Kod
$a = snmpget("$host","$community",$linia['sygnal']); //sygnał
$wynika=str_replace('INTEGER:', '', $a);
?>
<i> <br><b><div style="text-indent: 10px; size="2"">Jakość połączenia :</div></front></i></b><center>
<table border="1" width="60%" frame="void" cellpadding="10">
<tr bgcolor="aliceblue">
<td> Siła sygnału :<b>
<?php
print "$wynika";
?>
$wynika=str_replace('INTEGER:', '', $a);
?>
<i> <br><b><div style="text-indent: 10px; size="2"">Jakość połączenia :</div></front></i></b><center>
<table border="1" width="60%" frame="void" cellpadding="10">
<tr bgcolor="aliceblue">
<td> Siła sygnału :<b>
<?php
print "$wynika";
?>
Tak wyglada ogolnie kod. Kiedy klient jest połączony do routera to snmpget wyswietla "integer: -65" co ja zamieniam str_replace by wyswietlało jako tylko "-65"
Jednak kiedy Nie jest połaczony to
Cytat
Warning: snmpget() [function.snmpget]: Error in packet: (noSuchName) There is no such variable name in this MIB. in /var/www/strona/myaccount.php on line 81
Warning: snmpget() [function.snmpget]: This name does not exist: SNMPv2-SMI::enterprises.14988.1.1.1.2.1.3.0.17.34.51.68.85.9 in /var/www/strona/myaccount.php on line 81
Warning: snmpget() [function.snmpget]: This name does not exist: SNMPv2-SMI::enterprises.14988.1.1.1.2.1.3.0.17.34.51.68.85.9 in /var/www/strona/myaccount.php on line 81
I teraz mam pytanie , jak sobie z tym poradzić? Myślałem o pingowaniu klienta i jesli jest ok to wtedy dopiero snmpget, ale niestety nie wszystkich klientow da sie pingowac- niektorzy mimo ze zalogowani nie odpowiadaja na ping (zapewne firewall albo coś).
Próbowałem zastosować try {} catch jednak to sie nie sprawdziło w moim przypadku.
Druga sprawa to chciałem zrobić aby sygnał <-70 ( -68,-40 itd)pokazywało na zielono zaś powyżej na czerwono. Czy można zrobić to jakoś? Chodzi mi o to czy "-75" które będzie wynikiem snmpget'a można traktować jako liczbe a nie tekst ?
I ostatnia sprawa to chciałem zrobić dla sygnału wykres. Znalazłem na internecie kilka funkcji rysujących wykres (mówie tutaj o prostym wykresie liniowym ) jednak w znalezionych skryptach dane wprowadzone w wykres są recznie wpisane w kod skryptu. Jeśli "-75" mozna traktować jako liczbe to jak "prosto" zapisywać co np 5min taka wartośc do pliku i nastepnie ją pobierać by "rysowac" wykres.
Mam nadzieję, że wszystko opisałem w miare zrozumiale. Prosze o Waszą pomoc. Pozdrawiam Rafał