Freesco, NND, CDN, EOS
http://forum.freesco.pl/

Powiadomienia o stanie Serwera na GG + EKG
http://forum.freesco.pl/viewtopic.php?f=24&t=13154
Strona 1 z 4

Autor:  oset17 [ niedziela, 6 sierpnia 2006, 14:03 ]
Tytuł:  Powiadomienia o stanie Serwera na GG + EKG

Witam

Dzieki pomocy Czerwa

Został stworzony sposób powiadomień na GG
Cytuj:
http://forum.freesco.pl/viewtopic.php?t=12808&highlight=sms



Po kolei

1 Wykorzystujemu EKG

pacmna -U

http://listonosz.com.pl/PKG/ekg-1.6-3nnd.pkg.tar.gz
http://listonosz.com.pl/PKG/ekg-1.6-4nnd.pkg.tar.gz
pakiet zaleznie od wersji ssl :D jeden powienien chodzic.

Potem wpisujemy "ekg" w lini komend i konfigurujemy wedlug wskazuwek w programie

2 Tworzymy skrypt i zamieszczamy go w /root/
do stworzenia skryptu wykorzystujemy dane z linku w/w

Skrypt nazywamy np "pwgg"
o treści:
Cytuj:
#!/bin/sh

procesy=`ps x | wc -l`
up1=`uptime | cut -d "," -f 1 | cut -d " " -f 4`
up2=`uptime |awk '{print$5}'| cut -b 1,2`
ram=`free -m | grep Mem | awk '{print $4}'`
swap=`free -m | grep Swap | awk '{print $3}'`
hda1=`df -h |grep hda1|awk '{print $4}'`
wp=`ping -c 6 wp.pl|tail -1|cut -d "/" -f 5`

/usr/bin/ekg msg <nr_gg_na jaki_zostanie_wysłany_stan_serwera> "(proc: $procesy) (up: $up1 dni $up2 godzin) (freeRAM: $ram MB) (zajetySwap: $swap MB) (hda1: $hda1 zajete) (WP: $wp ms)

(Oczywiście Skrypt możemy dowolnie zmieniać)

Potem dodajemy wpis do crona:

Cytuj:
crontab -e


Cytuj:
00 * * * * /root/pwgg


I co godzine dostajemy wiadomość na GG:

Cytuj:
(proc: 50) (up: 5 dni 9: godziny) (freeRAM: 10 MB) (zajetySwap: 1 MB) (hda1: 20% zajete) (WP: 24.386 ms) (ap1: 0.754 ms) (ap2: 7.020 ms) (ap3: 6.844 ms)



Mała Uwaga! Najlepszym sposobem jest przypisanie SERWEROWI nowego nr GG, poprostu rejestracja w servisie GG jako SERWER i ten nr konfigurujemy w programie EKG, a w Skrypcie wpisujemy swój własny, osobisty nr GG

Pozdrawiam, wszelkie Uwagi i Modernizajce proszę kierować do tego wątku

Autor:  erni [ poniedziałek, 7 sierpnia 2006, 22:42 ]
Tytuł: 

Na to wyglada, ze dziala ;)

Chyba mam za slabego kompa bo tylko raz zwrocilo mi 1mb wolnego ramu, tak to caly czas 0, moze to temu, ze wykonywany jest wtedy proces i troche zrzera on ramu...

Autor:  oset17 [ poniedziałek, 7 sierpnia 2006, 22:53 ]
Tytuł: 

Mozliwe ale 0? tylko? według mnei jest to mozliwe ale stawiłbym na zle przepisany skrypt "ta linijka akurat", a SWAP'a Ci zabiera czy nie?

Zobacz mój skrypt, tylko ja go inaczej nazwałem bo tak mi pasowało
Zapraszam tutaj http://netsystembidziny.homeip.net/download/u2gg

Autor:  erni [ poniedziałek, 7 sierpnia 2006, 23:20 ]
Tytuł: 

linijki dokladnie tak samo, nadal zwraca 0mb wolnego ramu i 4mb zajetego swapu

Autor:  Mis' [ wtorek, 8 sierpnia 2006, 00:09 ]
Tytuł:  Re: Powiadomienia o stanie Serwera na GG + EKG

: [/] [] ()
#!/bin/sh


bezbłędne!

: [/] [] ()
procesy=`ps x | wc -l`


też OK.

: [/] [] ()
up1=`uptime | cut -d "," -f 1 | cut -d " " -f 4`


up1=`uptime | awk '{print$3}'`

: [/] [] ()
up2=`uptime |awk '{print$5}'| cut -b 1,2`


a to działa chyba źle... u mnie pokazuje tylko ilość godzin... minuty mu wcięło (chyba że o to chodziło). Fragment "cut -b 1,2" wystarczy podmienić na "cut -b 1-5" i pokazuje godziny i minuty. Problemem jednak może być ustawione locale i/lub godzina w innym formacie. Wtedy trzeba poprawiać script. Żeby się nie sypało wystarczy zakończyć rurkę na poleceniu "awk '{print$5}'", tyle że wtedy pozostaje jeszcze na końcu przecinek, który mozna wywalić czymkolwiek. Albo pozostawić...

: [/] [] ()
ram=`free -m | grep Mem | awk '{print $4}'`


grep, awk... jeszcze by seda i perla dodać - co ma się serwerek nudzić, niech se popracuje... a tak:

ram=`free -m | awk '/Mem/ {print$4}'`

to nie łaska?

: [/] [] ()
swap=`free -m | grep Swap | awk '{print $3}'`


to samo co powyżej...

: [/] [] ()
hda1=`df -h |grep hda1|awk '{print $4}'`


jeszcze raz ten sam błąd

: [/] [] ()
wp=`ping -c 6 wp.pl|tail -1|cut -d "/" -f 5`


to jest OK, z tym, że ja bym widział tu jeszcze informację ile pingów zostało zagubionych. Ale to tylko moja wishlist...

Zadanie domowe dla autora: ile procesów zaoszczędziliśmy?
Wyjaśnienie czepiania się: scripty napisane tak jak powyżej generują zupełnie niepotrzebne obciążenie procesora... ile to już razy na forum skarżono się na awk zajmujący 50 (lub więcej) procent czasu procesora. Przy zadaniach wykonywanych cyklicznie (przykład powyżej dotyczył generowania wykresów mrtg) ma to naprawdę duże znaczenie.

Autor:  oset17 [ wtorek, 8 sierpnia 2006, 00:29 ]
Tytuł: 

Dzieki za sprawdzenie.

Wiesz poznaje jeszcze NND i wogole z Linux'em mam do doczyneinia w sumie pierwszy raz.
Jeszcze raz dzieki, i dodam ze na końcu mojego postu nei na darmo zameisicłem
Cytuj:
Pozdrawiam, wszelkie Uwagi i Modernizajce proszę kierować do tego wątku


Cytuj:
Kod:

wp=`ping -c 6 wp.pl|tail -1|cut -d "/" -f 5`


to jest OK, z tym, że ja bym widział tu jeszcze informację ile pingów zostało zagubionych. Ale to tylko moja wishlist...


Skoru już zaczeliśmy to poprosiłbym bym Cię abys, jeśli możesz przedstawił nam jak zrobić aby było też w powiadomieniu ile pakietów zostało zagubionych?

Autor:  oset17 [ środa, 9 sierpnia 2006, 01:04 ]
Tytuł: 

Abyśmy otrzymali wpowiadomieniu ilość zagubionych pakietów dopisujemy (to co pogrubione):

Cytuj:
#!/bin/bash

procesy=`ps x | wc -l`
up1=`uptime | awk '{print$2}'`
up2=`uptime | awk '{print$3}'`
ram=`free -m | awk '/Mem/ {print $4}'`
swap=`free -m | awk '/Swap/ {print $3}'`
hda1=`df -h | awk '/hda1/ {print $5}'`
wp=`ping -c 6 wp.pl|tail -1|cut -d "/" -f 5`
ap1=`ping -c 6 192.168.1.2|tail -1|cut -d "/" -f 5`
ap1_loss=`ping 192.168.1.2 -c 10 |tail -2|head -1|awk '{ print $(NF-4) }'|cut -f1 -d%`

/usr/bin/ekg msg 1234567 "(proc: $procesy) (up: $up1 dni $up2 godziny) (freeRAM: $ram MB) (zajetySwap: $swap MB) (hda1: $hda1 zajete) (WP: $wp ms) (ap1: $ap1 ms $ap1_loss zagubione)"


Wkradł się błąd:
"$ip_ap1" jzu zastąpiłęm samym IP "192.168.1.2"
ten błąd wynikł z kopiowania ze strony

I powinno działać

Autor:  Mis' [ środa, 9 sierpnia 2006, 01:18 ]
Tytuł: 

oset17 pisze:
: [/] [] ()
ap1_loss=`ping $ip_ap1 -c 10 |tail -2|head -1|awk '{ print $(NF-4) }'|cut -f1 -d%`


ap1_loss=`ping -c1 www.wp.pl | tail -2 | awk '/transmitted/ {print$6}'`

powyższa zmienna będzie pokazywać ile procent (wraz ze znakiem procentów) pakieŧów zostało straconych a jest o dwa polecenia krótsza. Jeśli komuś niepotrzebny znak procenta to może zrobić tak:

ap1_loss=`ping -c1 www.wp.pl | tail -2 | awk '/transmitted/ {print$6}' | tr -d '%'`


w tym wszystkim jednak jest pewien szkopuł - ping musi działać dwa razy. Raz aby uzyskać zmienną pokazującą śreni ping, drugi raz aby pokazać ilość utraconych pakietów. Próbowałem wczoraj jak obie zmienne uzyskać z jednej serii pingów, ale niestety bez powodzenia... przeczucie mówi mi że sie da, więc może niech ktoś popróbuje...

Autor:  oset17 [ środa, 9 sierpnia 2006, 01:38 ]
Tytuł: 

Z tym procentem to juz jak kto woli a co do pingów zgadzam sie, wartoło by pomysleć ajkby t owykonywać jednym pingiem. Też troche kombinowałem z tym licząc na szczęście ale wyskakiwały mi błędy typu "bad argument" itp.

A tak dodam już bo szukam cały dzień skąd wziąść linijke odpowiedzialną za "Użycie procesora" (w procentach) przeszukałęm cełe mrtg skad ono to beizre i do neiczego nei doszedłem, trzebna by cos z "top'em" pokombinować ale to juz nei na moje sily i sprawność, jakby ktoś mogł to prosiłbym aby podrzucił linijke odpowiedzialną za to

Autor:  horror [ czwartek, 10 sierpnia 2006, 14:38 ]
Tytuł: 

taki blad:
: [/] [] ()
$ ./skrypt2
./skrypt2: command substitution: line 4: syntax error: unexpected end of file

a skrypt wyglada tak:
: [/] [] ()
#!/bin/sh

procesy=`ps x | wc -|`
up1=`uptime | awk '{print$2}'`
up2=`uptime | awk '{print$3}'`
ram=`free -m | awk '/mem/ {print$4}'`
swap=`free -m | awk '/swap/ {print$3}'`
hda1=`df -h |awk '/hda1/ {print$5}'`
wp=`ping -c 4 www.wp.pl|tail -1|cut -d "/" -f 5`
ap1=`ping -c 4 192.168.100.2|tail -1|cut -d "/" -f 5`
ap1_loss=`ping 192.168.100.2 -c 4 |tail -2|head -1|awk '{print$(NF-4)}'|cut -f1 -d%`
ap2=`ping -c 4 192.168.100.1|tail -1|cut -d "/" -f 5`
ap2_loss=`ping 192.168.100.1 -c 4 |tail -2|head -1|awk '{print$(NF-4)}'|cut -f1 -d%`

/usr/local/bin/ekg msg admin "(proc: $procesy) (uptime: $up1 dni $up2 godziny) (FreeRAM: $ram MB) (Zajety Swap: $swap MB) (hda1: $hda1 zajete) (WP: $wp ms) (ap1: $ap1 ms $ap1_loss zagubione) (ap2: $ap2 ms $ap2_loss zagubione)"


pytanie nr 1:
co z tym fantem zrobic xD
pytanie nr 2:
czy skrypt musi byc koniecznie w /root
pytanie nr 3:
jak wyswietlic uruchomione procesy/prgramy :P (i wyslanie ich jako druga wiadomosc)

Pozdrawiam.

Edit:
O 15:30 dostalem wiadomosc:
: [/] [] ()
NoNameHub 15:30:19
(proc: ) (uptime: up dni 4 godziny) (FreeRAM: MB) (Zajety Swap: MB) (hda1: 26% zajete) (WP: 21.421 ms) (ap1: 1.084 ms 0 zagubione) (ap2: 0.356 ms 0 zagubione)

Autor:  oset17 [ czwartek, 10 sierpnia 2006, 16:12 ]
Tytuł: 

AD 1

A czy skrypt jest oby dobrze przepisany?

ram=`free -m | awk '/Mem/ {print$4}'`

a u Ciebie widze /mem/ (mała litera a duza to tez roznica)

Sprobuj napisać prawidłowo z duzych liter i bedzie OK

AD 2

Nie musi ale może :)

Tylko jak zmeinisz katalog to inny wpis do Crona idzie (zmieniasz katalog z plikiem wykonywalnym)

AD 3

To juz nei na moja glowe, może Mis' nam pomoże

Ale mozesz pokombinowaćz wyswietlaneim TOP, a szczerze po co ci te procesy? Z doświadczenia wiem ze nie należy naszego Serverka zbytnio takimi "glupotami" zaladowywac bo nei moze ssie skupic na tym co robi najlepiej... czyli server strony i dzieleniem łaczą. Mi z tego powidu wyswietlił kernel panic i skonczylo sie twardyum resetem o 4w nocy, teraz go nei przeciażam

Autor:  b0dzi0 [ czwartek, 10 sierpnia 2006, 16:52 ]
Tytuł: 

super skrypt wszystko działa cacy :)
takie jedno proste pytanie: jak zrobić by otrzymywana wiadomosc była porozdzielana (aby każdy wpis był w nowej linii), np tak:
| (proc: 38)
| (up: 32 dni 8: godzin)
| (freeRAM: 11 MB)
| (zajetySwap: 0 MB)
| (hda1: 3,3G zajete)
| (WP: 14.451 ms)
| (ap1: 2.144 ms 0 zagubione), u mnie to w jednym cigu jest wypisywane :P
Tak pozatym super skrypt, wlasnie wyjezdzam na wakacje i przyda mi sie takie cudo :)

Autor:  oset17 [ czwartek, 10 sierpnia 2006, 19:12 ]
Tytuł: 

Zobnacz w tym wątku:

http://forum.freesco.pl/viewtopic.php?t ... hlight=sms

Tu jest link sms ale to sie niczym nie rozni oprocz komendy do wysyłki, tutaj EKG a tam SMS

Albo spróbuj tez jak masz
Cytuj:
/usr/bin/ekg msg 5940042 "(proc: $procesy) (up: $up1 dni $up2 godziny) (freeRAM: $ram MB) (zajetySwap: $swap MB) (hda1: $hda1 zajete) (WP: $wp ms) (ap1: $ap1 ms $ap1_loss zagubione)"


To daj tak;
Cytuj:
/usr/bin/ekg msg 5940042
"(proc: $procesy)
(up: $up1 dni $up2 godziny)
(freeRAM: $ram MB)
(zajetySwap: $swap MB)
(hda1: $hda1 zajete)
(WP: $wp ms)
(ap1: $ap1 ms $ap1_loss zagubione)"



A propo mi tez sie szykuje wyjazd niedługo, wroce koło 30 i szykuje teraz obudowe do Servera z wbudowanym UPS'em, zdjęcia neidługo zamieszcze i dodam tutaj linka i sposob budowy przedstawie.

Autor:  horror [ czwartek, 10 sierpnia 2006, 19:20 ]
Tytuł: 

Aby w komunikatorach pod windowsa (nie wiem jak z kadu) ta czesc byla wyswietlania w roznych wersach nalezy wyedytowac go pod windowsem :P
albo dodac magiczny znak entera na koncu kazdej linijki

Wyglad Notatnik
Obrazek
Wyglad (systemy unixowe) NND:
Obrazek

Ps. Wyprzedziles mnie :P ale tak nie dzial :P (przynjamniej u mnie)

Autor:  oset17 [ czwartek, 10 sierpnia 2006, 19:28 ]
Tytuł: 

Nie działa bo to wszytsko sie zbiera w kupe i wysyła jako jedno ... ja juz wiecej nei wymysle jak to zrobic aby tak bylo

Autor:  b0dzi0 [ czwartek, 10 sierpnia 2006, 21:16 ]
Tytuł: 

jeszcze jedna rzecz: ciągle spada mi wartość freeRAM....
gdy tylko odpaliłem skrypt, było 11MB, po 4 godzinach jest tylko 4MB...
Dlaczego :?: od czasu właczenie skryptu nic nie robie na serwerze :?

Autor:  oset17 [ czwartek, 10 sierpnia 2006, 21:47 ]
Tytuł: 

A jak dawno włączyłeś Server?

Ja mma 128mb ramu i wolne mam cały czas około 2-6mb a gdyz włozylem kosc 256MB zostawiał mi po 6 godiznach pracy 12mb wolnego.

Morał z tego taki ze linux lubi sobie Ramu "podjadac"
Wię cdopuki Ci Swpa'u nei załapie jest wszystko OK

Autor:  b0dzi0 [ czwartek, 10 sierpnia 2006, 22:39 ]
Tytuł: 

moze i masz racje :) serwer właczyłem 32 dni temu :P wiec moze i być tak jak mówisz :)

Autor:  bartekh [ poniedziałek, 14 sierpnia 2006, 21:32 ]
Tytuł: 

Podczas uruchamiania EKG pokazuje mi taki błąd
: [/] [] ()
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback

:?
ale program działa i wysyła mi statsy na gg

Co mam zrobić/doinstalować, żeby nie pokazywało mi więcej tego błędu?

Autor:  oset17 [ piątek, 18 sierpnia 2006, 03:16 ]
Tytuł: 

Mhm ciekawe, ja sie z takim czyms nie spotkałem.

Daj polecenie (z lini poleceń):

/usr/bin/ekg msg (nr_gg) "TEST"

i napisz co będzie

jak nadal to bedzie to odinstaluj EKG i zainstaluj spowrotem

Strona 1 z 4 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/