Monitoring strony
Poniedziałek, listopad 30th, 2009Aby monitorować serwis www możemy skorzystać z wielu płatnych serwisów ale możemy tez sami napisać odpowiedni program który bedzie to za nas robił.
Ciekawym sposobem na monitorowanie strony www czy też innych serwisów internetowych jest metoda polegająca na wykorzystywaniu PHP i Crona. Wystarczy napisać skrypt który będzie co jakiś czas uruchamiany i będzie miał on za zadanie monitorować konkretną usługę. Aby tego dokonać potrzebujemy mieć na serwerze zainstalowany PHPCLI jest to interfejs do PHP oraz oczywiście crona. Skrypt możemy napisać w dowolnym edytorze czy to pod Windowsem czy tez pod Linuksem. Jest jednak kilka szczegółów przy pisaniu programu pod PHP CLI. Najważniejszy jest fakt ze skrypty te nie podlegają ograniczeniu czasowemu w przeciwieństwie do tych które są wykonywane na stronach www. W ten sposób możemy napisać skrypt który będzie się wykonywał znacznie dłużej od tych na stronie które są wykonywane przez Apache. W ten sposób możemy napisać skrypt który będzie robił beckup na bazie itd. Podobnie inaczej wyświetla się wyniki linie należy kończyć znacznikiem \n. Podczas uruchamiania programów tego poziomu możemy wykorzystać dwie zmienne które sa dla nas udostępnione. $argc i $argv. Pierwsza z nich przechowuje liczbe poleceń a druga jest tablica która zawiera wszystkie wpisane elementy. Monitoring www najlepiej oprzeć o sprawdzenie czy na stronie www znajduje się określony ciąg znaków. Za pomocą tego programu będziemy mogli pilnować różnych serwisów. Jest to znacznie lepsza metoda niż sprawdzanie pingów czy też czy serwer nasłuchuje na porcie 80. Wybieramy tekst stały na stronie i wpisujemy do naszego skryptu.
Na początku program sprawdza czy zostały podane wszystkie argumenty, jesli tak nie jest to zostanie wyświetlony odpowiedni komunikat. Następnie pobieramy dwa elementy czyli ciag znaków jaki ma byc na badanej stronie i adres strony.
$marker=0; //definicja zmiennych początkowych
if ($arc!3) {
printf (”nie podano wszystkich niezbędnych wartości”);
}
Następnie za pomocą funkcji fopen pobieramy dane z pliku, jednocześnie sprawdzamy czy znajduje sie tam odpowiedni ciąg.
$url=sprintf(http://%s”,$argv[1]);
Następnie łączymy się z wybraną stroną www
if (!fp=fopen($url,”r”)){
printf (”nie można sie połączyć”);
exit();
Warto też stworzyć kod który zapisze do pliku wyniki działań naszego monitora. Gdy nasz program jest już gotowy musimy ustawić crona tak by uruchamiał sie cyklicznie, najmniejsza jednostką jest jedna minuta.