Symulacja awarii strony internetowej
Symulacja awarii strony po stronie usługi monitorującej
Jedną z najprostszych metod symulacji awarii jest użycie opcji monitorowania treści strony. Polega to na skonfigurowaniu systemu monitorującego tak, aby sprawdzał obecność konkretnego tekstu na stronie. Jeśli system wykryje oczekiwaną frazę tekstu lub jej brak, potraktuje to jako awarię. Jest to szybka i łatwa metoda, która nie wymaga żadnych zmian po stronie serwera czy kodu strony.
Przykładowe ustawienie:
Na poniższym przykładzie dwie pierwszy frazy to frazy standardowo znajdujące się na stronie. Trzecia fraza została dodana testowo, aby celowo wywołać awarię strony i zweryfikować ustawienie monitoringu:

Po zakończeniu testu usuń testową frazę, aby przywrócić monitor do normalnego stanu.
Symulacja awarii strony po stronie serwera
Alternatywną metodą jest ograniczenie dostępności strony jedynie dla adresów IP, z których wykonywane są testy monitorujące. Można tego dokonać zarówno na poziomie konfiguracji serwera HTTP, jak i bezpośrednio w aplikacji. Dzięki temu możesz sprawdzić, czy system monitorujący poprawnie wykrywa problemy z dostępnością oraz czy powiadomienia docierają bez opóźnień.
Przykład konfiguracji dla Apache:
<Directory "/var/www/html">
Order allow,deny
Allow from all
Deny from 123.123.123.123 124.124.124.124
</Directory>
Przykład konfiguracji dla Nginx:
location / {
deny 123.123.123.123;
deny 124.124.124.124;
allow all;
}
Przykład w kodzie PHP:
$blocked_ips = ['123.123.123.123', '124.124.124.124'];
if (in_array($_SERVER['REMOTE_ADDR'], $blocked_ips)) {
header("HTTP/1.1 503 Service Unavailable");
echo "Strona tymczasowo niedostępna";
exit;
}
Przykład w Express.js:
const express = require('express');
const app = express();
const blockedIps = ['123.123.123.123', '124.124.124.124'];
app.use((req, res, next) => {
if (blockedIps.includes(req.ip)) {
res.status(503).send('Strona tymczasowo niedostępna');
} else {
next();
}
});
Aktualne adresy IP serwerów monitorujących Ping.pl znajdziesz na stronie: https://ping.pl/faq
Symulacja błędnie wykonanego procesu na stronie
Najprościej będzie jeżeli do procesu który chcesz przetestować dodasz krok który wiesz, że nie zostanie wykonany poprawnie, np. próba kliknięcia przycisku, który nie istnieje:

Krok 5-ty scenariusza to kliknięcie w element, który na stronie nie istnieje. Spowoduje to niemożliwość wykonania scenariusza, a tym samym wywoła jego awarię i wysłanie powiadomień.
Symulacja wygaśnięcia domeny lub certyfikatu
Przetestowanie monitoringu wygaśnięcia domeny lub certyfikatu jest nieco trudniejsze. Systemy monitorujące do sprawdzania daty wygaśnięcia domeny korzystają z zewnętrznych serwisów (np. WHOIS), które dostarczają informacje o statusie domen. Ponieważ są to niezależne źródła danych, nie ma możliwości ingerencji w ich zawartość, aby celowo zmienić datę wygaśnięcia wybranej domeny.
To, co możemy natomiast zrobić, to na czas testu monitoringu tymczasowo zmienić monitorowaną domenę na taką, o której wiemy, że wkrótce wygaśnie. Jak znaleźć taką domenę? Na przykład na stronie https://www.addhost.pl/domeny/przechwytywanie-domen/lista-domen można wyszukać domeny, które są bliskie terminu wygaśnięcia. Wybierz domenę, która wygaśnie za kilka dni (np. za 5), i ustaw ją tymczasowo jako monitorowaną. Powinieneś wówczas otrzymać ostrzeżenia o zbliżającym się terminie jej wygaśnięcia.
Pamiętaj jednak, aby podczas testów na bieżąco sprawdzać, czy wybrana domena nie została przedłużona - jeśli tak się stanie, wybierz kolejną domenę do testu.
Jeżeli chodzi o certyfikat, możesz postąpić podobnie jak w przypadku domeny - na czas testu ustaw jako monitorowaną taką stronę, której certyfikat wkrótce wygaśnie. Możesz również skorzystać z serwisu https://badssl.com/, który udostępnia specjalnie przygotowane strony z nieprawidłowymi certyfikatami (np. wygasłymi, samopodpisanymi, odwołanymi). Wystarczy, że w monitorze ustawisz jedną z tych stron jako testową, aby sprawdzić, czy system monitorujący prawidłowo wykryje problem z certyfikatem.