Moduł Magento 2 · integracja od środka

Sklep pokazuje wczorajsze ceny.
I ani jednego błędu.

Nieaktualny indeks nie wywala Magento. Sklep chodzi, tylko listingi, ceny i stany magazynowe pochodzą sprzed przeliczenia. Równie cicho pada cron, od którego zależą maile o zamówieniach, reguły cenowe i sprzątanie koszyków. Moduł czyta jedno i drugie u źródła.

Wymagania: Magento 2.4 i wyżej, PHP 8.1 i wyżej

Sprawny sklep to nie to samo, co sklep z aktualnymi danymi.

Trzy sytuacje przy w pełni sprawnej stronie. Sonda pukająca z internetu nie ma jak żadnej z nich zobaczyć.

Indeksy są nieaktualne.

Sklep działa normalnie i pokazuje kupującym wczorajsze ceny oraz stany magazynowe. Żaden monitoring z zewnątrz nie ma jak odróżnić tego od stanu poprawnego.

Cron przestał kończyć zadania.

Bez niego nie wychodzą maile o zamówieniach, nie wchodzą reguły cenowe i nie sprzątają się koszyki. Sklep przez cały ten czas przyjmuje ruch.

Padła wyszukiwarka.

W Magento 2.4 bez działającego klastra wyszukiwarki przestają działać wyszukiwanie i listingi kategorii, czyli sprzedaż — choć strona główna odpowiada jak zawsze.

Co czytamy przy każdym sprawdzeniu.

Domyślnie co minutę. Każdy parametr ma własny stan i własny czas odpowiedzi, więc w panelu widać nie tyle „coś nie działa”, ile co dokładnie stanęło.

  • Indeksy sklepu

    Które indeksy są nieaktualne i od kiedy.

  • Zadania cykliczne (cron)

    Kiedy ostatnie zadanie skończyło się powodzeniem oraz ile było błędów i pominięć.

  • Wyszukiwarka (Elasticsearch / OpenSearch)

    Stan klastra, od którego zależą wyszukiwanie i listingi kategorii.

  • Ścieżka zakupowa

    Czy każdy włączony widok sklepu ma czynną metodę płatności i dostawy.

  • Baza danych

    Zapytanie testowe przy każdym odczycie, razem z czasem odpowiedzi.

  • Pamięć podręczna aplikacji (Redis / plik)

    Zapis i odczyt klucza kontrolnego.

  • Miejsce na dysku

    Zapisywalność katalogów var, pub/media i generated, rozmiar instalacji i zajętość limitu konta, o ile hosting go pokazuje.

  • Wysyłka e-mail (SMTP)

    Połączenie z serwerem poczty. Poczty wysyłanej przez moduł innego producenta stąd nie widać.

  • Kolejki wiadomościgdy tego używasz

    Zaległości w kolejkach trzymanych w bazie. Sklepu na RabbitMQ tym nie zmierzymy i wtedy parametr się nie pojawia.

Higiena bezpieczeństwa, raz na dobę.

To nie jest skanowanie w poszukiwaniu złośliwego oprogramowania i nie udajemy, że nim jest. Sprawdzamy ustawienia, które najczęściej zostają po wdrożeniu, i przy każdym mówimy, jak ma wyglądać docelowo.

  • Konta w panelu

    Ile aktywnych kont ma dostęp do zamówień i cen oraz czy skład się zmienił.

  • Adres panelu i klucz w adresach

    Czy panel nie stoi pod domyślnym /admin i czy jego odnośniki są zabezpieczone kluczem.

  • Logowanie dwuskładnikowe (2FA)

    Czy moduł, który Magento daje z pudełka, nie został wyłączony.

  • Tryb pracy aplikacji

    Czy sklep chodzi w trybie produkcyjnym. Tryb deweloperski pokazuje wnętrze aplikacji i kilkukrotnie spowalnia sklep.

  • Klucz szyfrujący

    Czy klucz z app/etc/env.php jest własny i dość długi. To nim zaszyfrowane są dane bramek płatniczych.

  • Uprawnienia plików i katalogów

    Czy env.php i config.php oraz var, pub/media i generated nie stoją otworem.

  • Zaległe aktualizacje

    Ile pakietów ma nowsze wersje. Same liczby, bez nazw.

Instalacja.

Wszystko po Twojej stronie. Haseł do serwera ani dostępu do panelu nam nie dajesz.

  1. 1Rozpakuj paczkę do app/code/Calmfox/Watch i włącz moduł.
  2. 2W trybie produkcyjnym uruchom jeszcze bin/magento setup:di:compile.
  3. 3W panelu sklepu otwórz Calmfox Watch w pasku menu i kliknij „Połącz przez Calmfox Watch”.
Polecenia, wymagania i nietypowe wdrożenia: katalog integracji ›
mkdir -p app/code/Calmfox && unzip calmfox-watch-magento.zip -d app/code/Calmfox
mv app/code/Calmfox/calmfox-watch app/code/Calmfox/Watch
bin/magento module:enable Calmfox_Watch && bin/magento setup:upgrade
bin/magento cache:flush

Połączenie jednym przyciskiem.

W panelu swojej strony klikasz „Połącz”, konto w Calmfox Watch możesz założyć po drodze i wracasz z gotową integracją. Klucza nie przepisujesz z ręki.

Czego pakiet nie wysyła.

Treści strony, danych klientów, zawartości bazy ani żadnych haseł. Jadą liczby i stany usług. Nawet skład kont z pełnymi uprawnieniami idzie jako jednokierunkowy odcisk posolony sekretem Twojej instalacji: wystarcza, żeby wykryć zmianę, i jest bezużyteczny poza Twoją stroną.

Co przechowujemy i jak długo ›

Zanim zapytasz.

Co z trybem produkcyjnym?

Po włączeniu modułu uruchamiasz jeszcze bin/magento setup:di:compile, tak samo jak przy każdym innym module. Cała instalacja to cztery polecenia z katalogu integracji.

Moduł jest w Magento Marketplace?

Jeszcze nie. Rozpakowujesz go do app/code/Calmfox/Watch z paczki, którą tu pobierasz. Publikacja w katalogu to osobna decyzja i do tego czasu nie udajemy, że moduł tam jest.

Sklep stoi na RabbitMQ. Zmierzycie kolejki?

Nie. Czytamy kolejki trzymane w bazie, a przy RabbitMQ parametr po prostu się nie pojawia, zamiast pokazywać zero i udawać, że wszystko zostało sprawdzone.

Jak zabezpieczony jest adres, spod którego czytacie dane?

Odpowiada wyłącznie z sekretnym kluczem w adresie (128 bitów, porównanie odporne na atak czasowy), z nagłówkami zakazującymi indeksowania i zapisu w pamięci podręcznej. Bez klucza zwraca 403. Klucz wymieniasz jednym kliknięciem, a poprzedni działa jeszcze kwadrans, żeby przepięcie nie zgłosiło fałszywej awarii.

Strona stoi na czymś innym?

Pakiety mamy dla WordPressa, Neosa, Syliusa i Magento. Każdy inny serwis zostaje na monitoringu z zewnątrz, który działa bez wgrywania czegokolwiek na serwer — po prostu nie zobaczymy wtedy wnętrza.

Sprawdź swoją stronę.
Bezpłatnie, w dwie minuty.

Bezpłatny przegląd techniczny obejmuje dostępność, certyfikat, domenę, pocztę, treść i formularze. Kończy się oceną i listą zadań, którą możesz przekazać swojemu programiście. Bez karty płatniczej i bez zobowiązań.