Dashboard Specific Issues
-
Sensors not visible on the Dashboard
Symptom
Sensors are not seen on the Dashboard
Environment
Any Environment QA or Prod
Possible Causes
• TenantId is wrong.
• LocationId is not populated or Location hierarchy not created properly or Sync issue between DE and Core.
• Core Users permission or sync issue (either userlocations or userdomains not assigned or synced in deviceEngine)
• Geohash not populated from deviceEngine
• Applicable domain not created with correct values.
• CKC core API not working or issue with configuring them.
• DeviceEngine process not running or not responding.
• Any other ERROR in deviceEngine logs which is preventing proper running of deviceEngine.
Troubleshooting
• Check if Sensors are seen on fid-CIMUserQueryInterface.
• If above step is true, check if locationId, tenantId, applicableDomain and geohash Fields are populated or not.
a) If tenantId populated is wrong, Devops need to recreate data for sensor. They can do so by running cleanup macro of that extension and then redeploying by changing the tenantId in the loader file.
b) If locationId is not populated,
Make sure correct location hierarchy is created in dashboard (and same has been retrieved using SDP APIs) and those locations are assigned to user.
Run syncSDPLocation.sh to get locations data populated in DeviceEngine DB.
Run EntitylocationRefresh to update new locations in sensor model. The file is present under src/ops/tqls folder in DeviceEngine.
c) If applicableDomain is not populated, it is a build issue of Extension and need to be fixed.
d) Check if Geohash is populated or not in Sensor Response in DE. Geohash is required in the response so that dashboard can show sensor data. If it is not populated, it is a Device Engine (DE) build issue.
• If all the 4 fields are populated then,
a) Check if users are loaded into DE.
This can be checked via below query on fid- Authentication. { "Query": { "Find": { "User": { "sid": { "ne": "" } } } } }
b) If step(a) does not show any user, run syncSDPUser.sh and wait for 5 min.
c) If step(a) has the required users, then check for UserLocationAsscoiation and UserDomainAssociation. This can be checked via below on fid-Authentication. { "Query": { "Find": { "UserLocationAssociation": { "userKeySid": { "ne": ""} } } } }
{ "Query": { "Find": { "UserDomainAssociation": { "sid": { "ne": "" } } } } }
• If UserDomainAssociation or UserLocationAssociation is not populated or Users are not loaded into DE, check SDP GetUser API whether SDP response has those data.
• If everything is populated and SDP API response is also fine, run below query (to update Access modifiers for users) on fid-CIMUserQueryInterface. <DoRequest target="[:RuntimeParams.TQLStudio_AuthenticationFacetIDName:]" Disable="CMD_SERVER"> <Process> <Message> <Value> <Query> <Find> <User> <sid ne=''/> </User> </Find> </Query> </Value> </Message> </Process> </DoRequest> <Log Message="EngineStartUp :: Response message from find User :: [:$Response.Message.Value:]" Level="DEBUG" /> <if condition="$Response/Message/Value/Find/count(Result/User) gt 0"> <then> <For each="UserDef" in="Find.Result"> <!-- Authentication modifiers --> <AuthModifiers> <userKey>[:$LocalData.UserDef.User.userId:]</userKey> </AuthModifiers> </For> </then> </if>
• Check if deviceEngine cacheDB is of higher size and it is not processing records, then clear the cache.
• If everything above seems fine, but still sensors are not seen on dashboard, Refer FAQ section.
Verification
Verify if DeviceEngine APIs for the specific user are returning model response or not.
Check on dashboard if sensors are coming or not for specific operator/admin user.
Post Verification
.If verification fails and after following all steps, there is no clue on why this is happening, CDET/BEMS can be raised.
-
Notifications Not Seen on Dashboard
Symptom
Notifications are not appearing on the Dashboard.
Environment
Can occur in QA or Production environment.
Possible Causes
• Data has not got updated from vendor/provider API
• Data is not sent from extensions to deviceEngine.
• Data remains pending in deviceEngine cacheDB and it has not processed.
• Core user is not having access to model/domain and locations.
Troubleshooting
• Check if notifications are sent over user WebSocket.
wss://<serverName>:<port>/fid-CIMUserQueryInterfaceWS.<userId>
• Check if user has access to that particular domain. If there is no access, enable access using Dashboard admin login and run SDP Sync queries.
• Check if notifications are sent over CDP-App websocket
wss://<serverName>:<port>/fid-CIMUserQueryInterfaceWS.CDP-App
• If notifications are sent for expected domain/extensions, contact Dashboard team.
• If notifications are not sent
o Check if data is coming from provider and is updated in Device Engine. If data is not coming from provider- contact Extension team/Provider.
o If data is not processed by deviceEngine due to cache's high size, clear the cacheDB
• If Data is coming from provider, but it is not updated in DE model, contact Extension/Device Engine team.
• Check for any errors displayed in deviceEngine logs
• Check if deviceEngine cacheDB is of higher size and its not processing records, then clear the cache.
Verification
Check if notifications are coming for CDP-App user
Check if notifications are coming for core specific user
Check if notifications are displayed in dashboard.
Post Verification
Post verification, CDET/BEMS to be raised by team if still notification not coming
-
Reports Not Showing Data for Specific Time Period
Symptom
Dashboard reports show empty data or no data for a given time period.
Environment
Qa or Production.
Possible Causes
• Data not sent by provider API for the given period.
• DeviceEngine cache is not processing records or processing at slower rate.
• Data not sent by deviceEngine due to dataEngine facet is down/not responding
• DeviceEngine is not responding or hprof generated
• DataEngine URL not registered/configured by ops team correctly
• Data not received and further processed by DataEngine
• Some other issue at dataEngine analytics side
• Dashboard is not using correct filter parameters or url to fetch/access reports data
Troubleshooting
a. Check Data Engine APIs if they have data for the particular dates. If there is data, contact DE team.
b. If dataEngine does not have data for specified dates,
• Check if Provider is sending data to DE. Debug if provider API/WebSocket is working and has data.
• Check if any pending records are in deviceEngine cache which are preventing data to be updated at deviceEngine side.
• Make sure Data Engine taskgroup is created and is started. You can verify this by running model query for that domain on fid-CIMDataEngineInterface.
• Else, you can open Data Engine websocket to check if data is being sent by DE to DataEngine.
• Check for any errors displayed in deviceEngine logs
• Check if deviceEngine cacheDB is of higher size and its not processing records, then clear the cache.
If data is not sent, contact Extension and DE team.
Verification
Check if notifications/updates are sent over websocket fid-CIMDataEngineInterface
ws://<serverName>:<port>/fid-CIMDataEngineInterface
Check if data engine received data properly and is in expected format.
Check if reports are showing correct data
Post Verification
CDET/BEMS can be raised if issue still persists and report data not seen on dashboard .