Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Wykres dostępności urządzenia, na podstawie logów w pliku txt
Forum PHP.pl > Forum > Przedszkole
remik89
To mój pierwszy post, dlatego witam wszystkich serdecznie! smile.gif

Tworzę obecnie na własne potrzeby "system monitorowania dostępności urządzeń sieciowych".

Nie jest to konieczne, ale opiszę co zrobiłem do tej pory: stworzyłem skrypt w bashu, uruchamiany przez crontaba, który pingując urządzenia stwierdza, czy są dostępne, czy też nie, następnie zapisuje odpowiednią informację w pliku.

Teraz ważniejsza część: schemat plików wygląda następująco: każde urządzenie posiada swój folder o takiej samej nazwie, jak nazwa urządzenia, w każdym z folderów znajdują się miesięczne logi nazwane w sposób: ROK_MIESIĄC.txt, czyli najnowsze mają postać: 2011_08.txt.
Każdy taki miesięczny plik zawiera logi w postaci (to tylko mały wycinek, gdzie jak się na pewno domyślacie, 0 offline, 1 online, 17 to dzień miesiąca, następnie godzina):

  1. 1 17 14:58:08
  2. 1 17 14:59:08
  3. 1 17 15:00:08
  4. 1 17 15:01:07
  5. 1 17 15:02:08
  6. 1 17 15:03:09
  7. 0 17 15:04:07
  8. 1 17 15:05:07
  9. 1 17 15:06:09
  10. 0 17 15:07:07
  11. 1 17 15:08:10
  12. 1 17 15:09:08
  13. 1 17 15:10:07
  14. 1 17 15:11:09
  15. 1 17 15:12:08
  16. 0 17 15:13:08
  17. 1 17 15:14:08
  18. 1 17 15:15:08
  19. 1 17 15:16:08
  20. 0 17 15:17:08
  21. 1 17 15:18:09

Stworzyłem w php możliwość przeglądania statystyk obecnego miesiąca (defaultowo), jak i poprzednich.
Statystyki obejmują procentową dostępność każdego urządzenia, wypisanie okresów niedostępności każdego urządzenia oraz tylko w obecnym miesiącu - stwierdzenie, czy dane urządzenie w danej chwili jest online/offline.

Do szczęścia brakuje mi tylko wykresów obrazujących dostępność danego urządzenia.
Jestem początkującym w dziedzinie php i linuxa, stworzenie powyższych części nie sprawiało mi problemu, natomiast wykresy wydają się być bardziej skomplikowane - dlatego też proszę o pomoc, bądź nakierowanie.

Strasznie się rozpisałem, pewnie nieadekwatnie do problemu, zależy mi na tym, żeby w miarę prosty sposób stworzyć wykres na podstawie opisanych wyżej logów.
morbic
Witamy serdecznie na forum smile.gif

Wystarczy eksportować dane np. do XML, a następnie użyć jakiejś Flashowej biblioteki do tworzenia wykresów, np: http://www.maani.us/xml_charts/
remik89
Dzięki, za chwilę przejrzę dokładnie xml_charts, wydaje się ciekawe.

Czy istnieje jakiś inny łatwy sposób na stworzenie wykresu, bez eksportowania danych do innego pliku?
lukaskolista
http://highcharts.com dla wlasnego uzytku modul jest darmowy, jezeli chcesz komercyjnie to musisz zaplacic. Obsluga banalna (przez JSON) ktory zapewne jest Ci znany (a jak nie to i tak jest banalny)
morbic
Cytat(remik89 @ 18.08.2011, 09:29:03 ) *
Czy istnieje jakiś inny łatwy sposób na stworzenie wykresu, bez eksportowania danych do innego pliku?


Nie musisz eksportować nic do innego pliku. Tworzysz plik .php, który wypluwa dane w formacie takim, jaki chce biblioteka z wykresami i podajesz ścieżkę do niego w xml_charts. Dane eksportują i aktualizują się same. To samo z JSON.
remik89
Po przeczytaniu tutoriali faktycznie, nie wydaje się ciężkie.
Za chwilę będę tworzył wykres z urządzeniami i ich procentową miesięczną dostępnością.

Problem może pojawić się przy wykresie miesięcznym udanych pingów poszczególnych urządzeń.
Miesięczny zapis pingowania każdego urządzenia ma 43200 wpisów, nie wiem czy te biblioteki sobie z tym poradzą, a jeżeli poradzą, to czy cokolwiek będzie widoczne na wykresie przedstawiającym 43200 słupków wink.gif.
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.