Przejdź do treści

Monitoring usług – Uptime Kuma w AZURE

  • przez

Aby skutecznie monitorować własne usługi IT udostępnianie w Internecie, oprócz lokalnych mechanizmów weryfikacji wszystkich komponentów usługi, niezbędne jest także monitorowanie usług z zewnątrz, ze strony Internetu. Weryfikację taką można wykonywać manualnie z wykorzystaniem specjalnych stron internetowych. Przykładem takiego serwisu jest strona jest https://pl.hostadvice.com/tools/site-down-or-not/

Znacznie lepiej dla takich zastosowań skorzystać jednak ze specjalizowanej aplikacji, którą jest Uptime-Kuma. Uptime Kuma to open-source’owa aplikacja do monitorowania dostępności (uptime) serwerów i usług. Jest to lekka, łatwa w użyciu i elastyczna aplikacja, która pozwala użytkownikom monitorować różne rodzaje zasobów i natychmiastowo otrzymywać powiadomienia o problemach. Aplikacja Uptime-Kuma zostanie uruchomiona w chmurze Azure.

Wdrożenie infrastruktury

Do wdrożenia aplikacji Uptime-Kuma wykorzystam kod BICEP udostępniany na licencji MIT przez Yannick Zwijsen w repozytorium github: https://github.com/yzwijsen/deploy-uptime-kuma-azure/blob/main/README.md

Deploy kodu BICEP do chmury Azure wykonane zostało ze środowiska Visual Studio Code.

Aplikacja Uptime-Kuma uruchamiana jest jako kontener dockerowy (louislam/uptime-kuma:latest) w ramach zasobów udostępnianych przez Azure App Service – App Service Plan.

Początkowo wykorzystywany był plan B1 (1vcpu, 1,75GB), dodając jednak kolejne aplikacje przełączyłem plan na B2 (2vcpu i 3,5GB). Kod BICEP tworzy i łączy wymagane zasoby, między innymi FileShare na Storage Account, na którym przechowywane są trwałe dane kontenera.

Aplikacja wystawia WebUI na adresie: https://wapp-yistpr7jvzgr6.azurewebsites.net

Konfiguracja aplikacji

  1. Konfiguracja powiadomień – poprzez email
  2. Zdefiniowanie monitorowanych usług
    a. Określenie rodzaju usługi
    b. Podanie parametrów badanej usługi – adresy, porty, inne
    c. Określenie częstotliwości monitorowania usług
  3. Po skonfigurowaniu kilku monitorowanych usług, ekran aplikacji Uptime-Kuma wygląda tak jak na poniższym obrazku. Jedną z monitorowych usług jest Proxmox Backup Server (badana jest dostępność strony web). Dla tej usługi ustawiony jest tryb konserwacji w godzinach wyłączenia serwera. W tym okresie nie są wysyłane powiadomienia dot. niedostępności usługi

Schemat komponentów Azure

Poniżej przedstawiony jest schemat komponentów architektury Azure wykorzystanych do monitorowania usług IT z Internetu.