GuardX to nowy projekt mojego autorstwa, który ma na celu stworzenie zaawansowanego narzędzia umożliwiającego monitorowanie serwera WWW i innych usług. Bazując na doświadczeniu z modułami dla programu Monit, postanowiłem zaprojektować coś własnego, bardziej elastycznego i dopasowanego do specyficznych potrzeb.
Dlaczego powstał projekt GuardX?
Dotychczas, do monitorowania serwerów używałem Monit. Monit to zaawansowany program, ale z mojego punktu widzenia ma kilka ograniczeń. Od jakiegoś czasu też, tworzenie nowych, wydajnych modułów dla Monit staje się coraz bardziej czasochłonne i uciążliwe. Ponadto większość serwerów, którymi zarządzam, to niewielkie serwery VPS lub urządzenia takie jak Raspberry Pi. Dla takich środowisk kluczowe jest, aby monitoring działał wydajnie i nie obciążał zbytnio procesora.
GuardX ma rozwiązać te problemy, oferując lekki i elastyczny system monitorowania różnych usług, a w razie wystąpienia incydentu, odpowiednio reagować.
Najważniejsze założenia projektu
GuardX powstaje z myślą o wydajności i prostocie obsługi. Oto główne założenia tego projektu:
Wydajność i minimalne obciążenie CPU
Program oraz wszystkie moduły są tworzone w języku C++, co gwarantuje wysoką wydajność. Dzięki temu system monitorowania działa sprawnie nawet na słabszym sprzęcie.
Automatyczna instalacja i aktualizacja
GuardX będzie posiadał:
- Instalator, który skompiluje program i moduły pod konkretny procesor, skonfiguruje system i uruchomi GuardX jako usługę działającą w tle.
- Aktualizator, który automatycznie pobierze i wdroży najnowsze wersje programu oraz modułów.
- Deinstalator, usuwający wszystkie pliki i wpisy związane z GuardX.
Funkcjonalność zbliżona do Monit
GuardX umożliwi:
- Monitorowanie różnych parametrów systemu.
- Wyświetlanie statusów w konsoli linuksa oraz poprzez prostą stronę WWW. Bez możliwości zmiany ustawień przez przeglądarkę jednak (ze względów bezpieczeństwa).
- Wysyłkę komunikatów przez email
Wykorzystanie sztucznej inteligencji
GuardX wprowadzi między innymi funkcjonalności AI, takie jak np:
- Przewidywanie wzrostu obciążenia procesora (load).
- Ostrzeganie przed przekroczeniem ustalonych limitów.
- Inne
Prosta konfiguracja
Konfiguracja GuardX odbywa się za pomocą pliku config.ini, gdzie będzie można:
- Włączyć lub wyłączyć wybrane moduły.
- Określić interwały czasowe uruchamiania modułów. Zaczynając od 1sek, i z co 1 sekundowym interwałem.
- Nadać modułom własne nazwy, które będą wyświetlane w statusach.
Elastyczność modułów
Będziesz mógł korzystać z gotowych modułów lub uruchamiać własne, napisane w dowolnym języku programowania. GuardX uruchomi je w elastyczny sposób, dostosowany do Twoich potrzeb.
Co już działa w GuardX?
GuardX jest w zaawansowanym etapie rozwoju. Aktualnie dostępne funkcje to:
- Pełna funkcjonalność już istniejących modułów.
- Możliwość konfiguracji modułów (włączanie/wyłączanie, ustawienie interwałów czasowych).
- Przypisywanie własnych nazw modułom w pliku konfiguracyjnym.
- Wyświetlanie statusów w konsoli za pomocą komendy guardx status.
Co planuję jeszcze wdrożyć?
W planach między innymi mam:
- Wysyłanie alertów e-mail w przypadku wykrycia problemów.
- Dodanie kolejnych, przydatnych modułów.
- Dodanie mechanizmu i wdrożenie opcji włączania/wyłączania sztucznej inteligencji.
- Stworzenie prostego panelu WWW wyświetlającego statusy po zalogowaniu.
- Opracowanie instalatora i deinstalatora.
- Przeprowadzenie szczegółowych testów.
Kiedy GuardX będzie dostępny?
Program udostępnię do pobrania po zakończeniu prac nad brakującymi elementami.
Jeśli chcesz być na bieżąco, śledź postęp projektu tutaj.
Masz sugestie lub pytania? podziel się nimi tutaj.
GuardX to kompleksowe i wydajne narzędzie umożliwiające monitorowanie serwera WWW, które powstaje z myślą o elastyczności, wydajności i prostocie obsługi. Idealne dla niewielkich serwerów VPS i mikrokomputerów, takich jak Raspberry Pi.