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/.
Cześć
Do wyświetlania na żywo obciążenia sieci jest programów w trzy i trochę.
Ale ja potrzebuję coś, co działa sobie jako demon w tle, i w razie, jak np liczba pakietów przekracza ustaloną wartość, potrafi uruchomić polecenie zdefiniowane w konfigu.
Zasadniczo da się tak dosyć łatwo oskrypcić Snorta, ale z ostatnią wersją wersją coś do ładu dojść nie mogę, a i serwerek jest troszkę za mały, żeby na nim niekonieczne śmiecie instalować.
Komunikację z serwerem zapewnia robot XMPP napisany w Perlu, który będzie odbierał informacje od różnych części systemu przez socket unix.
Potrzebuję coś maksymalnie lekkiego, niezawodnego i działającego, bez wielgachnych interfejsów WWW czy Ncurses.
Praktycznie idealnie byłoby oskrypcić Vnstata, ale on sam o ile mi wiadomo skryptów nie odpala, a mnie chodzi o demona realtime, a nie odpalanie polecenia z Crona.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2016-03-09 02:42:43)
Offline
Może swatch do tego zaprzęgnąć?
http://www.linux-mag.com/id/7807/
W sensie do pliku zapisywać liczbę pakietów i swatch'em obserwować. Może te parametry możesz z /proc wyciągnąć?
Ostatnio edytowany przez Piotr3ks (2016-03-09 14:35:37)
Offline
Z /proc mogę, ale nie lubię demonów w perlu/bash, bo nawet robocik XMPP - 80 linijek, też ~30MB RAM potrzebuje:
23.6 MiB + 8.2 MiB = 31.8 MiB robot
a jeszcze nie dostał połowy kodu, np obsługi socketu UNIX, kilku funkcji i regexów,
to z resztą bardzo wczesna wersja.
Swatch bazuje na logach, zupełnie nie o to chodzi, na razie sprawdzę to:
[b]net-analyzer/ipband[/b] - http://ipband.sourceforge.net/
Potrafi toto maile wysyłać, ale może mała poprawka w kodzie albo obudowanie go jakimś grepem pozwoli na akcje, jakie planuję.
Od odpalenia polecenia mail do odpalenia dowolnego polecenia jest już dosyć niedaleko.
EDIT:
w ogóle nie ma problemu:
[quote="man ipband"]-T string
MTA command string for mailing reports. Default is
"/usr/sbin/sendmail -t -oi". The string is tokenized and passed
directly to exec(), so that shell's metacharacters are not
interpreted.[/quote]
Ostatnio edytowany przez Jacekalex (2016-03-09 18:37:16)
Offline
najwyższy czas nauczyć się C (bez plusplusów i innych krzyżyków).
podobny program pisany na bazie kodu bandabusers (niestety, źródła mam chyba w /dev/null albo obok) wymagał pamięci liczonej w kilobajtach...
Offline
2816
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:36:41)
Offline
[quote=ethanak]najwyższy czas nauczyć się C (bez plusplusów i innych krzyżyków).
podobny program pisany na bazie kodu bandabusers (niestety, źródła mam chyba w /dev/null albo obok) wymagał pamięci liczonej w kilobajtach...[/quote]
Może i nauczyć, ale w repo Linuxa jest pierdylion różnych wynalazków, dlatego postanowiłem czegoś poszukać.
Offline
[quote=uzytkownikubunt][quote=Jacekalex]Potrzebuję coś maksymalnie lekkiego, niezawodnego i działającego, bez wielgachnych interfejsów WWW czy Ncurses.[/quote]
A mi do podręcznych notatek o dokumentach niedawno mówiłeś, że serwer www + przeglądarka to lekkie i poręczne rozwiązanie, a teraz nagle nawet ncurses jest ciężkie.[/quote]
Co innego podręczne notatki na solidnym domowym kompie (gdzie po necie i tak przez telnet nie buszujesz), a co innego malutki serwerek, w którym każdy kilobajt jest na wagę złota.
Nikt tobie nie kazał używać do Mysqla FF czy Chrome, serwera WWW i phpmyadmina na RPI, a ten serwerek ma parametry podobne do RPI.
Pozdro
Offline
2817
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:36:43)
Offline
[quote=uzytkownikubunt]Nie zawsze jak uruchamiam PC to uruchamiam przeglądarkę i/lub włączam X.Org...
A podręczne oznacza, że również wtedy powinienem mieć do nich dostęp.
A ncurses jest lekki nawet jak na Raspberry Pi.[/quote]
Pod warunkiem, że poza tym ncurses nie chodzi tam z a dużo usług, a tam już jest Mariadb i serwer ts3, do tego Nginx, Php i Proftpd.
Także wystarczy obciążenia, a poza tym to i tak nie chcę tego monitorować na żywca, tylko mieć komunikat przez Jabbera, jak coś się kaszani.
Offline
2818
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:36:44)
Offline
[quote=uzytkownikubunt]Nie da się tego przez rsyslog wykonać?
https://unix.stackexchange.com/a/260012
Tylko uruchomiony program/skrypt musiałby szybko się kończyć, bo rsyslog czeka na jego zakończenie.
albo taki moduł (wyraźnie inaczej działa, zależy czego potrzebujesz):
http://www.rsyslog.com/doc/v8-stable/configuration/modules/omprog.html[/quote]
Pewnie się da, tylko po co, rsyslogd o ile mi wiadomo i tak nie sprawdza obciążenia na eth0,
i jak tam nagle zacznie niebezpiecznie wzrastać liczba PPS, to musi się o tym dowiedzieć od jakiegoś demona, który tego pilnuje, albo z logów netfiltera, który to zaloguje.
Domyślnie w Linuxie takiego demona po prostu nie ma, jest co prawda netfilter, ale ten loguje blokowane połączenia, a nie całe obciążenie.
Więc albo trzeba naskrobać demona, który sczytuje co kilka sekund /proc/net/dev czy /sys/class/net/eth0/* i porównuje wartości, albo zatrudnić program, który to potrafi.
Ipband wydaje się działać tak, jak chciałem.
Można też ustawić limity globalne w netfilterze i logowanie przekroczenia limitu, wtedy swatch może się nadać, albo dowolny regex, nad takim rozwiązaniem też się zastanawiam, ale chciałem spróbować jakiegoś lekkiego demona zamiast.
EDIT:
Nawet nie jest taki straszny:
264.0 KiB + 1.6 MiB = 1.9 MiB ipband
Pozdro
Ostatnio edytowany przez Jacekalex (2016-03-09 21:25:23)
Offline
dał sznurek... bandsbusers nie zaczytuje żadnych (pseudo)plików tylko normalnie siedzi na interfejsie i liczy pakiety w czasie rzeczywistym.
mając takie dane mogę zrobić praktycznie wszystko.
Offline
[quote=ethanak]najwyższy czas nauczyć się C (bez plusplusów i innych krzyżyków).
podobny program pisany na bazie kodu bandabusers (niestety, źródła mam chyba w /dev/null albo obok) wymagał pamięci liczonej w kilobajtach...[/quote]
[quote=ethanak]dał sznurek... bandsbusers nie zaczytuje żadnych (pseudo)plików tylko normalnie siedzi na interfejsie i liczy pakiety w czasie rzeczywistym.
mając takie dane mogę zrobić praktycznie wszystko.[/quote]
Sznurek o bandabusers dał?
Gdzie?
Może ktoś polecić lepszego okulistę? Bo coś nie widzę...
Ostatnio edytowany przez Jacekalex (2016-03-09 22:16:12)
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00003 | SET NAMES latin2 |
0.00101 | 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='3.147.86.143' WHERE u.id=1 |
0.00081 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.147.86.143', 1732762331) |
0.00047 | SELECT * FROM punbb_online WHERE logged<1732762031 |
0.00050 | SELECT topic_id FROM punbb_posts WHERE id=298919 |
0.00010 | SELECT id FROM punbb_posts WHERE topic_id=28370 ORDER BY posted |
0.00058 | 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=28370 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00083 | 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=28370 ORDER BY p.id LIMIT 0,25 |
0.00078 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28370 |
Total query time: 0.00526 s |