Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] snmpget
Forum PHP.pl > Forum > Przedszkole
baxik20
Witam serdecznie,
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";
?>

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


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ł
nospor
Cytat
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 ?

Czy naprawde ciezko sprawdzic czy mozna traktowac jak liczbe?
  1. <?php
  2. $zm = '-75';
  3. if ($zm < -70) echo 'mniejsza';
  4. ?>

Trudne?
Jak chcesz możesz też jawnie zrzutować na liczbe:
  1. <?php
  2. $zm = '-75';
  3. $zm = (int)$zm;
  4. if ($zm < -70) echo 'mniejsza';
  5. ?>


Co do warningow to mozesz dac malpe @ przed snmpget() i je wyciszysz. Nie jest to jednak zbyt elegancke rozwiązanie.
Mozesz podpiac wlasny error handler
http://pl2.php.net/manual/en/function.set-error-handler.php
I cos robic z tymi bledami

Cytat
eś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.

Odpalasz cronem skrypt co 5 minut, ktory zczytuje te wartosci i zapisuje do bazy/pliku/gdziekolwiek
Majac te dane mozesz rysowac
baxik20
Cytat(nospor @ 9.01.2009, 10:43:03 ) *
Co do warningow to mozesz dac malpe @ przed snmpget() i je wyciszysz. Nie jest to jednak zbyt elegancke rozwiązanie.
Mozesz podpiac wlasny error handler
http://pl2.php.net/manual/en/function.set-error-handler.php
I cos robic z tymi bledami


Odpalasz cronem skrypt co 5 minut, ktory zczytuje te wartosci i zapisuje do bazy/pliku/gdziekolwiek
Majac te dane mozesz rysowac


Dziekie serdeczne za pomoc, @ mi wystarczy, chociaz mozliwe ze pobawie sie ze error handler

Co do wykresu to masz może Ty albo ktoś prosty przykład na takie rysowanie wykresu ? Chodzi mi o przydład na pobieranie i zapisywanie do pliku oraz ich odczytu.
Jeszcze raz dziekuje za pomoc, pozdrawiam Rafał
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.