Skocz do zawartości
NetMat

Monitoring serwerów

Polecane posty

Cześć wszystkim,

 

Piszę swój mały skrypt w bash'u który ma za zadanie monitorowanie moich serwerów, i teraz chcę stworzyć funkcje która gdy jakiś serwer będzie nieaktywny będzie otwierała pewną stronę, co do komend myślałem nad xdg-open albo python -mwebbrowser, strona powinna być otwarta przez max 10s, link do strony będzie coś w stylu :

 

 

Jak myślicie, jak to zrobić ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Spoofy

Określ - monitorowanie serwerów w stylu całej maszyny czy danych usług?
Może coś w stylu :
#!/bin/bash
ping $serwer1 if <nie ma odpowiedzi>; then curl <jakaś_strona>

Edit: apropos python webbrowser przydatna będzie dokumentacja > https://docs.python.org/2/library/webbrowser.html

Edytowano przez Spoofy (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Albo bezpośrednio spod systemu php adreswww.pl?awaria=jaciekrece?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tzn jeżeli masz postawionego zabbixa i używasz go do monitoringu to oparłbym to na nim, bo w końcu nie na samej dostępności się monitoring serwera kończy.

Jeżeli chodzi o monitorowanie stron to:
https://www.zabbix.com/documentation/2.0/manual/web_monitoring
Jeżeli chodzi o monitorowanie dostępności po np. ICMP ping to jeszcze prościej, siedzą gotowe triggery w templates

Dorzucasz remote code execution z np. curlem, który otwiera podaną stronę w actions:

https://www.zabbix.com/documentation/2.0/manual/config/notifications/action

Jeżeli koniecznie z basha to w zależności od tego jak chcesz to sprawdzać, ale oskryptowanie kodów HTTP trochę Ci zajmie czasu.
Przykładowo możesz to tak zrobić:

#!/bin/sh

check_http(){
echo http: `curl -Is http://$1 | head -n 1 | grep -o '[0-9][0-9][0-9]'`
}
check_https(){
echo https: `curl -Is https://$1 | head -n 1 | grep -o '[0-9][0-9][0-9]'`
}

check_http $1
check_https $1

OUT:

[root@da02 ~]# ./header.sh www.google.pl
http: 200
https: 200

No dalej interesujące kody odpowiedzi obrabiasz sobie if'em.

 

 

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przy niedostępności maszyn osobiście sprawdzam ping i połączenie SSH. Wszystko za pomocą CRON'a bo wtedy mogę sobie fajnie działać na aplikacjach np. wysłanie SMS.

Nie wiem może przyda Ci się moje drugie rozwiązanie do zmiany statusów akcji.

 

wget -O /dev/null ' . URL . '/include/action/check.php?id=' . $serverid . ' >/dev/null 2>&1;

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×