Jak skonfigurować narzędzie do monitorowania czasu pracy w systemie Linux za pomocą Uptime Kuma

Jak skonfigurować narzędzie do monitorowania czasu pracy w systemie Linux za pomocą Uptime Kuma

Uptime Kuma to proste, ale potężne narzędzie do monitorowania czasu pracy. Umożliwia śledzenie każdej usługi hostowanej w sieci lokalnej lub w szerszym Internecie.

W tym artykule dowiesz się, jak zainstalować i wdrożyć Uptime Kuma w sieci lokalnej przy użyciu Ubuntu i Dockera. Pokażemy Ci również, jak dostosować instancję Uptime Kuma do wysyłania powiadomień o stanie do Telegramu.

Dlaczego warto korzystać z Uptime Kuma?

Uptime Kuma może śledzić i pingować serwery internetowe, a także sprawdzać stan kontenerów Docker. To sprawia, że ​​Uptime Kuma jest idealnym, kompleksowym portalem internetowym dla wszystkich usług sieciowych.

Jedną z największych zalet Uptime Kuma jest to, że domyślnie jest wyposażony w solidny system powiadomień. Oznacza to, że możesz ustawić monitor czasu pracy tak, aby automatycznie wysyłał wiadomość różnymi kanałami, gdy tylko wykryje anomalię.

Zrzut ekranu przedstawiający działającą instancję Uptime Kuma.

Instalowanie Uptime Kumy

Uzyskiwanie Dockera i Docker Compose

Najpierw pobierz klucz podpisywania GPG dla repozytoriów Docker i Docker Compose:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Utwórz nowy plik repozytorium dla Dockera w „/etc/apt/sources.list.d/”

sudo nano /etc/apt/sources.list.d/docker.list

Wklej następujący wiersz kodu do nowego pliku repozytorium:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Zaktualizuj i uaktualnij repozytorium pakietów dla swojego systemu Ubuntu:

sudo apt update && sudo apt upgrade

Zainstaluj pakiety Docker i Docker Compose wraz z ich zależnościami:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git

Upewnij się, że aktualnie uruchomiony użytkownik ma odpowiednie uprawnienia do uruchamiania Dockera i Docker Compose:

sudo usermod -aG docker ramces

Zdobywanie i budowanie Kumy Uptime

Utwórz nowy katalog dla kontenera Docker Uptime Kuma. Będzie to zawierać plik przepisu dla Twojej instancji:

mkdir uptime-kuma && cd. /uptime-kuma

Będąc w środku, utwórz nowy plik „docker-compose.yml”, używając swojego ulubionego edytora tekstu:

nano. /docker-compose.yml

Wklej następujący blok kodu do nowego pliku Compose:

---
version: "3.8"
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
volumes:
- uptime-kuma:/app/data
ports:
- 3001:3001
restart: always
volumes:
uptime-kuma: null

Zbuduj kontenery Docker dla swojej nowej instancji Uptime Kuma:

sudo docker compose up -d

Tworzenie zwrotnego proxy dla Uptime Kuma przy użyciu Nginx

Utworzymy odwrotne proxy w Nginx , abyś mógł uzyskać dostęp do Uptime Kuma pod publicznie dostępnym adresem URL.

Utwórz nowy plik konfiguracyjny witryny Nginx, używając swojego ulubionego edytora tekstu:

sudo nano /etc/nginx/sites-available/uptimekuma

Wpisz następujący blok kodu w pliku konfiguracyjnym nowej witryny:

server {

server_name uptime.myvpsserver.top;


location / {
proxy_pass http://127.0.0.1:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}}

Połącz plik konfiguracyjny swojej witryny z folderu „dostępne witryny” Nginx z katalogiem „obsługiwane witryny”:

sudo ln -s /etc/nginx/sites-available/uptimekuma /etc/nginx/sites-enabled

Uruchom ponownie demona serwera Nginx, aby zastosować nowe ustawienia:

sudo systemctl restart nginx

Instalacja certyfikatu SSL

Na początek musisz upewnić się, że w systemie działa podstawowy pakiet Snap:

sudo snap install core

Zainstaluj zatrzask dla certbota Electronic Frontier Foundation. Jest to małe narzędzie, które może automatycznie zażądać i utrzymać certyfikat SSL Twojego zwrotnego proxy:

sudo snap install certbot --classic

Sprawdź, czy certbot działa poprawnie, rejestrując nową instalację certbota w EFF:

sudo certbot register --agree-tos -m ramces@email.invalid

Poproś o nowy certyfikat SSL dla swojego nowego zwrotnego proxy:

sudo certbot --nginx -d uptime.myvpsserver.top

Konfigurowanie Uptime Kuma i dodawanie monitorów

Sprawdź, czy instalacja Uptime Kuma działa poprawnie na odwrotnym serwerze proxy, przechodząc do jej adresu w przeglądarce internetowej.

Zrzut ekranu przedstawiający domyślną stronę docelową Uptime Kuma.

Wypełnij formularz danymi nowego konta administratora, a następnie kliknij „Utwórz”, aby przejść do swojej instancji.

Zrzut ekranu przedstawiający dane administratora nowej instancji.

Kliknij przycisk „Dodaj nowy monitor” w lewym górnym rogu strony.

Zrzut ekranu przedstawiający

Spowoduje to otwarcie nowego podokna na bieżącej stronie, w którym możesz określić typ usługi, którą chcesz monitorować. Na przykład zmiana wartości „Typ monitora” z „HTTP(S)” na „Port TCP” spowoduje utworzenie monitora, który sprawdzi, czy określony port w urządzeniu jest aktualnie otwarty.

Zrzut ekranu przedstawiający różne dostępne typy monitorów.

Podaj szczegóły maszyny, którą chcesz monitorować.

Przewiń w dół strony, a następnie kliknij „Zapisz”, aby uruchomić nowy monitor.

Zrzut ekranu pokazujący wszystkie szczegóły prostego monitora sprawdzania portów.

Konfigurowanie powiadomień zewnętrznych dla Uptime Kuma

Przejdź do strony głównej swojej instancji Uptime Kuma i kliknij ikonę użytkownika w prawym górnym rogu strony.

Zrzut ekranu przedstawiający plakietkę ikony użytkownika w prawym górnym rogu ekranu.

Kliknij opcję „Ustawienia” w menu rozwijanym strony.

Zrzut ekranu przedstawiający opcję Ustawienia w menu kontekstowym plakietki użytkownika.

W nowym podoknie strony wybierz kategorię „Powiadomienia”.

Zrzut ekranu przedstawiający kategorię Powiadomienia.

Tworzenie usługi powiadomień telegramowych

Kliknij przycisk „Powiadomienie o konfiguracji”. Domyślnie wyświetli się małe okno, w którym możesz połączyć się i utworzyć bota powiadamiającego przy użyciu konta Telegram.

Podaj nazwę nowego alertu powiadomienia, a następnie kliknij łącze BotFather w polu tekstowym „Token bota”.

Zrzut ekranu przedstawiający łącze Telegram BotFather.

Kliknij przycisk „Wyślij wiadomość” na stronie Telegramu BotFather.

Zrzut ekranu przedstawiający początkowy monit dla BotFather.

Otworzy się nowe okno czatu, w którym możesz użyć BotFather do stworzenia bota powiadamiającego. Wpisz „/newbot” w wierszu polecenia, a następnie naciśnij Enter.

Podaj nazwę bota, który łączysz z instancją Uptime Kuma.

Wpisz odpowiednią nazwę użytkownika dla swojego nowego bota powiadamiającego. Należy pamiętać, że w tym przypadku BotFather nie akceptuje żadnych znaków specjalnych poza podkreśleniem (_).

Kliknij tekst podświetlony przez BotFather, aby skopiować go do schowka.

Zrzut ekranu przedstawiający unikalny token Twojego nowego bota powiadamiającego.

Sprawdź, czy Twój nowy bot działa poprawnie, sprawdzając jego nazwę użytkownika i rozpoczynając z nim rozmowę.

Zrzut ekranu przedstawiający początkową historię rozmów z nowym botem.

Wróć do instancji Uptime Kuma, a następnie wklej token prywatnego bota w polu tekstowym „Token bota”.

Kliknij przycisk „Automatyczne pobieranie” pod polem tekstowym „ID czatu”.

Zrzut ekranu przedstawiający przycisk Auto Get.

Przewiń w dół okna Uptime Kuma, a następnie kliknij „Test”, aby sprawdzić, czy Uptime Kuma może komunikować się z Twoim nowym botem.

Zrzut ekranu przedstawiający działającego bota Uptime Kuma Telegram.

Kliknij „Zapisz”, aby zatwierdzić zmiany w Uptime Kuma.

Hostowanie prostego demona stanu usług w Dockerze to tylko wierzchołek góry lodowej, jeśli chodzi o wdrażanie kontenerowych usług internetowych. Dowiedz się, jak możesz hostować własne biuro w chmurze za pomocą ownCloud, a także uruchomić własny Pastebin za pomocą Stikked .

Źródło obrazu: Boitulmelo za pośrednictwem Unsplash (tło) Github (logo). Wszystkie zmiany i zrzuty ekranu wykonał Ramces Red.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *