Monitoring Serwerów - Forum o monitoringu infrastruktury IT
Monitorowanie aplikacji oczami użytkownika
#1
W ostatnim czasie stanęliśmy przed zadaniem od klienta, który chciał w swoim op5 monitorze zobaczyć czy działa aplikacja.
Informacja o dostępnych zasobach, działających na serwerze aplikacjach okazała się być dla niego zbyt mało znaczna.
Aby sprostać tym oczekiwaniom skorzystaliśmy z rozwiązań dostępnych w zupełnie innej dziedzinie informatyki - postanowiłem skorzystać z aplikacji przeznaczonej dla testerów oprogramowania. Po przeanalizowaniu zalet i wad poszczególnych produktów wybrałem produkt firmy Froglogic nazwany Squish.
Do wyboru skłoniło mnie kilka czynników:
  • Międzyplatformowość - squish może nam posłużyć do monitorowania aplikacji windowsowych i np. aplikacji QT na Linuxie, czy MacOS
  • Architektura klient-serwer - co prawda dzięki agentowi nrpe i nsclient nie było to niezbędne, jednak użycie natywnego interfejsu jest przyjemne dla oka
  • Bardzo przejrzysta konfiguracja i rozmieszczenie plików

Aby wypowiedź była szczera muszę powiedzieć co nieco o wadach
  • Jak każda aplikacja do testowania innych aplikacji wymaga aby użytkownik był zalogowany a ekran odblokowany
  • Powyższe powoduje problem w przypadku użycia RDP (Remote Desktop/Zdalny Pulpit) - o czym poniżej nieco więcej
  • Zagrożenie bezpieczeństwa - nie chcielibyśmy przecież żeby ktoś niepożądany usiadł przed monitorem stacji gdzie jest aktywna sesja SAPowska
No dobrze - jak to ma zadziałać.
Musimy mieć maszynę z której będziemy uruchamiali testy - zwykle będzie nam w takim razie potrzebny Windows.
Na tym Windowsie możemy przygotować test, który wyślemy na serwer op5 monitora. Na tej maszynie musimy uruchomić również squishserver po dodaniu nasze maszyny op5 do pliku etc/squishserverrc
Code:
ALLOWED_HOSTS = 10 4.4.52 10.4.11.39 83.144.89.54


Przykładowe wyzwolenie testu zwraca nam poniższe informacje:
Code:
$ /opt/plugins/custom/emca/squish/bin/squishrunner --host=ns2.gigasik.pl --port 4322 --testsuite=/opt/plugins/custom/emca/squish/suites/suite_windemo
* This is an EVALUATION version of Squish. *
2013-10-23T21:19:44     START           Start 'suite_windemo'           Test 'suite_windemo' started
* This is an EVALUATION version of Squish. *
2013-10-23T21:19:44     START_TEST_CASE Start 'tst_klakulator'          Test Case 'tst_klakulator' started (tst_klakulator)
RUNNERID: 53800023
AUTID: 53800024
AUTHOST: 91.233.112.236
AUTPORT: 4322
RUNNERID: -1
application registered server: 91.233.112.236 4322 aut: EXCEL.EXE 53800024
2013-10-23T21:19:57     XFAIL           /opt/plugins/custom/emca/squish/suites/suite_windemo/tst_klakulator/test.js:17: Comparison      '6' and '7' are not equal
2013-10-23T21:19:57     END_TEST_CASE   End 'tst_klakulator'            End of test case 'tst_klakulator'
* This is an EVALUATION version of Squish. *
2013-10-23T21:19:58     START_TEST_CASE Start 'tst_outlook'             Test Case 'tst_outlook' started (tst_outlook)
RUNNERID: 53800026
AUTID: 53800027
AUTHOST: 91.233.112.236
AUTPORT: 4322
RUNNERID: -1
application registered server: 91.233.112.236 4322 aut: OUTLOOK.EXE 53800027
2013-10-23T21:20:03     END_TEST_CASE   End 'tst_outlook'               End of test case 'tst_outlook'
* This is an EVALUATION version of Squish. *
2013-10-23T21:20:03     START_TEST_CASE Start 'tst_notepad'             Test Case 'tst_notepad' started (tst_notepad)
RUNNERID: 53800029
AUTID: 53800030
AUTHOST: 91.233.112.236
AUTPORT: 4322
RUNNERID: -1
2013-10-23T21:20:23     ERROR           /opt/plugins/custom/emca/squish/suites/suite_windemo/tst_notepad/test.js:2: Script Error        startApplication() failed
2013-10-23T21:20:23     END_TEST_CASE   End 'tst_notepad'               End of test case 'tst_notepad'
2013-10-23T21:20:23     END             End 'suite_windemo'             End of test 'suite_windemo'
*******************************************************
Summary:
Number of Test Cases:      3
Number of Tests:           1
Number of Errors:          1
Number of Fatals:          0
Number of Fails:           0
Number of Passes:          1
Number of Expected Fails:          1
Number of Unexpected Passes:       0
Number of Warnings:        0
*******************************************************


Co udało nam się przekazać do op5. A co się stało po stronie serwera Windowsowego?
Został uruchomiony Microsoft Excel, wykonane pewne czynności, następnie Microsoft Outlook, a na koniec Notepad++.

   
Taki obraz pojawia się w oknie serwera po wykonanym teście

Dobrze co jednak zrobić żeby to działało i było w miarę bezpieczne.
Po pierwsze musimy dołożyć starań aby nie blokować ekranu użytkownika, sam serwer nie zadziała jako serwis sytemu Windows. Naszym zdaniem należy wyłączyć usługę zdalnego dostępu, a w to miejsce zainstalować np serwer VNC, który nie ma wpływu na sesje użytkownika. Nie wszyscy wiedzą ale nawet "brutalne" wyłączenie zdalnego pulpitu spowoduje zablokowanie sesji i uniemożliwienie poprawnego monitoringu.

A co zrobić żeby było bezpiecznie - albo uruchomić to na maszynie wirtualnej, do której nikt z zewnątrz nie będzie się mógł zalogować , albo np na serwerze bez układu graficznego. Takie zabezpieczenie powinno być w miarę wystarczające.

W efekcie nasze serwisy w op5 wyglądają bardzo ładnie, mimo że same testy nie robią zbyt wiele (a widząc potencjał aplikacji mogłyby).
   
Tak wygląda sparsowany przez nas dla op5 wynik squishrunnera
Reply


Forum Jump:

User Panel Messages