EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB483019: Troubleshooting: How to Check Platform Analytics Services


Jing (Sally) Cheng

Senior Principal Consultant • MicroStrategy


Starting with the release of Strategy ONE (March 2024), dossiers are also known as dashboards.

Description

There are several components involved in the Platform Analytics Architecture. At times, you may want to check the status of those services to verify overall system health.This document provides steps to start, stop and check status of those services.
View the image below for a view of the architecture:

ka0PW0000001JidYAE_0EM44000000gfse.jpeg

 

Zookeeper (Telemetry Manager)


Below utilities are available under <Installation Directory>/MessagingServices/Kafka/kafka_2.13-3.1.0/bin/
1. Start Zookeeper.


./zookeeper-server-start.sh -daemon ../config/zookeeper.properties

2. Stop Zookeeper.

./zookeeper-server-stop.sh

3. Get a list of existing topics in Kafka.

./kafka-topics.sh -zookeeper <IP>:<Port> --list
./kafka-topics.sh -zookeeper 10.27.21.170:2181 --list

 

Kafka (Telemetry Server)

Below utilities are available under <Installation Directory>/MessagingServices/Kafka/kafka_2.13-3.1.0/bin/
1. Start Kafka Broker.


./kafka-server-start.sh -daemon ../config/server.properties

2. Stop Kafka Broker.

./kafka-server-stop.sh

3. Fetch all the data from a particular topic. 

./kafka-console-consumer.sh --bootstrap-server <IP>:<Port> --topic <Topic Name> --from-beginning

For example: 

./kafka-console-consumer.sh --bootstrap-server 10.27.21.170:9092 --topic Mstr.PlatformAnalytics.ChangeJournal.AttributesAndForms --from-beginning

4. See if new records are being sent to topic.

./kafka-console-consumer.sh --bootstrap-server <IP>:<Port> --topic <Topic Name>

For example: 

./kafka-console-consumer.sh --bootstrap-server 10.27.21.170:9092 --topic Mstr.PlatformAnalytics.ChangeJournal.AttributesAndForms

 

Verify if Kafka Topics are Receiving Data from All Sources

Below are the commands to fetch data from a particular topic:
1. Fetch all the data from a particular topic


./kafka-console-consumer.sh --bootstrap-server <IP>:<Port> --topic <Topic Name> --from-beginning

For example: 

./kafka-console-consumer.sh --bootstrap-server 10.27.21.170:9092 --topic Mstr.PlatformAnalytics.ChangeJournal.AttributesAndForms --from-beginning

2. See if new records are being sent to topic.

./kafka-console-consumer.sh --bootstrap-server <IP>:<Port> --topic <Topic Name>

For example: 

./kafka-console-consumer.sh --bootstrap-server 10.27.21.170:9092 --topic Mstr.PlatformAnalytics.ChangeJournal.AttributesAndForms

The Platform Analytics Consumer receives data from the following producer.
Check topics from each producer to confirm you are receiving data from all sources.
 
1.  Intelligence Server Basic Statistics 
Topic: Mstr.PlatformAnalytics.IsReportStats
1.1
 ./kafka-console-consumer.sh --bootstrap-server  <IP>:<Port>  --topic Mstr.PlatformAnalytics.IsReportStats

1.2  Execute a report from Developer or Web.
1.3  Verify that new logs are received in the console where you ran the command.
2.  Intelligence Server Advanced Statistics 
Topic: Mstr.PlatformAnalytics.IsReportSQLStats
2.1
./kafka-console-consumer.sh --bootstrap-server  <IP>:<Port>  --topic Mstr.PlatformAnalytics.IsReportSQLStats

2.2  Execute a report from Developer or Web.
2.3  Verify that new logs are received in the console where you ran the command.
3.  Change Journal
Topic: Mstr.PlatformAnalytics.ChangeJournal.CubesReportsDossier
3.1
./kafka-console-consumer.sh --bootstrap-server  <IP>:<Port>  --topic Mstr.PlatformAnalytics.ChangeJournal.CubesReportsDossier

3.2  Create a new report from Developer or Web.
3.3  Verify that new logs are received in the console where you ran the command.
Alternatively, trigger initial load from Developer to verify the new logs are received.
4. Subscription
Topic: Mstr.PlatformAnalytics.DistributionServices.Subscriptions
4.1
./kafka-console-consumer.sh --bootstrap-server  <IP>:<Port>  --topic Mstr.PlatformAnalytics.DistributionServices.Subscriptions

4.2  Create a new subscription from Developer or Web.
4.3  Verify that new logs are received in the console where you ran the command.
Alternatively, trigger initial load from Developer to verify the logs are received for existing subscriptions.
5. License Manager
Topic: Mstr.PlatformAnalytics.LicenseAuditorTelemetry
5.1
./kafka-console-consumer.sh --bootstrap-server  <IP>:<Port>  --topic Mstr.PlatformAnalytics.LicenseAuditorTelemetry

5.2  Trigger License Audit in License Manager.
                 5.2.1  Go to License Manager > Audit.
                 5.2.2  Connect to the Intelligence Server. Right-click on the project source and select Compliance Check.
5.3  Verify that new logs are received in the console where you ran the command.
6. Usher Server (Only applicable if Badge is installed)
Topic: Mstr.IdentityServer.ActionLog
6.1
 ./kafka-console-consumer.sh --bootstrap-server  <IP>:<Port>  --topic Mstr.IdentityServer.ActionLog

6.2  Make a Badge Transactions.
6.3  Verify that new logs are received in the console where you ran the command.
7. Usher Lookup Producer (Only applicable if Badge is installed)
Topic: Mstr.PlatformAnalytics.UsherLookup
6.1
 ./kafka-console-consumer.sh --bootstrap-server  <IP>:<Port>  --topic Mstr.PlatformAnalytics.UsherLookup -from-beginning

6.2  If you see existing data based on above command, it should be working.

 

Redis (Telemetry Cache)

You can start/stop or check the status of redis using below commands:
1. Stop Redis.


redis.sh stop

2. Start Redis.

redis.sh start

3. Check the status of redis.

redis.sh status

 

Platform Analytics Consumer (Telemetry Store)

You can start/stop or check the status of the Telemetry Store using below commands:
1. Stop Consumer.


./platform-analytics-consumer.sh stop

2. Start Consumer.

./platform-analytics-consumer.sh start

3. Check the status of Consumer.

./platform-analytics-consumer.sh status

 

Platform Analytics Lookup Producer

You can start/stop or check the status of the Platform Analytics Lookup Producer using below commands:
1. Stop Producer.


./platform-analytics-usher-lookup-producer.sh stop

2. Start Producer

./platform-analytics-usher-lookup-producer.sh start

3. Check Status of Producer

./platform-analytics-usher-lookup-producer.sh status

 

Verify Data is Written to platform_analytics_wh

In Platform Analytics warehouse, there are different sets of tables populated from different data pipelines. The Intelligence Server Lookup tables are populated by Change Journal, some Fact tables are populated using Statistics (basic and advanced) data pipeline, and Licensing Fact tables and lookup tables are populated with data from Licensing topics.
To confirm that all the producers are producing data, check the following tables.
1. Verify Fact tables are receiving statistics data.
Basic Statistics:
To check if new data is inserted in access_transactions table, run the following query:


SELECT count(*) FROM platform_analytics_wh.access_transactions

Execute a report or document in a project you configured to log statistics.
Rerun the query to see if the count for today increased.
Advanced Statistics:
Run the query: 

SELECT count(*) FROM fact_sql_stats ORDER BY sql_start_timestamp desc limit 10;

 2. Verify if Lookup tables are being populated with Change Journal logs.
Table: lu_object

SELECT object_type_id, count(*) from lu_object group by object_type_id;

You should see a good distribution of counts for different object types. 
Table: lu_account

SELECT count(*) FROM platform_analytics_wh.lu_account where account_name !="<Empty>";

The count should match the total expected numbers from all your metadata.
​​​​​3. Verify Compliance data is being populated with License Telemetry logs:

Table: fact_user_entity_resolved_privilege

SELECT count(*) FROM platform_analytics_wh.fact_user_entity_resolved_privilege;

The count should be greater than 0.

 

Verify if Platform Analytics Cubes are Published

There are three cubes in the Platform Analytics Project under the

Shared\Utilities\
 Directory:

  1. Platform Analytics Cube
  2. Compliance Telemetry
  3. Communicator Inbox Action 

To check if the cubes are published:

  1. Log into your environment from Developer.
  2. Go to Administration > System Monitor > Caches > Intelligent Cubes.
  3. Check if there are Cube Cache Instances for all the above cubes.

Comment

0 comments

Details

Knowledge Article

Published:

March 25, 2019

Last Updated:

March 21, 2024