Monitoring z zewnątrz, którym steruje Twój pipeline
AlertSleep sprawdza Twoje publiczne endpointy, porty, certyfikaty i zadania cykliczne spoza Twojej sieci, potwierdza awarię, zanim kogokolwiek obudzi, i przyjmuje polecenia z CI przez zwykłe REST API. Na serwerach nic nie instalujesz.
- Sprawdzenie co 60 sekund
- Okna serwisowe z CI
- SMS-y i połączenia telefoniczne w cenie
# .github/workflows/deploy.yml
- name: Mute AlertSleep during the deploy
env:
ALERTSLEEP_TOKEN: ${{ secrets.ALERTSLEEP_TOKEN }}
MONITOR_ID: ${{ vars.ALERTSLEEP_MONITOR_ID }}
run: |
curl -fsS -X POST https://api.alertsleep.com/public/v1/maintenance-windows \
-H "AuthToken: $ALERTSLEEP_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"title\":\"Deploy ${GITHUB_SHA::7}\",
\"starts_at\":\"$(date -u +%FT%TZ)\",
\"ends_at\":\"$(date -u -d '+20 min' +%FT%TZ)\",
\"monitor_ids\":[\"$MONITOR_ID\"]}"
Co możesz monitorować
Wszystko, co jest osiągalne z internetu i od czego zależą Twoi użytkownicy albo Twoje zadania.
Steruj z pipeline'u
Żadnej wtyczki do instalowania i aktualizowania: każdy krok to jedno zapytanie HTTP.
Monitoruj nową usługę
Po pierwszym wdrożeniu usługi utwórz jej monitor w tym samym jobie i zachowaj zwrócone id na kolejne kroki.
# after a new service is deployed: watch its health endpoint
curl -fsS -X POST https://api.alertsleep.com/public/v1/monitors \
-H "AuthToken: $ALERTSLEEP_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"friendly_name\":\"$SERVICE (prod)\",
\"url\":\"https://$SERVICE.example.com/healthz\",
\"type\":\"http\",\"interval_seconds\":60}" \
| jq -r .monitor.idWyłącz serwer z ruchu
Wstrzymaj jego monitory na czas drenowania albo przebudowy i wznów je, gdy serwer wróci. Wstrzymany monitor nie wysyła alertów.
# taking a server out of service: stop checking it
curl -fsS -X PUT https://api.alertsleep.com/public/v1/monitors/$MONITOR_ID \
-H "AuthToken: $ALERTSLEEP_TOKEN" \
-H "Content-Type: application/json" \
-d '{"status": "paused"}'
# back in service
curl -fsS -X PUT https://api.alertsleep.com/public/v1/monitors/$MONITOR_ID \
-H "AuthToken: $ALERTSLEEP_TOKEN" \
-H "Content-Type: application/json" \
-d '{"status": "up"}'Udowodnij, że backup się wykonał
Zgłoś start, sukces albo kod wyjścia. Przebieg, który nie wystartuje, nie skończy się albo zakończy błędem, oznacza e-mail.
#!/usr/bin/env bash
# nightly backup: report the start, the success or the exit code
set -o pipefail
PING=https://api.alertsleep.com/v1/ping/YOUR-TOKEN
curl -fsS "$PING/start"
if pg_dump "$DATABASE_URL" | gzip > /backups/db.sql.gz; then
curl -fsS "$PING"
else
curl -fsS "$PING/fail" -d exit_code=$? -d message="pg_dump failed"
fiPubliczne API pod /public/v1, z tokenem API w nagłówku AuthToken, do 500 zapytań na minutę na token. Okno serwisowe trwa maksymalnie 24 godziny, więc pipeline, który padnie w połowie, nie wyciszy Twoich monitorów na zawsze. Więcej przykładów dla programistów
Mniej fałszywych alarmów o 3 w nocy
Alert, który okazuje się niczym, uczy ignorować następny.
Potwierdzenie z drugiej lokalizacji
Kolejne nieudane sprawdzenia
Okna serwisowe
Własny timeout
Kanały dla każdego monitora
Wiadomość, gdy jest po wszystkim
Dokąd trafiają alerty
Każdy kanał włączony w monitorze dostaje alert w tym samym momencie.
- Alert mówi, co zawiodło: kod statusu, timeout, błąd DNS, połączenia lub TLS albo brakujące słowo kluczowe.
- Webhook wysyła JSON przy monitor.down, monitor.up i zdarzeniach certyfikatu, podpisany HMAC-SHA256, gdy ustawisz sekret.
- SMS-y i połączenia telefoniczne są w cenie planu, od $59 rocznie, jako miesięczny limit, bez dokupowania pakietów kredytów.
- Połączenia telefoniczne i SMS-y mogą być po angielsku, niemiecku, francusku, hiszpańsku, polsku albo czesku.
To Twój stack czy dostawca?
Sprawdź usługi chmurowe, hostingowe i deweloperskie, na których stoi Twoja infrastruktura. Każda strona pokazuje nasze własne sprawdzenia i oficjalne incydenty dostawcy.
Czym AlertSleep nie jest
Sprawdź, zanim założysz konto.
- Sprawdza z zewnątrz, więc dociera tylko do publicznych adresów. Usług w sieci prywatnej albo za VPN nie da się monitorować i nie ma agenta do zainstalowania.
- Zapisuje dostępność i czas odpowiedzi, nie metryki: bez CPU i pamięci, bez wydajności zapytań, pul połączeń czy opóźnienia replikacji, bez logów i trace'ów.
- Niczego sam nie wykrywa. Nie ma integracji z Kubernetes; każdy endpoint czy port to monitor, który tworzysz w panelu albo przez API.
- Nie ma wtyczek do CI, providera Terraform ani konfiguracji w YAML. curl w kroku pipeline'u zrobi to samo.
- Nie ma integracji z PagerDuty ani Opsgenie ani rotacji dyżurów. Ogólny webhook możesz skierować do narzędzia, które przyjmuje przychodzące webhooki.
- Sprawdzenie portu to połączenie TCP i nic więcej; UDP nie jest obsługiwane.
Najczęściej Zadawane Pytania
Jak AlertSleep wpasowuje się w pipeline CI/CD?
Jak uniknąć alertów w trakcie deployu?
Czy AlertSleep może monitorować Kubernetes?
Czy mogę monitorować bazy danych i usługi wewnętrzne?
Czy AlertSleep integruje się z PagerDuty albo Opsgenie?
Jak szybko dowiem się o awarii?
Czy jest provider Terraform albo konfiguracja w YAML?
Czy mogę wypróbować za darmo?
Weź pod obserwację pierwszy endpoint
Dodaj go w panelu albo jednym wywołaniem API, a potem wycisz z najbliższego deployu. Wypróbuj za darmo przez 14 dni, bez karty.