- Uptime Kuma to narzędzie typu open source, które umożliwia monitorowanie dostępności usług za pomocą protokołów HTTP, TCP, DNS i Ping.
- Wdrożenie można łatwo przeprowadzić za pomocą kontenerów Docker lub Docker Compose, co gwarantuje trwałość danych na lokalnych woluminach.
- System integruje ponad 90 kanałów powiadomień, w tym Telegram i Discord, umożliwiające odbieranie alertów w czasie rzeczywistym.
Jeśli masz w domu mały serwer, NAS Niezależnie od tego, czy zarządzasz kilkoma stronami internetowymi, czy nie, docenisz spokój ducha wynikający z pewności, że wszystko działa poprawnie, bez konieczności sprawdzania co pięć minut. Czasami zakładamy, że skoro komputer jest włączony, usługa odpowiada, ale w rzeczywistości kontener może działać, podczas gdy aplikacja bazowa uległa awarii lub zawiesiła się, pozostawiając nas bez pomocy. Na szczęście mamy możliwość… Zainstaluj Uptime Kuma z Dockerem, aby monitorować swoje usługi i strony internetowe.
Uptime Kuma To perełka open source, która pozwala nam monitorować nasze usługi bez konieczności konfigurowania skomplikowanej infrastruktury korporacyjnej. To idealne rozwiązanie dla tych, którzy szukają czegoś bardziej zaawansowanego niż proste pingowanie, ale nie chcą się kłopotać konfiguracją Prometheusa ani płacić drogich miesięcznych abonamentów. Zasadniczo, to ochroniarz 24/7 dzięki czemu otrzymujemy powiadomienie na telefonie komórkowym, gdy tylko coś przestanie reagować.
Wymagania wstępne dotyczące wdrożenia
Zanim zaczniemy cokolwiek instalować, musimy przygotować grunt. Najważniejsze to mieć serwer, który ma Docker i Docker Compose są już operacyjneJeśli ich nie masz, możesz je szybko zainstalować w dystrybucjach takich jak Ubuntu czy Debian, korzystając z oficjalnego skryptu Dockera. Jeśli chodzi o zasoby, Uptime Kuma jest zaskakująco lekki; skromny VPS z 1 vCPU i 1 GB RAM-u w zupełności wystarczy, ponieważ system zazwyczaj zużywa około 200 MB pamięci RAM nawet przy stu aktywnych monitorach.
Kolejną kwestią do rozważenia jest przestrzeń dyskowa. Chociaż domyślna baza danych SQLite nie jest duża, jeśli chcesz przechowywać bardzo długą historię awarii, zalecam przydzielenie co najmniej 10 GB przestrzeni. Dodatkowo, jeśli planujesz uzyskiwać dostęp do panelu spoza sieci lokalnej, będziesz potrzebować… własna domena i odwrotny serwer proxy Jak Menedżer proxy Nginx aby zarządzać certyfikatami SSL i zapewnić bezpieczne połączenie.
Instalacja krok po kroku z Docker Compose
Najczystszym i najbardziej profesjonalnym sposobem konfiguracji Uptime Kuma jest użycie pliku YAML. Najpierw utwórz dedykowany folder, aby zachować porządek, na przykład w katalogu domowym, a następnie utwórz w nim plik. docker-compose.ymlTa metoda jest lepsza, ponieważ pozwala nam zarządzaj aktualizacjami i woluminami znacznie łatwiej niż za pomocą jednego polecenia.
Przykład zoptymalizowanej konfiguracji wyglądałby następująco:
usługi: uptime-kuma: obraz: louislam/uptime-kuma:2 nazwa_kontenera: uptime-kuma ponowne uruchomienie: chyba że zatrzymane porty: - "3001:3001" woluminy: - ./data:/app/data środowisko: - TZ=Europe/Madryt kontrola stanu: test: interwał: 60 s limit czasu: 30 s ponowne próby: 5
Po zapisaniu pliku wystarczy go uruchomić docker compose up -d Aby kontener uruchomił się w tle. Teraz wystarczy otworzyć przeglądarkę i wpisać adres IP serwera, a następnie port 3001. Pierwszą rzeczą, którą zobaczysz, będzie kreator utwórz użytkownika administratoraPamiętaj: wybierz silne hasło, ponieważ Uptime Kuma nie posiada prostego systemu odzyskiwania hasła, a jeśli je zgubisz, będziesz musiał ręcznie edytować bazę danych.
Szybka alternatywa: instalacja za pomocą Docker Run
Jeśli nie chcesz zajmować się plikami YAML i potrzebujesz natychmiastowego uruchomienia monitora, możesz skorzystać z opcji „one-line”. Uruchomienie jednego polecenia w terminalu spowoduje wdrożenie usługi. To polecenie tworzy kontener, przypisuje port 3001 i ustawia trwały wolumen zwany uptime-kuma aby nie utracić ustawień po ponownym uruchomieniu kontenera.
Polecenie będzie brzmiało: docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1Mimo że jest to szybsze rozwiązanie, należy pamiętać, że w środowiskach produkcyjnych o wiele wygodniej jest używać Compose. scentralizuj zarządzanie swoimi usługami.
Instalacja Uptime Kuma z Dockerem: konfiguracja początkowa i optymalizacja
Po wejściu do panelu nie twórz monitorów i nie kończ pracy. Musisz dostosować trzy kluczowe ustawienia. Po pierwsze, strefa czasowa w menu Ogólne; jeśli jej nie zmienisz, logi awarii będą wyświetlane w formacie UTC, a próba obliczenia czasu rzeczywistego doprowadzi Cię do szału. Po drugie, włącz uwierzytelnianie dwuskładnikowe (2FA) W sekcji bezpieczeństwa, ponieważ panel przechowuje poufne tokeny z Twoich powiadomień. Po trzecie, jeśli korzystasz z odwrotnego proxy, włącz opcję ufanie nagłówkom proxy tak aby system zapisał prawdziwy adres IP odwiedzającego, a nie adres serwera proxy.
Aby zapobiec nadmiernemu zużyciu zasobów serwera przez system, dostosuj interwały sprawdzania. Nie musisz monitorować usługi co 10 sekund, jeśli nie jest to krytyczne; interwał 60 sekund w zupełności wystarczy w większości przypadków. drastycznie zmniejsza obciążenie procesora i rozmiar bazy danych.
Rodzaje monitorów i alertów
Instalacja Uptime Kuma z Dockerem oferuje wiele korzyści. Możesz monitorować wszystko, od prostych stron internetowych korzystających z protokołu HTTP/HTTPS po… Konkretne porty TCP, zapytania DNS lub nawet status innych kontenerów Docker. Bardzo przydatną funkcją jest sprawdzanie słów kluczowych: zapobiega to sytuacji, w której monitor informuje, że wszystko jest w porządku, tylko dlatego, że strona zwraca kod 200, podczas gdy w rzeczywistości wyświetla niestandardową stronę błędu.
Aby system był użyteczny, potrzebujesz, aby Cię powiadamiał. Telegram to prawdopodobnie najwygodniejsza opcja. Wystarczy utworzyć bota z domeną @BotFather, uzyskać token i identyfikator czatu, a następnie skonfigurować go w panelu powiadomień. Discord również świetnie sprawdza się w przypadku webhooków, choć trzeba zachować ostrożność. limity szybkości przesyłania wiadomości Jeśli setki monitorów ulegają awarii jednocześnie, zwłaszcza jeśli Uptime Kuma nie wysyła powiadomień prawidłowo przez nasycenie.
Jeśli zarządzasz usługami dla innych osób, możesz tworzyć publiczne strony statusu. Umożliwiają one wyświetlanie dostępności usług za pośrednictwem zewnętrznego adresu URL, bez konieczności udostępniania panelu administracyjnego. Idealnie byłoby, gdybyś miał jedną stronę. strona publiczna dla klientów i drugi prywatny, służący do kontroli wewnętrznej za pomocą bardziej czułych monitorów.
Typowe błędy i konserwacja
Najpoważniejszym błędem popełnianym przez użytkowników jest zapominanie o kopiach zapasowych. Wszystkie ustawienia znajdują się w folderze /app/dataJeśli dysk ulegnie awarii lub przypadkowo usuniesz wolumin, utracisz całą historię i monitory. Zaprogramuj prosty skrypt, który wykona… codzienna kopia zapasowa tego katalogu do innej lokalizacji lub do chmury.
Kolejnym błędem jest brak włączenia trybu konserwacji przed ponownym uruchomieniem serwera. W przeciwnym razie dziennik zdarzeń będzie wypełniony fałszywymi awariami i… Otrzymasz mnóstwo alertów Niepotrzebne powiadomienia na telefonie. Aktywacja konserwacji wstrzymuje powiadomienia i utrzymuje historię w czystości podczas wykonywania zadań administracyjnych.
Instalacja Uptime Kuma z Dockerem zmienia sposób zarządzania dowolnym laboratorium domowym lub małą infrastrukturą, umożliwiając przejście od podejścia reaktywnego do proaktywnego. Łącząc lekkość kontenerów z możliwościami alertów w czasie rzeczywistym i elastycznością monitorowania wielu protokołów, zyskujesz pełną kontrolę nad dostępnością usług bez nadmiernej złożoności technicznej i kosztów.
Redaktor specjalizujący się w zagadnieniach technologii i Internetu z ponad dziesięcioletnim doświadczeniem w różnych mediach cyfrowych. Pracowałem jako redaktor i twórca treści dla firm z branży e-commerce, komunikacji, marketingu online i reklamy. Pisałem także na portalach poświęconych ekonomii, finansom i innym branżom. Moja praca jest także moją pasją. Teraz, poprzez moje artykuły w Tecnobits, staram się odkrywać wszystkie nowości i nowe możliwości, jakie świat technologii oferuje nam każdego dnia, aby poprawić nasze życie.