Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
hugo_andrade
Partner - Creator II
Partner - Creator II

Verify how many users logged into the Qlik Sense HUB

Hello everyone,

In QlikView we could verify in real-time how many applications were open and what users were connected to Access Point.

Is there a way to verify what applications in use and users logged in the Qlik Sense HUB?


Any method is OK.

Verifying the LOGs, API call, anything that's precise.

Thank you.

active users.jpg

17 Replies
mountaindude
Partner Ambassador
Partner Ambassador

Sort of.

We listen to session begin/end and connection open/close events from the logging framework, and keep counters based on those events. Works ok.

That work has been packaged in the Butler project, GitHub - mountaindude/butler: Node.js proxy, extending Qlik Sense with both out- and in-bound connec...

I have also created a small node.js server that monitors the health API, https://help.qlik.com/en-US/sense-developer/3.1/Subsystems/EngineAPI/Content/GettingSystemInformatio...

Works ok too, at least as long as you send your request to the root endpoint of a server - that API returns incorrect information when used against a virtual proxy.

Please mark the post as a solution if it provided you with a solution to the topic at hand. Thanks!
kevincase
Creator II
Creator II

You can always run a query against the postgres DB.  That's how I determine who is active.  Have not figured out how to tell which application they are connected to though.

select "Users"."Name", "LicenseUserAccessUsages"."ModifiedByUserName" as "Login", "LicenseUserAccessUsages"."UseStartTime" - Interval '5 hours' as "SessionStart", "LicenseUserAccessUsages"."LatestActivity" - Interval '5 hours' as "LastActivity", 'User Access' as "AccessType"

from "LicenseUserAccessUsages", "LicenseUserAccessTypes", "Users"

where "LicenseUserAccessUsages"."Deleted" = 'f'

and "LicenseUserAccessUsages"."LatestActivity" >= Now() + '3:30'

and "LicenseUserAccessTypes"."ID" = "LicenseUserAccessUsages"."UserAccessType_ID"

and "Users"."ID" = "LicenseUserAccessTypes"."User_ID"

union

Select "Users"."Name", "LicenseLoginAccessUsageSessions"."ModifiedByUserName" as "Login", "LicenseLoginAccessUsageSessions"."CreatedDate" - Interval '5 hours' as "SessionStart", "LicenseLoginAccessUsageSessions"."LatestActivity" - Interval '5 hours' as "LastActivity", 'Login Access' as "AccessType"

From "LicenseLoginAccessUsageSessions", "LicenseLoginAccessUsages", "Users"

where "LicenseLoginAccessUsageSessions"."Deleted" = 'f'

and "LicenseLoginAccessUsageSessions"."LatestActivity" >= Now() + '3:30'

and "LicenseLoginAccessUsages"."ID" = "LicenseLoginAccessUsageSessions"."LicenseLoginAccessUsage_ID"

and "Users"."ID" = "LicenseLoginAccessUsages"."User_ID"

jaisoni_trp
Creator II
Creator II

Thanks Kevin for sharing the sql.

Anonymous
Not applicable

Is that SQL giving accurate count Kevin ?

kevincase
Creator II
Creator II

It is close but sometimes not 100% accurate.  I rely on the last activity time mostly to see if the user is still doing any work.  One thing that I have noticed is that when a user connects via a user access pass, their session does not always get set as deleted right away when they close the browser.  Plus, I have the session activity timeout set to 30 minutes.  That's why I check the LatestActivity >= Now() + '3:30'.

Another thing, The query has been modified to take into account Daylight Saving Time here in the US.  You may need to adjust the - Interval '5 hours' to read - Interval 4 hours.  The timestamps were in GMT time so I subtracted hours to get the time to be the current Eastern Standard Time.  If GMT time works for you, you can remove this entirely.

jim_chan
Specialist
Specialist

hi there,

what if i am in the 2 nodes environment, how and where can i check

- which user is accessing to which server   - central node or rim node?

- user A is accessing App A from central Node or Rim Node?

Rgds

Jim

kevincase
Creator II
Creator II

Here is an updated query for all of those interested.

--Need to adjust time interval for daylight saving time -> Spring Interval = 4 Hours, Fall Interval = 5 Hours
select "Users"."Name", "LicenseUserAccessUsages"."ModifiedByUserName" as "Login", "LicenseUserAccessUsages"."UseStartTime" - Interval '4 hours' as "SessionStart", "LicenseUserAccessUsages"."LatestActivity" - Interval '4 hours' as "LastActivity", 'User Access' as "AccessType"
from "LicenseUserAccessUsages", "LicenseUserAccessTypes", "Users"
where "LicenseUserAccessUsages"."LatestActivity" >= Now() + '3:30'
and "LicenseUserAccessTypes"."ID" = "LicenseUserAccessUsages"."UserAccessType_ID"
and "Users"."ID" = "LicenseUserAccessTypes"."User_ID"
union
Select "Users"."Name", "LicenseLoginAccessUsageSessions"."ModifiedByUserName" as "Login", "LicenseLoginAccessUsageSessions"."CreatedDate" - Interval '5 hours' as "SessionStart", "LicenseLoginAccessUsageSessions"."LatestActivity" - Interval '5 hours' as "LastActivity", 'Login Access' as "AccessType"
From "LicenseLoginAccessUsageSessions", "LicenseLoginAccessUsages", "Users"
where "LicenseLoginAccessUsageSessions"."LatestActivity" >= Now() + '3:30'
and "LicenseLoginAccessUsages"."ID" = "LicenseLoginAccessUsageSessions"."LicenseLoginAccessUsage_ID"
and "Users"."ID" = "LicenseLoginAccessUsages"."User_ID"

Daniele_Purrone
Support
Support

Hi!
This could help: https://support.qlik.com/articles/000025281

 

Cheers!

Daniele

Daniele - Principal Technical Support Engineer & SaaS Support Coordinator at Qlik
If a post helps to resolve your issue, please accept it as a Solution.