47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
# Host checker
|
|
|
|
Prosty monitor dostępności hostów przez HTTP albo ICMP. Wymaga Python 3.10+ i nie korzysta z dodatkowych pakietów.
|
|
|
|
Wersja: `0.0.1`
|
|
|
|
## Aplikacja graficzna
|
|
|
|
Uruchom:
|
|
|
|
```bash
|
|
python3 app.py
|
|
```
|
|
|
|
Aplikacja pozwala dodawać, aktualizować i usuwać hosty, wybierać metodę `HTTP`/`ICMP` oraz ustawić osobny interwał i timeout. Kliknięcie hosta na liście uzupełnia formularz jego ustawieniami. Konfiguracja jest automatycznie zapisywana w pliku `hosts.json` obok aplikacji. Tabela pokazuje bieżący status, interwał, liczbę testów, liczbę odpowiedzi OK/FAIL, procent dostępności i średni czas odpowiedzi.
|
|
|
|
Przycisk „Uruchom monitoring” rozpoczyna cykliczne sprawdzanie wszystkich zapisanych hostów. Wyniki są zbierane równolegle, więc wolny host nie blokuje pozostałych.
|
|
|
|
## Przykłady
|
|
|
|
Jeden test HTTP:
|
|
|
|
```bash
|
|
python3 host_checker.py https://example.com --once
|
|
```
|
|
|
|
Monitorowanie hostów przez ICMP co 5 sekund:
|
|
|
|
```bash
|
|
python3 host_checker.py 192.168.1.1 router.local -m icmp -i 5
|
|
```
|
|
|
|
Lista hostów z pliku:
|
|
|
|
```text
|
|
# komentarze są ignorowane
|
|
https://example.com
|
|
https://example.org/health
|
|
192.168.1.1
|
|
```
|
|
|
|
```bash
|
|
python3 host_checker.py --file hosts.txt -m http --timeout 2
|
|
```
|
|
|
|
Kod wyjścia przy `--once` wynosi `0`, jeśli wszystkie testy się powiodły, albo `1`, gdy przynajmniej jeden host jest niedostępny. W przypadku ICMP system musi mieć dostępny program `ping`; na niektórych systemach wymagane są dodatkowe uprawnienia.
|