Panel dodatkowych narzędzi do monitorowania i badania błędów w aplikacjach i rozwiązaniach integracyjnych na platformie danych InterSystems IRIS, platformie integracyjnej Ensemble i Caché DBMS, czyli historia innego roweru.
W tym artykule chcę opowiedzieć o aplikacji, która wraz ze standardowymi narzędziami administracyjnymi wykorzystuję na co dzień do monitorowania aplikacji i rozwiązań integracyjnych na platformie InterSystems IRIS oraz wychwytywania błędów w przypadku ich wystąpienia.
Rozwiązanie obejmuje przeglądanie i edycję tablic globalnych, uruchamianie zapytań (w tym JDBC/ODBC), wysyłanie wyników wyszukiwania e-mailem w postaci spakowanych plików XLS. Przeglądaj obiekty klas z możliwością edycji. Kilka prostych wykresów dla protokołów systemowych.
Jest to aplikacja CSP oparta na
Jeśli jesteś zainteresowany, zobacz poniżej i w
Wszystko zaczęło się od zbadania problemu rejestrowania zmian w obiektach w InterSystems IRIS, Ensemble i Caché DBMS.
Po przeczytaniu
Powstałe rozwiązanie zostało zaimplementowane jako podklasa panelu %CSP.Util.Pane, która zawiera główne okno poleceń i przycisk Uruchom, a także ustawienia doprecyzowania poleceń.
Kiedy wpiszesz „?” otrzymujemy krótki opis tych poleceń:
Globaliści
Moim najczęstszym poleceniem jest wyświetlenie pliku global. Z reguły jest to protokół globalny podczas debugowania własnego lub cudzego projektu. Można to wyświetlić w odwrotnej kolejności, a także stosując filtr zarówno do łącza, jak i do danych. Znalezione węzły można edytować i usuwać:
Możesz usunąć cały global, wpisując minus ^logMSW- w poleceniu po nazwie.
Ale w ten sposób możesz usuwać tylko globale zaczynające się od ^log (globale protokołu), tj. Wprowadzono ograniczenie przed przypadkowym usunięciem.
Jeśli po nazwie wpiszesz „*”, otrzymasz listę globali z dodatkowymi cechami. Drugie „*” doda nowe pole „Przydzielone MB”, a kolejna gwiazdka będzie „Wykorzystane MB”. To połączenie dwóch raportów i podział na „gwiazdki” ma na celu podzielenie często długiego raportu na zajęte bloki dużych globalistów.
Z tej tabeli można skorzystać z aktywnych łączy, aby wyświetlić sam plik globalny lub wyświetlić/edytować go w standardowy sposób z poziomu portalu zarządzania, klikając R lub W w polu Uprawnienie.
wnioski
Konwersja raportu do formatu Excel
Drugą najczęściej używaną funkcją jest wykonywanie zapytań. Aby to zrobić, wprowadź instrukcję sql jako polecenie.
Najważniejsze, co mi wystarczyło w standardowym Portalu Zarządzania Systemem, to wykonanie zapytań na źródłach JDBC/ODBC skonfigurowanych w DBMS i wyświetlenie wyników w formacie XLS, archiwizacja i przesłanie pliku e-mailem. Aby to zrobić, w moim narzędziu przed wykonaniem polecenia należy zaznaczyć pole wyboru „Pobierz do pliku Excel”.
Ta funkcja pozwala mi zaoszczędzić dużo czasu w codziennej pracy, a gotowe moduły z powodzeniem integruję z nowymi aplikacjami i rozwiązaniami integracyjnymi.
Ale aby to zrobić, musisz najpierw skonfigurować ścieżkę do tworzenia plików na serwerze oraz poświadczenia użytkownika i serwera pocztowego, w tym celu z kolei musisz edytować węzły globalnych ustawień programu ^%App.Setting .
Zapisywanie raportów globalnie
Bardzo często konieczne jest zapisanie wyników wykonania raportu globalnie. W tym celu stosuję następujące procedury:
Dla JDBC:
##class(App.sys).SqlToDSN
Dla ODBC:
##class(App.sys).SaveGateway
Dla wyrażeń SQL:
##class(App.sys).ZapiszSQL
Dla zapytania:
##class(App.sys).SaveQuery
Na przykład, jeśli w panelu zostanie wydane polecenie
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Zapiszmy wynik żądania zliczenia wykorzystania licencji w tablicy ^GN, a co zostało zapisane w panelu, zobaczysz komendą: result ^GN("%SYSTEM.License:Counts",0)
Rozszerzone moduły funkcjonalne
A drugim usprawnieniem, które znacznie uprościło i zautomatyzowało moją pracę, jest zaimplementowanie możliwości wykonywania specjalnie napisanych modułów przy generowaniu każdej linii zapytania. Dzięki temu mogę na bieżąco w jednym przebiegu wbudować w raport nową funkcjonalność, np. aktywne linki do dodatkowych operacji na danych.
Przykład 1: Praca z klasą App.Parameter
Utwórz parametr za pomocą „Nawigatora tabel”
Edytuj parametr za pomocą „Opcji”
Przykład 2: Przeglądanie globalne poprzez link „Historia”.
Wykresy
Zainspirowana artykułem [9] oraz w celu wizualizacji rozwoju baz danych, utworzono stronę wyświetlającą miesięczny wykres rozmiarów baz danych utworzonych z pliku iris.log (cconsole.log) przy użyciu rekordów „Rozwiń” retrospektywnie od bieżącego dnia.
Dla przykładu w InterSystems IRIS utworzono także wykres zdarzeń, który również jest generowany z pliku protokołu:
Linki do materiałów:
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
Dziękuję autorom tych i innych artykułów, którzy pomogli mi stworzyć to narzędzie.
PS Projekt się rozwija i wiele pomysłów nie zostało jeszcze wdrożonych. W najbliższej przyszłości planuję zrobić:
1. Szablon aplikacji na frameworku
2. Autodokumentacja formatu kodu
Źródło: www.habr.com