Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Pisze jeden program, ktory miedzy innymi monitoruje mi system zapisujac do bazy stany: pojemnosc dysku, obciazenie cpu, pamieci, ilosci zalogowanych userow itp.
Jak mozna wyciagnac te dane z systemu? Moge to zrobic ewenetualnie przez zewnetrzne programy m.in np. df i odpowiednio cut'owac i grepowac ale chodzi mi o innne podejscie do tego.
pozdr
Offline
Bedzie uruchamiany co 5 min, skrypt jak narazie bedzie urachamiany cronem chodz moze potem zainteresuje sie czyms a'la demon. Dane bedzie trzymal w bazie postgresql'a. Puki co zajmuje sie wyciaganiem tych danych z polecen systemowych df, free, netstat...
Mam juz:
- uzycie partycji dyskowych
- uzycie pamieci
- wyslane i odebrane pakiety z "netstat -i"
- ilosc userow zalogowanych
Jak narazie to jeszcze szukam informacji dotyczacych obiazenia procka i zastanawiam sie nad dalszymi informacjami ktore mozna wyciagnac do monitorowania, a raczej jak je wyciagnac :)
Interesuje mnie rowniez wyciaganie podobnych danych pod windowsem, ale tym bede sie martwil potem :)
pozdr
Offline
nie do konca znam sie na perlu, wiec nie wiem jak to mozna tam inaczej zrobic, ale ogolnie polecam system /proc. tam powinienes znalezc wszystkie interesujace cie informacje. wystarczy jedynie odczytac odpowiednie pola z odpowiednich plikow i po wszystkim.
Offline
Oki, dzieki juz prawie mam wszytko tylko jeszcze jedno, mozecie podsunac mi pomysl skad wyciagnac cos takiego jak uzycie dysku (transfery) np. wiem ze wtedy i wtedy dysk non stop pracowal?
Druga sprawa to wykresy, macie jakies informacje jak wygenerowac wykres na podstawie danych z bazy w perlu badz przy uzyciu jakiegos narzedzia by potem wyswietlic go przez www?
--- sprawa wykresow rozwiazana - biblioteka [b] gifgraph[/b]
pozdro
Offline
raixer - bawiles sie moze Curses dla perl'a? bo trzeba by mi bylo dobra dokumentacje do tego... pisze system zarzadania siecia, i chialam ladny wygodny interfejs zrobic pod konsole... ale codoCurses to nigdzie ani przykladow ani dokumnetacji nie moge znalesc :]
Offline
Nie, niestety nie bawilem sie tym, przygode z Perlem dopiero nie tak strasznie dawno zaczelem i powolutku zaglebiam sie w tej jezyk :)
Offline
Time (s) | Query |
---|---|
0.00040 | SET CHARSET latin2 |
0.00008 | SET NAMES latin2 |
0.00327 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.191.240.243' WHERE u.id=1 |
0.00196 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.191.240.243', 1713515522) |
0.00071 | SELECT * FROM punbb_online WHERE logged<1713515222 |
0.00170 | DELETE FROM punbb_online WHERE ident='47.128.126.22' |
0.00144 | SELECT topic_id FROM punbb_posts WHERE id=1223 |
0.00246 | SELECT id FROM punbb_posts WHERE topic_id=200 ORDER BY posted |
0.00215 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=200 AND t.moved_to IS NULL |
0.00036 | SELECT search_for, replace_with FROM punbb_censoring |
0.00120 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=200 ORDER BY p.id LIMIT 0,25 |
0.00205 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=200 |
Total query time: 0.01778 s |