Fórum Ubuntu CZ/SK

Ostatní => Ubuntu Server => Téma založeno: zdenek_vz800 25 Února 2012, 23:23:18

Název: Jednoduchý ping monitoring
Přispěvatel: zdenek_vz800 25 Února 2012, 23:23:18
potřebuji nějak jednoduše monitorovat urcite ip adresy v siti, ev vypadky posilat emailem - nicmene rada programu ma tisice jinych moznosti, ktere nepotrbuji - zajmave skripty jsem nasel zde http://www.cyberciti.biz/tips/simple-linux-and-unix-system-monitoring-with-ping-command-and-scripts.html (http://www.cyberciti.biz/tips/simple-linux-and-unix-system-monitoring-with-ping-command-and-scripts.html) a tady http://linuxconfig.org/bash-scripts-to-scan-and-monitor-network (http://linuxconfig.org/bash-scripts-to-scan-and-monitor-network) - to by v podstate postacovalo, nicmene neumim nejak s bashem - staci vytvorit skript, zkopirovat do nej upravena data a vlozit do adresare bin??
Název: Re:Jednoduchý ping monitoring
Přispěvatel: Petr Merlin Vaněček 26 Února 2012, 10:29:32
Základem může být něco v tomto smyslu.
Těch 10 pingů je možná trochu moc, ale osvědčilo se to v případě WiFi klientů, kdy klient může "spát" a probere až o pár vteřin později ...

Kód: [Vybrat]
SERVERS="192.168.1.1 192.168.1.2 192.168.1.10 ..."

for SERVER in $SERVERS
do
    if [ `/bin/ping $SERVER -c 10 | grep -c "100% packet loss"` -ne 0 ]
    then
        ##IP je dole
        ##Nejaka akce
    else
        ##IP je nahore
        ##Nejaka jina akce
    fi
done
Název: Re:Jednoduchý ping monitoring
Přispěvatel: zdenek_vz800 26 Února 2012, 11:37:53
jasne tomu bych rozumel, ale mam tedy vytvorit neco.sh - zkopirovat do toho text a dat do adresare bin? vypis skriptu je mi jasny...
Název: Re:Jednoduchý ping monitoring
Přispěvatel: Petr Merlin Vaněček 26 Února 2012, 11:43:13
Kde se bude script nacházet je vcelku jedno. Osobně bych jej raději viděl např. v /etc/init.d/ a volat pomocí cronu.
Název: Re:Jednoduchý ping monitoring
Přispěvatel: zdenek_vz800 26 Února 2012, 12:08:42
aha - s cronem mi je to taky jasny, ale pujde spustit i v terminalu? - napr:

neco@neco#sudo /etc/init.d/test.sh

?
Název: Re:Jednoduchý ping monitoring
Přispěvatel: ulo 27 Února 2012, 15:34:35
Pokud bude mít +x příznak (čili chmod +x /etc/init.d/test.sh), tak ano.
Jinak do /etc/init.d se dávají scripty pro "samoobsluhu" systémem přes příkaz update-rc.d (po startu systému, cron atd), než aby se ručně spouštěly. Myslím si, že předchozí návrh byl myšlen právě tak, aby se to všechno dělo "automatizovaně" bez nutnosti ručně spouštět. Nicméně, pokud to chceš spouštět ručně a přes sudo, tak je imho úplně jedno, kde se script bude nacházet.
Název: Re:Jednoduchý ping monitoring
Přispěvatel: rainbof 27 Února 2012, 15:50:41
no hlavně pokud bude mít na začátku

Kód: [Vybrat]
#! /bin/sh
jinak nebude jasné "co" tento sktipt má obsloužit
Název: Re:Jednoduchý ping monitoring
Přispěvatel: Petr Merlin Vaněček 27 Února 2012, 17:54:51
no hlavně pokud bude mít na začátku

Kód: [Vybrat]
#! /bin/sh
jinak nebude jasné "co" tento sktipt má obsloužit

Proto jsem psal, že to může být základem :)
A ano, protože se bavíme o monitoringu, předpokládal jsem automatizované spuštění (cron) ...
Název: Re:Jednoduchý ping monitoring
Přispěvatel: zdenek_vz800 28 Února 2012, 17:57:40
tak diky vsem za cene rady, uz to mam a dokonce to i funguje - nicmene k casti skriptu:

Kód: [Vybrat]
    then
        ##IP je dole
        ##Nejaka akce
    else
        ##IP je nahore
        ##Nejaka jina akce
    fi

nevim jestli je to dobry napad - pri vypadku nahlasi, ale pokud bude ok, tak to bude porad treba posilat emaily (##IP je nahore  ##Nejaka jina akce)...
Název: Re:Jednoduchý ping monitoring
Přispěvatel: Petr Merlin Vaněček 28 Února 2012, 19:36:26
Ta jiná akce přece nemusí být nutně mail? Co třeba záznam do DB? Nebo nějaká další jiná akce ...
Anebo jen upravit podmínku tak, že dáme do pryč kousek "else ..."
Název: Re:Jednoduchý ping monitoring
Přispěvatel: zdenek_vz800 28 Února 2012, 19:55:07
no jasne - premyslel jsem jen nad tim co potrebuju ja - to je fakt, treba zaznam do logu pro statistiku by taky sel - tak pardon... :-)