Problem:
How can I troubleshoot different license issues in ProfileUnity
Example(s): No ProfileUnity License Server defined. Please contact your system administrator or
No ProfileUnity License Server could be Contacted error at login
Example Symptoms:
Resolution Walk through:
This example pop up is triggered because ProfileUnity client tools 6.8.x can't find the ProfileUnity console which is License Server. It can only find the console if it was installed with "ClientSettings.xml" present.
Troubleshooting:
Troubleshooting licensing issues involves several aspects.
- Client side licensing service
- Console side components
- RabbitMQ
- Mongo DB
- Are the ProfileUnity consoles in a cluster and understanding how to determine cluster health.
Client Side licensing troubleshooting
Review the following steps in relation to elements client side.
- Is the Liquidware Client License service running?
- Troubleshooting possible missing licensing configuration:
The C:\Program Files\ProfileUnity\Client.NET\LwL.ProfileUnity.Client.License.Service.exe.config should contain same connection string as its found in ClientSettings.xml which was downloaded from ProfileUnity console and placed in the same directory as lwl.profileunity.client.startup.exe which was uses to install ProfileUnity client
If there are any problems with client machines contacting licensing server or desktops/users finding a license server please contact support (support@liquidware.com) and attach 3 files:
- "clientlicensingservice log" which is found in c:\windows\temp\profileunity.
- "LwL.ProfileUnity.Client.License.Service.exe.config" found in C:\Program Files\ProfileUnity\Client.NET
- "ClientSettings.xml" from netlogon\profileunity share (same as client tools location)
Example for client service log:
Testing Connection between the machine and the ProfileUnity console:
You can test in session the connection for the port used for licensing fabric requests by running the below via powershell.
powershell Test-NetConnection -Port 5672 -ComputerName IP or FQDN of ProU Server
Console Side and Cluster troubleshooting
Console side licensing examination represents the secondary components to review when considering where any potential licensing issue might reside.
These consists of a few parts.
- Liquidware Labs ProfileUnity Service
- RabbitMQ
- MongoDB
Single Node
In a single node your want to make sure all the services are running. The Liquidware Labs ProfileUnity Service is set to delayed start to help ensure that once the RabbitMQ services is started, for instance after a reboot that is it initialized before the Liquidware Labs ProfileUnity Service runs.
If in above the mq connection strings all match in
- "clientlicensingservice log" which is found in c:\windows\temp\profileunity.
- "LwL.ProfileUnity.Client.License.Service.exe.config" found in C:\Program Files\ProfileUnity\Client.NET
- "ClientSettings.xml" from netlogon\profileunity share (same as client tools location)
Then it might just be a case of restarting the Liquidware Labs ProfileUnity Service on the console and test a login.
Cluster
In a cluster there are a few items to consider to understand how to diagnose and confirm the health of the cluster. These include (above logs and configs) and items listed below
- Connection strings listed under Manage Message Queue Connection under Administration>Client Settings
- In the connection string section are all nodes (ProfileUnity consoles) listed, similar too:
- In the connection string section are all nodes (ProfileUnity consoles) listed, similar too:
- Does RabbitMQ show that the cluster is known and running?
- Note here in screenshot, this represents the nodes that were added to the cluster and services are running but not an active state of whether RabbitMQ is in a healthy cluster state.
-
- Information on enabling High Availability can be found here: https://www.liquidware.com/support/articles/360019902611-Enabling-High-Availability-mode-in-6-8-x-for-redundant-processing-of-license-requests
-
RabbitMQ and Mongo
To check the status of your cluster review the following steps
- RDP to each console in the cluster
- Copy the erlang.cookie from root of C:\Windows to the root of profile your logged into the console with (C:\users\username).
- Open and Admin CMD
- CD to "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.4\sbin"
- Run in rabbitmqctl.bat cluster_status
- Return should come back as similar
For Mongo
- Open Admin CMD
- CD to C:\Program Files\MongoDB\bin
- Run mongo.exe -u <user> -p <pwd> --authenticationDatabase admin --eval "printjson(rs.status())"
- - u is User name = prou_services
- -p is password for the prou_services user created when ProfileUnity console was installed (required for this step)
- You should see all nodes listed as well as which one is primary similar to below:
Logs
Logs for ProfileUnity as well as component parts for licensing logs are in a few particular places
- "clientlicensingservice log" which is found in c:\windows\temp\profileunity.
- "LwL.ProfileUnity.Client.License.Service.exe.config" found in C:\Program Files\ProfileUnity\Client.NET
- "ClientSettings.xml" from netlogon\profileunity share (same as client tools location)
Functionally this information can be cleaned from a Diagnostic bundle in ProfileUnity
https://www.liquidware.com/support/articles/210325586-How-to-Collect-Logs-Using-the-Diagnostic-Tool
MongoDB
C:\Program Files\MongoDB\log\mongo.log
RabbitMQ on ProU
C:\Users\Username\AppData\Roaming\RabbitMQ\log
C:\Windows\System32\config\systemprofile\AppData\Roaming\RabbitMQ\log
ProfileUnity Console
C:\Program Files (x86)\Liquidware Labs\ProfileUnity\logs
In relation to working with Liquidware support in reference to licensing issues you would want to include the following information.
- Diagnostic Bundle from a session where you see the issues
- Mongo Logs
- Including output on mongo cluster check
- RabbitMQ Logs
- Including output on RabbitMQ cluster check
- ProfileUnity Console Logs
Product: ProfileUnity-FlexApp
Product Version: 6.8.x - 6.8.4R2