Raporty SQL

Uruchomienie hurtowni danych

Hurtownia danych jest możliwa do włączenia per Profil Agenta w sekcji Hurtownia danych (dla posiadaczy licencji na ten moduł).

  1. Z dowolnego miejsca w systemie kliknij na ikonę swojego profilu i wybierz Ustawienia → Profile agenta → Desktop

  2. Z listy profili, wybierz przypisany do osoby/urządzenia, z którego mają być zbierane dane.

  3. W sekcji Hurtownia danych należy określić zakres dotyczący zarówno częstotliwości zbierania danych jak i poszczególnych zakresów. Należy zwrócić uwagę też na opisy poszczególnych elementów. Więcej informacji znajdziesz w artykule Profile agenta Windows


Jak utworzyć zapytanie SQL ?

  1. Z dowolnego miejsca w systemie wybierz Inne → Raporty.

  2. Kliknij Utwórz nowy raport.

  3. Zbuduj zapytanie korzystając z edytora - kliknij na ikonę Pomoc aby wyświetlić słownik i ułatwić sobie pracę

  4. Zapisz raport.


Gotowe raporty w LOG Plus

Lista gotowych raportów, które możesz użyć:

Posiadając moduł monitoring:

  • Monitoring logowania

    • Monitoring plików

    • Monitoring procesów

    • Monitoring stron www

    • Monitoring wydruków

    • Procesy uruchamiane na Komputerach w Dziale (30 dni)

    • Procesy uruchamiane na Komputerze (30 dni)

    • Procesy uruchamiane przez Osobę (30 dni)

    • Procesy uruchamiane przez Osoby w Dziale (30 dni)

    • Strony WWW odwiedzane na Komputerach w Dziale (30 dni)

    • Strony WWW odwiedzane na Komputerze (30 dni)

    • Strony WWW odwiedzane przez Osobę (30 dni)

    • Strony WWW odwiedzane przez Osoby w Dziale (30 dni)

    Posiadając moduł RODO:

    • Rejestr czynności przetwarzania

    Oraz dowolne zapytania do hurtowni danych napisane w SQL (słownik składni dostępny w oprogramowaniu)

Uwaga!

Należy pamiętać że raporty systemowe należy dopasować pod własne potrzeby (dodać odpowiednie zmienne w obrębie danego raportu).

Przykład parametryzacji raportu: Procesy uruchamiane na Komputerach w Dziale (30 dni)

Raport prezentuje procesy uruchamiane na komputerach w odniesienie do konkretnego Działu (komputery muszą posiadać relację z odpowiednim działem na schematem organizacyjny)

Treść domyślnego skryptu

WITH cte_org AS ( SELECT Id, Name, Parent_id FROM [Department] WHERE Parent_id IS NULL AND -- Parametr zapytania: -- Nazwa organizacji (wybierz tylko jedną) Name = '' UNION ALL SELECT d.Id, d.Name, d.Parent_id FROM [Department] d INNER JOIN cte_org o ON o.Id = d.Parent_id ) SELECT roi.ProcessName as "Nazwa procesu", soft.SoftwareType as "Typ procesu", computer.Name as "Nazwa komputera", roi.Username as "Login użytkownika", (SELECT TOP 1 Name FROM cte_org) as "Organizacja", STRING_AGG(department.Name, ', ') WITHIN GROUP (ORDER BY department.Name) as "Dział", roi.UsageSecondsPerHour as "Czas użytkowania (sek)" FROM [RoiSummary] roi LEFT JOIN [Computer] computer ON roi.Computer_id = computer.Id LEFT JOIN [Software] soft ON roi.Software_id = soft.Id LEFT JOIN [ComputerDepartment] cd ON computer.Id = cd.Computer_id LEFT JOIN [Department] department ON cd.Department_id = department.Id WHERE roi.RoiLevel = 'Last30Days' AND roi.ProcessName != 'Idle' AND department.Id IN (SELECT Id FROM cte_org) -- Parametry zapytania: -- Wykluczony komputer po nazwie AND computer.Name NOT LIKE '' -- Nazwa działu AND (department.Name LIKE '' -- dodatkowy dział -- OR department.Name LIKE '' ) GROUP BY roi.ProcessName, roi.Software_id, soft.SoftwareType, computer.Name, roi.Username, roi.UsageSecondsPerHour

 

Minimalny zestaw zmiennych, które należy uwzględnić parametryzując skrypt:

  • Nazwa organizacji na podstawie schematu organizacyjnego

--      Nazwa organizacji (wybierz tylko jedną)
        Name = ''

  • Nazwa działu na podstawie schematu organizacyjnego

--      Nazwa działu
        AND (department.Name ILIKE ''

 

Jeśli nie są spełnione w/w warunki raport wygeneruje się pusty, czyli z zerową liczbą rekordów.

 

Założenia do wykonania poprawnego raportu

  • sparametryzowany skrypt raportu:

WITH cte_org AS ( SELECT Id, Name, Parent_id FROM [Department] WHERE Parent_id IS NULL AND -- Parametr zapytania: -- Nazwa organizacji (wybierz tylko jedną) Name = 'LOG Systems' UNION ALL SELECT d.Id, d.Name, d.Parent_id FROM [Department] d INNER JOIN cte_org o ON o.Id = d.Parent_id ) SELECT roi.ProcessName as "Nazwa procesu", soft.SoftwareType as "Typ procesu", computer.Name as "Nazwa komputera", roi.Username as "Login użytkownika", (SELECT TOP 1 Name FROM cte_org) as "Organizacja", STRING_AGG(department.Name, ', ') WITHIN GROUP (ORDER BY department.Name) as "Dział", roi.UsageSecondsPerHour as "Czas użytkowania (sek)" FROM [RoiSummary] roi LEFT JOIN [Computer] computer ON roi.Computer_id = computer.Id LEFT JOIN [Software] soft ON roi.Software_id = soft.Id LEFT JOIN [ComputerDepartment] cd ON computer.Id = cd.Computer_id LEFT JOIN [Department] department ON cd.Department_id = department.Id WHERE roi.RoiLevel = 'Last30Days' AND roi.ProcessName != 'Idle' AND department.Id IN (SELECT Id FROM cte_org) -- Parametry zapytania: -- Wykluczony komputer po nazwie AND computer.Name NOT LIKE '' -- Nazwa działu AND (department.Name LIKE 'IT' -- dodatkowy dział -- OR department.Name LIKE '' ) GROUP BY roi.ProcessName, roi.Software_id, soft.SoftwareType, computer.Name, roi.Username, roi.UsageSecondsPerHour
  • organizacja posiada nazwę LOG Systems

 

 

image-20240821-090617.png
  • istnieje na drzewie dla tej organizacji dział IT do którego taki komputer jest przypisany

    image-20240821-090645.png

  • dla przypisanego komputera/komputerów do działu IT istnieją w bazie dane w zakresie monitoringu procesów za ostatnie 30 dni

Efekt finalny wykonanego raportu (39 rekordów):

 

Jak wygenerować raport systemowy?

  1. Z dowolnego miejsca w systemie wybierz Inne>Raporty.

  2. Z listy raportów wybierz odpowiednią pozycję oraz uzupełnij zmienne (patrz czerwona ramka powyżej).

  3. Wybierz Wykonaj.


Usunięcie zdublowanych raportów

W przypadku dubli raportów należy:

  1. Wykonać backup bazy danych

  1. Z

  2. modyfikować poniższe polecenie podstawiając nazwę bazy danych LOG+ w miejsce NAZWA_BAZY_DANYCH

UPDATE [NAZWA_BAZY_DANYCH].[dbo].[DataWarehouseReport] SET SourceType = 'Custom' WHERE SourceType != 'Custom' AND (Name = 'Monitoring plikow' OR Name = 'Monitoring procesow' OR Name = 'Monitoring wydrukow' OR Name = 'Monitoring_plikow' OR Name = 'Monitoring_procesow'

logplus.io