ICM 0 Zgłoś post Napisano Lipiec 15, 2007 [Tutorial] Darmowy monitoring loadu via SMS Monitoring SMS pozwoli Ci spać w miare spokojnie. Będziesz wiedział, że Twój serwer nie ma większego loadu niż ten, który ustawisz w limicie skryptu. A więc zaczynamy: Logujesz się jako root cd /root nano uptime Teraz wklejasz ten skrypt PERLa do Twojego pliku "uptime" #! /usr/bin/perl $uptime = `uptime`; ($j1,$j2) = split / load average: /, $uptime; ($j3,$j4) = split /,/, $j2; if ( $j3 > 10 ) { print "UPTIME WYNOSI AZ $j3\n"; open (MAIL, "|/usr/sbin/sendmail -t "); print MAIL "From: od\@domena.pl\n"; print MAIL "To: smsl\@domena.pl\n"; print MAIL "Content-Type: text/plain\n"; print MAIL "Subject: Uptime S1: $j3\n\n"; print MAIL "Uptime S1 jest wiekszy niz 10 i wynosi $j3"; close (MAIL); } Modyfikujesz liczbę "10" - oznacza ona maksymalny uptime serwera jaki uważasz za słuszny. W e-mialu "od\@domena.pl" zamieniasz na twojemail\@ty.pl" a następny e-mail to e-mail operatora, ale o tym za chwilę. [ !!! Pamiętaj, aby format e-maila w kodzie PERL-a zawierał "\" ] Następnie dajesz do pliku crona linie... nano /var/spool/cron/root Wklej ten kod gdy chcesz monitorowac co minutę lub zmodyfikuj wg uznania: * * * * * perl /root/uptime Zamknij i zrestartuj crona. service crond restat lub /etc/init.d/crond restart Jeśli wpiszesz w konsoli SSH "perl /root/uptime" i nic się nie wyświetli znaczy, że load jest dobry. Jeśli load jest wyższy niż wynik Twój limit wyświetl się komunikat "LOAD WYNOSI AZ X" Teraz przejdzmy do sprawy powiadamiania na SMS... Użytkownicy PLUS GSM są według mnie w najlepszej sytuacji, Aby SMS-y dochodziły do Ciebie wystarczy wpisać w polu na e-mail do Ciebie ten e-mail 48XXXYYYZZZ@text.plusgsm.pl Niestety ta metoda nie daje 100% gwarancji, że SMS dojdzie ale w większości przypadków dochodzi. Gdy przekroczysz limit SMS wiadomości mogą nie dochodzić. Co zrobić aby mieć pewność? A no zainwestować jedyne 5zł + VAT i dzięki tej piątce netto będziesz miał pewnośc, że powiadomienie dojdzie. Wejdź na wwww.plusnet.pl i załóż skrzynke ""profil zielony" (Srebrna nie bedzie do tego zastosowania potrzebna i trzeba płacić co miesiąc) Po założeniu skrzynki ustaw powiadamianie SMS w opcjach na "od razu po przyjściu e-maila" I Gotowe! Choćbyś 100 e-maili wysłał zawsze dojdzie! Czego nie można powiedzieć o poprzedniej metodzie. !!! Pamiętaj aby format e-maila w kodzie PERLa zawierał "\" Pora na użytkowników ORANGE... Tutaj przyszłośc nie jest aż taka jasna jak to mówią w reklamie, ale jeszcze nic straconego. Załóż konto na portalu www.orange.pl i wejdź do zakładaki "Profil" Tam aktywuj usługę "Multi Box Gold" Jest ona płatna, kosztuje 6,10 z VAT. Ja aktywowałem i nic nie zapłaciłem chociaż było to aktywowane na karte Orange GO. Gdy masz abonament dla firm usługa ta jest BEZPŁATNA. Następnie przejdź do zakładki 'konfiguruj' >> 'powiadomienia' Ustaw Powiadomienia dla Skrzynki wiadomości; aktywne i natychmiast Wyślij sms-a testowego na ty@orange.pl, po chwili dojdzie sms z tematem tego mejla i treścią. Jeśli działa można dodawać do skryptu. ERA... Chociaż jestem klientem ery to nigdy nie testowałem ich funkcji, ale jako konkurencji mają taką opcje, ale niestety dla oszczędnych jest ona najdroższa w porównaniu do Plusa i Orange Z Eranetu mogą korzystać Abonenci sieci Era oraz użytkownicy systemu Tak Tak. Aktywuj Twoją skrzynkę teraz! Wyślij SMS o treści EMAIL pod 7477 (aktywacja na 30 dni - 4,88 z VAT) albo 7877 (aktywacja na 90 dni - 9,76 z VAT). Więcj na: http://www.eranet.pl/ Podsumowując: PLUS +486yyxxxxxx@text.plusgsm.pl lub nazwa@plusnet.pl (wymaga aktywacji usługi PlusNet) ERA 6yyxxxxxx@eranet.pl (wymaga aktywacji usługi EraNet) ORANGE nazwa@orange.pl (wymaga aktywacji usługi Multi Box) Skrypt testowany na CentOS 4.5 z cPanel 11. W razie pytań proszę pisać w temacie, ew. na PW Udostępnij ten post Link to postu Udostępnij na innych stronach
MasterNETpl 100 Zgłoś post Napisano Lipiec 15, 2007 heh, w sumie standard Osobiście korzystam z tego (tzn. własne skrypty) lecz nie tylko na podstawie powiadomień o obciążeniu systemu lecz o raporty innych usług. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Bartosz Gadzimski Zgłoś post Napisano Lipiec 15, 2007 Może standard, ale dzięki za przydatny skrypt. Udostępnij ten post Link to postu Udostępnij na innych stronach
Linux 0 Zgłoś post Napisano Lipiec 15, 2007 Mam taki skrypt ale nie mogę zrobić wysyłania smsów do konsoli z ery, skrypty które testowałem nie działają. Mam skrypt napisany w php i on wysyła smsa ale to nic nie daję bo nie odpalę go z wyjściem z konsoli . Jak ktoś podrzuci skrypt który wysyła smsy przez bramke sponsorowaną ery będę wdzięczny. Udostępnij ten post Link to postu Udostępnij na innych stronach
ICM 0 Zgłoś post Napisano Lipiec 15, 2007 No do tego monitoringu jeszcze trzeba monitoring portów. Dodać tutorial o monitoringu portów? Pozdrawiam Udostępnij ten post Link to postu Udostępnij na innych stronach
Relayed 0 Zgłoś post Napisano Lipiec 15, 2007 Możesz sawsze komuś się przyda Ale warto przyklejić lub dział tutorial Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Bartosz Gadzimski Zgłoś post Napisano Lipiec 16, 2007 Fajnie byłoby aby takie tutoriale wrzucać tutaj. Udostępnij ten post Link to postu Udostępnij na innych stronach
Prohost 345 Zgłoś post Napisano Lipiec 16, 2007 Trochę inaczej. Jeśli 5minutowy load przekroczy $loadmax to wyśle maila na $youremail z wiadomością który serwer i jaki ma cały load. #!/usr/bin/perl #wykonaj aby miec dostep do Mail::Sendmail - /scripts/perlinstaller Mail:Sendmail use Mail::Sendmail; #for sending mail use Sys::Hostname; #for hostname #-------------------------------------- #config #-------------------------------------- $loadmax = 6; $youremail = 'twoj@mail.pl'; #-------------------------------------- #config end #-------------------------------------- #-------------------------------------- #helpers #-------------------------------------- $thisserverhost = hostname(); $fromemail = 'root@' . "$thisserverhost"; #-------------------------------------- #helpers end #-------------------------------------- #-------------------------------------- #check server load #-------------------------------------- open(LOAD,"</proc/loadavg"); my $loadaverage = <LOAD>; close(LOAD); @loadsplit = split(/ /,$loadaverage); if( $loadsplit[1] > $loadmax ) { my $loadwarning = 'LOAD WARNING ON ' . $thisserverhost; my $loadmessage = 'Load on server: ' . $thisserverhost . "\n@loadsplit\n\nMessage sent by LoadMonitor"; my %mail = ( To => "$youremail", From => "$fromemail", Subject => "$loadwarning", Message => "$loadmessage" ); sendmail(%mail) or die $Mail::Sendmail::error; } #-------------------------------------- #check server load end #-------------------------------------- A wiadomość wygląda tak: Load on server: moj.serwer.com 8.19 6.55 4.58 2/271 1037 Message sent by LoadMonitor Udostępnij ten post Link to postu Udostępnij na innych stronach
cabana 15 Zgłoś post Napisano Lipiec 11, 2010 Trochę odświeżę kotleta Czy ktoś wie jak ustawić skrypt żeby smsa dostać w sieci PLAY ? Udostępnij ten post Link to postu Udostępnij na innych stronach
cabana 15 Zgłoś post Napisano Lipiec 17, 2010 Po kilku dniach doszedłem, że w PLAY się nie da Udostępnij ten post Link to postu Udostępnij na innych stronach
Dariusz Cieślak 3 Zgłoś post Napisano Sierpień 2, 2010 Obejrzałem skrypty w tym (reanimowanym) wątku i doszedłem do wniosku, że można zapisać to samo, ale dużo bardziej kompaktowo (korzystając z faktu, że stdout skryptu odpalonego z crona idzie na e-mail właściciela crontaba): 5-minutowy load serwera przekracza wartość 4: */5 * * * * cat /proc/loadavg | awk '$2 > 4 { print "High 5-minute load", $2 }' Zużycie miejsca na dysku większe niż 90%: 00 21 * * * df | awk '/^\// && $5 > 90 { print $0 }' I tak, dalej, zastosowania można łatwo sobie wymyśleć. Odnośnie "w PLAY się nie da": można wykupić komercyjną bramkę SMS, która ma zwykle interfejs po HTTP/GET, co pozwoli pewnie wysyłać do siebie komunikaty SMS niezależnie od docelowej sieci (nie będę tu reklamował konkretnego dostawcy, można ich wyszukać w Google). Udostępnij ten post Link to postu Udostępnij na innych stronach