Usermonitor

Dokumentacja

Jak działa Usermonitor i jak podłączyć serwis WordPress.

1. Składniki systemu

2. Konto i podłączenie serwisu

  1. Załóż konto (login, e-mail, hasło) i potwierdź aplikację uwierzytelniającą kodem TOTP. W planie darmowym monitorujesz 1 serwis.
  2. W zakładce Services podaj adres serwisu i wygeneruj token instalacyjny. Token jest jednorazowy, ważny 7 dni i działa wyłącznie dla tego adresu.
  3. Zainstaluj wtyczkę Easy Post Counter w tym serwisie WordPress, wejdź w Ustawienia → Post Counter, wklej token i kliknij „Connect to monitor”.
  4. Serwis łączy się od razu — zatwierdzanie nie jest potrzebne, bo to Ty go zgłosiłeś. Serwis bez ważnego tokenu nie zostanie przyjęty.
  5. Opcjonalnie zainstaluj Usermonitor Admin Panel i ustaw dozwolone adresy IP.

Każde konto widzi tylko własne serwisy i zdarzenia; alerty e-mail trafiają na adres konta. Administrator systemu widzi wyłącznie dane konta (plan, liczba serwisów, aktywność), bez nazw, adresów i zdarzeń Twoich serwisów.

Services pokazuje ostatni potwierdzony stan Easy Post Counter i czas sprawdzenia. Monitor odpytuje serwis mniej więcej co minutę i weryfikuje podpis odpowiedzi na jednorazowe wyzwanie. Kontrola nie wymaga WP-Cron, crontaba ani odwiedzin na stronie. Wyłączenie i rozpoczęcie odinstalowania są dodatkowo zgłaszane przed zatrzymaniem wtyczki, o ile połączenie z monitorem działa. Usunięcie plików przez FTP jest wykrywane jako brak poprawnej odpowiedzi.

Nieudane kontrole przez co najmniej 3 minuty wywołują alarm w panelu, z dźwiękiem po jego włączeniu. Zdarzenie przerwy jest rejestrowane tylko raz; poprawna odpowiedź kasuje ostrzeżenie i umożliwia alarm przy kolejnej przerwie. Przyczyną może być wyłączenie lub usunięcie wtyczki, niedostępność serwisu albo blokada REST API. Nieudana kontrola nie potwierdza usunięcia. Awaryjne ostrzeżenie pojawia się również po ponad 3 godzinach bez raportów. Starsze wersje Easy Post Counter należy zaktualizować do 1.3.0, aby udostępniały endpoint kontroli. Istniejąca obsługa e-mail jest opcjonalna i wymaga skonfigurowanego odbiorcy; nie jest potrzebna do kontroli ani alarmów w panelu.

Stan „installed / active” potwierdza działającą wtyczkę, „inactive” oznacza zgłoszone wyłączenie, a „uninstalling” — rozpoczęcie odinstalowania, nie potwierdzenie zakończenia usuwania. „Not reporting” oznacza brak potwierdzenia działania. Wdrożenie monitora nie aktualizuje wtyczek automatycznie: nową wersję Easy Post Counter trzeba zainstalować osobno na każdym wybranym serwisie.

Easy Post Counter 1.4.0 wymaga połączenia HTTPS i obsługuje aktualizacje obu wtyczek. Pierwszą aktualizację konektora wykonaj przez przesłanie ZIP-a i zastąpienie obecnej wersji, bez odinstalowania — ustawienia i klucze pozostają zachowane. Kolejne wersje instaluj przez Wtyczki lub Kokpit → Aktualizacje. W ustawieniach obu wtyczek dostępny jest przycisk „Check plugin updates”. Sprawdzanie i pobieranie wymaga aktywnego konektora, zatwierdzonego serwisu i aktywnego konta w monitorze; archiwum jest weryfikowane sumą SHA-256. Bez konektora Adminpanel aktualizuje się ręcznie. Istniejące połączenie HTTP można jawnie przełączyć przyciskiem „Switch monitor URL to HTTPS”, zachowując klucze, jeżeli monitor obsługuje HTTPS pod tym samym adresem.

3. Monitorowane zdarzenia

Easy Post Counter 1.5.0 dodaje lokalne ustawienia Tracing exclusions w WordPress: Ustawienia → Post Counter. Zaznaczenie pola oznacza nie śledź. Możesz wyłączyć całe kategorie (użytkownicy, treści, metadane, media, wtyczki/motywy/ustawienia), typy wpisów albo konkretne klucze metadanych. Domyślnie nowe i istniejące instalacje zachowują dotychczasowe raportowanie do zapisania wykluczeń. Wykluczenia działają przed buforowaniem i wysyłaniem oraz usuwają pasujące zdarzenia z kolejki ponowień; nie usuwają wcześniejszych zdarzeń w panelu. Wyłączenie kategorii użytkowników lub ustawień ogranicza także odpowiadające im alarmy. Kontrole dostępności, heartbeat i sygnały wyłączenia samego konektora pozostają aktywne.

Discover available fields odczytuje wyłącznie nazwy typów wpisów i kluczy metadanych, bez wartości metadanych i historycznych treści. Jedno kliknięcie skanuje do 1000 wpisów i 1000 wierszy metadanych; Continue discovery przechodzi do następnej partii. Wyniki pozostają w tej instalacji WordPress. Listy pokazują do 400 nazw każda; dodatkowe wykluczenia można wpisać po jednej dokładnej nazwie w wierszu. Zapisz wykluczenia przed kolejnym skanowaniem. Nowe nazwy są nadal śledzone, jeżeli nie wykluczono ich kategorii lub typu wpisu. Skanowanie nie uruchamia się automatycznie przy otwarciu ustawień.

Logowanie

Użytkownicy

Wtyczki, motywy i pliki

Treści i ustawienia

Wykrywane są operacje korzystające z mechanizmów WordPress. Bezpośrednie zmiany w bazie danych z pominięciem hooków WordPress nie są rejestrowane. Ustawienia w tabeli opcji są monitorowane tylko w zakresie wymienionym powyżej, nie wszystkie opcje wtyczek.

4. Kolory i alerty

5. Panel

Raporty zadań pomijają zakończone zadania (Completed, Rejected, Partially completed), które nie mają zapisanej daty zakończenia. Pozostają one w historii zadań; daty nie są odtwarzane z pola ostatniej modyfikacji. Kolumna daty zakończenia w panelu raportu i PDF nosi nazwę Ended. Nowe i trwające zadania nadal mogą być raportowane bez daty zakończenia.

W Services wersja Easy Post Counter starsza od najnowszego ZIP-a dostępnego w Plugins jest oznaczona na czerwono wraz z numerem dostępnej aktualizacji. Jest to ostatnia zgłoszona wersja, nie odczyt plików WordPressa: odświeża ją poprawna podpisana odpowiedź kontroli dostępności lub heartbeat. Same zdarzenia aktywności nie odświeżają wersji. Osobny czas Health probe pokazuje ostatnią próbę kontroli; po ponad 3 minutach bez próby dla zatwierdzonego serwisu pojawia się ostrzeżenie o workerze. Wersja Adminpanel nie jest obecnie raportowana, więc jego stan aktywności nie potwierdza aktualności wersji.

Pod listą Events przycisk Download CSV pobiera wszystkie zdarzenia pasujące do bieżących filtrów serwisu, typu i użytkownika/IP, nie tylko widoczną stronę. Eksport obejmuje wyłącznie serwisy bieżącego konta, pełne szczegóły zdarzeń i czas ze strefą czasową. Plik UTF-8 można otworzyć w arkuszu kalkulacyjnym; potencjalne formuły w danych są zabezpieczone prefiksem apostrofu.

Na planszy Cluster board → Reports otwiera raport nad widokiem 3D. Wybierz klaster, maszynę i zakres dat (obie daty włącznie), a następnie Generate report. Raport pokazuje zadania istniejące w dowolnym momencie zakresu, także nieukończone, ich priorytet, stan, notatkę, daty i czas realizacji. Filtr maszyny obejmuje tylko zadania tej maszyny, nie zadania całego klastra. Time to finish to pełny czas od Take do zakończenia; Hours in range i suma obejmują tylko część tego czasu w wybranym zakresie, dla trwających zadań do chwili wygenerowania raportu. Są to godziny kalendarzowe, nie ewidencja pracy. Starsze zadania bez czasu Take pokazują brak danych i nie zwiększają sumy. Nowe zadania zachowują klaster z chwili utworzenia; starsze zadania maszyn korzystają z bieżącego przypisania, jeżeli jest dostępne. Download PDF pobiera bezpośrednio wielostronicowy dokument z nagłówkiem TillGreen Cluster Report {date_range}, tabelą i podsumowaniem. PDF powstaje lokalnie w przeglądarce jako obrazy stron, zachowuje polskie znaki, ale tekst nie jest przeszukiwalny; nie wymaga zewnętrznego serwisu ani nowej biblioteki.

Na planszy Cluster board przeciąganie w trybie View obraca kamerę, prawy przycisk przesuwa widok, a kółko myszy lub gest szczypania zmienia skalę. „Frame selection” centruje widok. W „Edit layout” przeciągnij terminal lub jego pozycję z listy na wolny kafelek przy mózgu, aby przypisać go do najbliższego klastra. Mózg można przesunąć niezależnie; terminale pozostają na swoich kafelkach i obracają ekrany w jego kierunku. Formularz położenia umożliwia także wpisanie współrzędnych i jawny wybór klastra bez przeciągania. „Save layout” zapisuje układ, a „Reload saved” wczytuje zapis po potwierdzeniu odrzucenia zmian. Równoległy zapis w innej karcie powoduje komunikat o konflikcie, nie nadpisanie danych.

Przewody są przygaszone przy poprawnym, bezczynnym połączeniu, świecą na niebiesko po odebraniu nowych raportów działań i są czerwone przy zgłoszonym wyłączeniu lub przerwie według progów z Services. Żółty oznacza oczekiwanie lub niepotwierdzony stan. Same kontrole dostępności nie animują ruchu. Dane odświeżają się co 10 sekund w widocznej karcie, a alerty bezpieczeństwa nadal obejmują całe konto. Panel działań pokazuje 30 ostatnich surowych raportów wybranej grupy lub serwisu oraz liczniki z 24 godzin, niezależnie od preferencji grupowania w Events. Usunięcie klastra przenosi terminale do innego klastra, nie usuwa serwisów. Jeśli WebGL 2 nie jest dostępny, formularze wyboru, działań i położenia pozostają dostępne. Plansza nie wymaga aktualizacji wtyczek.

Plansza ma jednolite, półprzezroczyste granatowe kafelki i granatowe tło, bez wzoru szachownicy. Wyższa rozdzielczość zachowuje pikselową estetykę 16-bitową. W „Edit layout” wybierz klaster i ustaw „Brain and terminal colour”: jego mózg i terminale otrzymują wspólny kolor, także po przeniesieniu serwisu do tej grupy. Kolory przewodów i diod stanu nadal oznaczają połączenie lub aktywność. Kolor zapisuje się przyciskiem „Save layout”.

Oś Y oznacza wysokość. W trybie „Edit layout” wybierz mózg lub terminal i użyj „Up +1” / „Down -1”, wpisz Y w formularzu lub użyj klawiszy strzałek góra/dół, gdy plansza ma fokus. Przeciąganie zachowuje wysokość, a wybór najbliższego klastra uwzględnia wszystkie trzy osie. Możesz ręcznie układać węzły w sfery, również poniżej podłogi; węzły mogą mieć te same X/Z na różnych wysokościach. Wszystkie osie przyjmują całkowite wartości od -128 do 128. Wysokość zapisuje „Save layout”; starsze układy otrzymują Y=0.

Nowe raporty dodają niebieski puls do terminala i mózgu klastra. Puls nie wygasa sam podczas otwartej sesji planszy: kliknięcie terminala i poprawne wczytanie działań kasuje jego dotychczasową aktywność, a wybór mózgu lub klastra kasuje aktywność jego członków. Nowe raporty ponownie włączają puls. Ukrycie karty nie kasuje pulsów; przeładowanie strony rozpoczyna nową sesję obserwacji. Przy ograniczeniu animacji pierścień pozostaje nieruchomy. Przerwane połączenie nadal ma czerwony przewód.

Pod widokiem 3D znajduje się panel „Tasks”. Wybierz mózg lub terminal, wpisz opis i kliknij „Add task” — zadanie otrzymuje stan New. „Take” zmienia go na Ongoing, a „Finish” na Completed. Ukończone zadania pozostają w zwijanej sekcji. New oznacza czerwony pulsujący punkt na ekranie terminala lub nad mózgiem, a Ongoing — półprzezroczystą sferę wokół obiektu. Oglądanie obiektu nie kończy zadania. Zadania klastra należą do mózgu, nie do wszystkich terminali. Zadania zapisują się od razu jako JSON, niezależnie od „Save layout”, i są prywatne dla konta; nowy klaster trzeba najpierw zapisać. „All clusters” pokazuje wszystkie zadania, także dla usuniętych obiektów. Historia jest zachowana przy zmianie nazwy, przeniesieniu i usunięciu obiektu. Konflikt zmian w innej karcie odświeża listę i wymaga ponowienia akcji. Przy ograniczeniu animacji czerwony punkt pozostaje nieruchomy.

6. Pomoc

Po płatności Billing weryfikuje sesję Checkout i bieżącą subskrypcję w Stripe; webhooki aktualizują także późniejsze zmiany planu. Przycisk „Cancel subscription” otwiera potwierdzenie anulowania w Stripe, a „Manage subscription & invoices” — zarządzanie i faktury. Anulowanie na koniec opłaconego okresu zachowuje plan do jego zakończenia. Jeśli weryfikacja zgłosi błąd, nie ponawiaj płatności — odśwież panel lub zgłoś problem.

Pytania zadasz przez formularz kontaktowy. Dane opisuje Polityka prywatności.

7. Kontrola dostępności na serwerze monitora

Administrator instalacji Usermonitor uruchamia jeden stale działający proces php /pełna/ścieżka/app/bin/check-monitor.php pod nadzorem menedżera usług (np. systemd lub Supervisor), z automatycznym restartem i startem po restarcie serwera. To jeden proces na serwerze monitora, nie cron na każdym WordPressie. Proces działa także przy zamkniętym panelu. Flaga --once wykonuje pojedynczą kontrolę diagnostyczną. Blokada pliku zapobiega uruchomieniu kilku workerów na tej samej bazie.

Przykładowa konfiguracja Supervisor jest dołączona do wdrożenia jako deploy/monitor-supervisor.conf; dostosuj ścieżkę PHP i katalog aplikacji do serwera, uruchom proces jako właściciel aplikacji i włącz Supervisor przy starcie systemu. Po wdrożeniu zmian zrestartuj worker, aby załadował nowy kod. Hosting musi umożliwiać stale działające procesy; bez uruchomionego workera aktywne kontrole nie działają.

Serwisy muszą mieć publiczny adres IPv4, standardowy port HTTP/HTTPS i dostępny endpoint /?rest_route=/epc/v1/health (w katalogu serwisu, jeśli WordPress działa w podkatalogu). Przekierowania i adresy sieci prywatnych nie są odpytywane. Kontrola nie przesyła publicznie listy administratorów ani kluczy. Opcjonalne zadania WP-Cron pozostają jako dodatkowe raporty, ale nie są wymagane do kontroli dostępności ani wysyłania zdarzeń.

Endpoint przyjmuje żądanie POST z JSON-em {"challenge":"0123456789abcdef0123456789abcdef0123456789abcdef"}. Monitor generuje nowe 48-znakowe wyzwanie szesnastkowe dla każdej kontroli. Odpowiedź zawiera challenge, state, plugin_version i signature; monitor sprawdza wyzwanie i podpis Ed25519 kluczem publicznym przypisanym do serwisu. Sama odpowiedź HTTP 200 nie wystarcza do uznania wtyczki za działającą.

Monitor próbuje wykryć aktualizację także wtedy, gdy zapisana wersja wtyczki jest starsza. Poprawna podpisana odpowiedź aktualizuje wersję i stan automatycznie. Nieudana próba wykrycia pokazuje błąd, ale nie uruchamia alarmu niedostępnego endpointu, dopóki wersja 1.3.0 lub nowsza nie zostanie potwierdzona. Jeśli po aktualizacji nadal widzisz „unknown”, sprawdź dostęp do trasy POST /epc/v1/health. Błąd HTTP 401 rest_forbidden oznacza blokadę REST API; dopuść tę konkretną trasę w ustawieniach zabezpieczeń serwisu.