So you just finished your PA installation, excited navigated to dossier folders, run them and to your surprise they returned no data?
Below find the list of ideas where to start your troubleshooting. Also refer to following resources for additional details: KB482944 (technical notes about Platform Analytics) and KB483019 (troubleshooting Platform Analytics).
1. Make sure that PA cubes are published
Cubes are scheduled by default with PA installation. If you run dossier right after the installation, maybe it was too early for schedule to run and refresh data in cubes. Also remember to generate some activity in projects you enabled PA statistics by running some reports.
There are three cubes in the Platform Analytics Project under the Shared\\Utilities\\ Directory: Platform Analytics Cube, Compliance Telemetry and Communicator Inbox Action.
To check if the cubes are published:
- Log into your environment from Developer.
- Go to Administration > System Monitor > Caches > Intelligent Cubes.
- Check if there are Cube Cache Instances for all the above cubes.
2. Only compliance dossier is empty?
Run manually compliance check using License Manager following steps in this TN.
3. Did you run the first metadata telemetry load manually?
One of the last steps in the installation was to run event «Load Metadata Object Telemetry» from Developer. For clustered environments, run this event on both nodes.
4. Verify Telemetry configuration – Platform Analytics enabled and project statistics enabled
- Check required features enabled
Execute command: LIST ALL FEATURE FLAGS;
This command shows status feature flags:
Feature flag name = Messaging Service For Platform Analytics
Feature flag status = On
Feature flag name = Sending Log to Messaging Services
Feature flag status = Off
First one should be enabled (Telemetry Server for Platform Analytics) and second one disabled (IS diagnostics log).
Note: when running this command, if the feature flag is using a different language then use that text when setting feature flag. For example the command in german would be: ALTER FEATURE FLAG » Protokoll wird an Messaging Services gesendet» OFF;
- Check Telemetry Server configuration
Execute command: LIST ALL PROPERTIES FOR SERVER CONFIGURATION;
Check output: verify Telemetry enabled and servers list is correct. For example:
Telemetry Server configuration list
Messaging Services configuration = bootstrap.servers:server1:9092/
Telemetry Server enabled = TRUE
- Check project status
Execute command: LIST ALL PROPERTIES FOR PASTATISTICS IN PROJECT «<project_name>»;
This command will show this output:
Project = Platform Analytics
Basic Statistics = True
Detail Report Jobs = False
Detail Document Jobs = False
Job SQL = False
Columns Tables = False
5. Run PA health check script
Run healthcheck script: platform-analytics-health-check.sh located in: ../MicroStrategy/install/PlatformAnalytics/bin
It is an end to end check so prepare Project GUID and Report GUID to start the script. Sample output of the script:
******* Health Check Summary ********
Platform Analytics MySQL Warehouse PASS
Platform Analytics Redis Server PASS
Platform Analytics Kafka Cluster PASS
You can analyze the results in log that will be created here: ../MicroStrategy/install/PlatformAnalytics/log with the name platform-analytics-consumer-health-check-<timestamp>.out. It contains a number of tests results which verify health system.
6. Check if all services are up and running
- Postgres: ../Postgresql_Server.sh start
- Zookeeper: ps -ef | grep -i zookeeper.server
- Kafka: ps -ef | grep -i Kafka.Kafka
- Kafka Consumer: ps -ef | grep -i KafkaConsumer or ../MicroStrategy/install/IntelligenceServer/KafkaConsumer/KafkaConsumer.sh status
- Redis: ../MicroStrategy/install/Redis/redis.sh status
- PA Consumer: ../MicroStrategy/install/PlatformAnalytics/bin/platform-analytics-consumer.sh status
To start services, please start the following scripts (in this order!)
- Postgres: ../Postgresql_Server.sh start
- Zookeeper: ../MicroStrategy/install/MessagingServices/Kafka/kafka_2.12-2.2.0/bin/zookeeper-server-start.sh -daemon ../MicroStrategy/install/MessagingServices/Kafka/kafka_2.12-2.2.0/config/zookeeper.properties
- Kafka: ../MicroStrategy/install/MessagingServices/Kafka/kafka_2.12-2.2.0/bin/kafka-server-start.sh -daemon ..MicroStrategy/install/MessagingServices/Kafka/kafka_2.12-2.2.0/config/server.properties
- Kafka Consumer ../MicroStrategy/install/IntelligenceServer/KafkaConsumer/KafkaConsumer.sh start
- Redis ../MicroStrategy/install/Redis/redis.sh start
- PA Consumer: ../MicroStrategy/install/PlatformAnalytics/bin/platform-analytics-consumer.sh start
7. Verify data is written to platform_analytics_wh
In Platform Analytics warehouse, there are different sets of tables populated from different data pipelines.
To confirm that all the producers are producing data, check the following tables.
- Fact tables
Verify Fact tables are receiving statistics data
- Check data is inserted in access_transactions table, run the following query: SELECT count(*) FROM platform_analytics_wh.access_transactions
- Run a report a verify that count increased
- Lookup tables
Verify Lookup tables are receiving statistics data
- Check data is inserted in access_transactions table, run the following query: SELECT object_type_id, count(*) from lu_object group by object_type_id;
- You should see counts for different object types
8. Your problem was still not solved? Below find the list of most important logs that you can find useful hints
- To verify whether the initial load of Metadata Telemetry Objects process was successful, review the MetadataObjectTelemetry log file. By default, the MetadataObjectTelemetry log is enabled and can be found in the log folder../MicroStrategy/log.
- Kafka producer log. Shows configuration properties (if incorrect then update via Command Manager), status, errors, etc.
- Kafka services log
- Kafka consumer log
- Redis log
- PA logs
- PA configuration files
This file will contain lines with the Kafka and Zookeper connection:
kafkaTopicsDoNotCreateList: zooKeeperConnection: <server_1>:2181
kafkaConsumerProperties: bootstrap.servers: <server_1>:9092
# acks: all
redisServer: 127.0.0.1 redisPort: 6379
Refer to documentation link for additional details.
Hopefully using the above information, you were able to get your Platform Analytics up and running. In the next post we will tell you how to monitor PA environment, especially to control its size.