We decided to write this article after helping our customers in couple of upgrade projects to MicroStrategy 2020.
We wanted to gather all information needed to perform a successful installation of PA and address all common questions we answered during our engagements in one place.
There will be three articles that will form the part of the complete practical PA guide:
- How to prepare for and install PA step-by-step
- How to troubleshoot the installation and sudden service shortage of PA
- How to monitor and maintain Platform Analytics afterwards
Before we move to the step-by-step installation guide, let us answer some FAQ that come up before the PA installation.
What are the system requirements and how much of the extra space does our system need to install PA?
This is one of the most common questions we get. PA uses a lot of third party services like Kafka or Zookeeper that are file based. This means that they will generate a lot of logs and files that will occupy the space on hard drive.
Depending on the level of statistics you want to save, the space on the disk will vary. MicroStrategy recommends having ~85 GB of space for basic statistics and ~160 GB for advances ones.
This also depends on the usage of MicroStrategy, the more jobs are executed, the more statistics are being stored. The important part is to monitor the size of the repository and generated files after the installation and some period of time and adjust the disk size or adjust the PA settings.
Available PA data is stored in the cube that has a default limit set to 20GB or RAM. Therefore we need 20GB RAM memory to store the cube. This value can be adjusted in the PA project settings.
Details on MicroStrategy recommendations can be found in this TN.
Will it affect the performance of already existing MicroStrategy components?
We did not notice any CPU performance deterioration nor disturbance among our customers. However, as we already mentioned above, the PA components are filed based therefore they generate files and logs that will occupy disk space of the system. We recommend, in productive environment, not to install it on the same machine as IS. And if this is the only option, to make sure that there is enough of free space and to monitor the environment after PA has been running for some time.
Why do I have to install PA if I have a perfectly running EM?
PA installation is optional and it does not have to be installed. It offers you a quick look at the statistics in a real-time using predefined dossiers. It also is integrated with Workstation and you can quickly see statistics on the particular dossier:
To see more detailed differences, please refer to the following article.
Should I cluster my PA environment?
Depends if you consider PA a critical service and if it requires a high-availability. If you have an EM as a backup and do not consider PA as a critical function, we would not recommend clustering the PA service.
On which machine should I install PA components?
Platform Analytics supports installing all components on a single machine. However, this is not recommended for production environments where performance can be impacted by having limited machine resources being shared by all services.
As we mentioned before, as PA is mostly file based service, we recommend installing it on its dedicated machine. If not possible, to sure you monitor the repository and file size afterwards.
Details on where to find all the components and how to monitor its size, can be found on our blog.
Consider different installation scenarios:
1. dedicated PA for each non-prod environment and dedicated PA for production environment-
2. one PA for all non-prod environment and dedicated PA for production environment
3. one PA for all environments
4. PA only in production environment
More architectural examples can be found here.
The installation scenario can be chosen after answering some basic use questions, like: who will be the audience of PA? in which environment we need a real-time monitoring? Is it only administrative tool? etc
During our engagements we saw all of these scenarios being applied.
Now, after having the environment prepared with necessary resources, knowing if you want the PA service to be a high-availability one and you have chosen prefered installation scenario, we can move to the step-by-step installation guide!
Following diagram shows architecture:
(source: MicroStrategy community)
- Intelligence Telemetry (IS Kafka Producer)
This is the telemetry producer, sending data generated by Intelligence Server to the Telemetry Server – One per MicroStrategy Intelligence Server. Kafka producer is part of Intelligence Server and is installed automatically.
- Telemetry Server (Telemetry (Kafka Server) + Telemetry Manager (Zookeeper))
Kafka is a distributed streaming platform that processes and stores real-time data streams.
Telemetry Manager is a coordination server coupled with Telemetry component.
If you want to cluster your PA service, it is recommended cluster configuration, with a minimum of three Telemetry Servers (have odd number to ensure a “majority rule” to prevent data loss in case of discrepancies and failure). Usually deployed on Intelligence Server node. It is added when installing any server products.
- Telemetry Consumer (Kafka Consumer)
This component reads the data that the Intelligence Telemetry producers send to the Telemetry Server layer, transforms data and loads it in the PA repository. Run on any machine that can be connected to a Kafka Server, usually deployed on same server as Postgres. There must only be one Telemetry Store consumer writing data to one Platform Analytics Repository. It is part of the PA installation. To Telemetry Store consumer can be sent data from various IS from different environments.
- Telemetry Cache (Redis)
This component is used to improve the processing performance of the Platform Analytics Store. It comes with a PA deployment and is a single instance.
- PA Repository
This data warehouse stores all the MicroStrategy telemetry data processed by the Telemetry Store. This data is then used by the dossiers included with Platform Analytics project (out-of-the-box schema and application objects for Platform Analytics, including the standard Platform Analytics dossiers, attributes, metrics, and cubes). Configured automatically during PA installation.
Below we gathered some links, from which we gathered the above summary:
As reference for the MicroStrategy Installation and Configuration, please review following links:
- Installation and Configuration
- As reference for MicroStrategy Platform Analytics and Telemetry Server (previously named Messaging Services), please review following links:
Installation and configuration
For this guide, it is considered the following architecture (However we also talk about how to optionally cluster the Telemetry server and configure PA with two IS nodes):
- One IS
- One Web Server
- One server dedicated for MicroStrategy Platform Analytics (without Telemetry Server)
If you a have specific question about any other installation scenario, please leave it in a comment section and we will get back to you with an answer.
- Platform Analytics
- Install Platform Analytics (this includes creation of PA Repository) – by default it will also install Telemetry Server. After installation, you will get Telemetry Server installed and if you do not need it, you stop related Services
- Configure Telemetry Consumer (Kafka Consumer) and Telemetry Cache (Redis)
- Install MicroStrategy Intelligence Server and Telemetry Server
- Configure Telemetry Server (Telemetry-Kafka + Telemetry Manager-Zookeeper)
Configuration via MicroStrategy tools
- Create Platform Analytics project (via Configuration Wizard and Command Manager)
- Configure Telemetry logging (via Command Manager)
Before installation please make sure that the following prerequisites are met:
Ports Telemetry Server
- 2181 (Zookeeper)
- 9092 (Kafka Consumer)
- 2888 and 3888 (only if you plan to cluster three or more Telemetry Servers; 2888 to connect followers to leader and 3888 to elect leader)
Ports Platform Analytics
- 6379 (Redis)
- 5432 (Postgre)
Telemetry Server Installation/configuration
This component is installed by selecting the Telemetry Server option in the MicroStrategy Installation Wizard:
- Telemetry Server will be installed automatically when PA or IS is selected
- IS installation includes Intelligence Server Kafka Producer
- IS Log Consumer is part of the Telemetry Server installation
- Telemetry Server includes Telemetry (Kafka) and Telemetry Manager (Zookeeper) services are configured out-of-box and run automatically after installations is completed
In the installation wizard, you have the option to configure single or cluster:
- For single machine, uncheck cluster option and insert only local Telemetry Server (Fully Qualified Domain Name)
- For cluster, insert the local Telemetry Server (FQDN) and then the other Telemetry Servers in the cluster (FQDN)
• Repeat process when installing in other machines, inserting FQDN for corresponding servers
- The configuration can be changed later in configuration files – we will talk about this later.
- After installation following services are started:
• Telemetry (Kafka)
• Telemetry Manager (Zookeper)
• MicroStrategy Intelligence Server Log Consumer (Kafka Consumer)
Enable Telemetry Logging
You indicate the IS to which PA is should send statistics. Since a cluster uses the same server definition, both IS will report to the same, indicated consumer (on default port 9092).
There are two ways to do this in server definition:
- To list all feature flags in the server configuration:
LIST ALL FEATURE FLAGS;
- Enable “Messaging Service For Platform Analytics”:
ALTER FEATURE FLAG “Messaging Service For Platform Analytics” ON;
Note: recommended to keep “Sending Log to Messaging Services” OFF
- For single machine, execute command:
- ALTER SERVER CONFIGURATION ENABLEMESSAGINGSERVICES TRUE CONFIGUREMESSAGINGSERVICES “bootstrap.servers:server:9092/batch.num.messages:5000/queue.buffering.max.ms:2000”;
- For a cluster:
ALTER SERVER CONFIGURATION ENABLEMESSAGINGSERVICES TRUE CONFIGUREMESSAGINGSERVICES “bootstrap.servers:server_1:9092,
- Bootstrap.servers: Kafka server and port (single or cluster)
- Batch.num.messages: number of messages to send in one batch when using asynchronous mode
- Queue.buffering.max.ms: maximum time to buffer data when using asynchronous mode
Check status server
LIST ALL PROPERTIES FOR SERVER CONFIGURATION;
Verify output is correct – it should look similar to this:
Create and configure PA project
Using the configuration wizard add the Platform Analytics project to the Metadata.
If project already installed, you should select upgrade existing environment and then select to upgrade Platform Analytics project.
- For version 2020, this step also applies the command manager script which finalizes the configuration of the Platform Analytics project.
- In version 2019, you had to run script using command manager (path script …/PlatformAnalytics/util/PlatformAnalyticsProjectConfiguration.scp).
User and password for DSN can be found under: …/MicroStrategy/install/Repository in Default_Accounts.txt file
Enable Platform Analytics per project
Enable project logging
Repeat this command for each project where you want to enable Platform Analytics :
ALTER PASTATISTICS BASICSTATS ENABLED DETAILEDREPJOBS TRUE DETAILEDDOCJOBS TRUE JOBSQL TRUE COLUMNSTABLES TRUE IN PROJECT “Platform Analytics”;
- BASICSTATS ENABLED enables basic statistics
- DETAILEDREPJOBS TRUE enables detail report job statistics (set to FALSE to disable it)
- DETAILEDDOCJOBS TRUE enables detail document job statistics (set to FALSE to disable it)
- JOBSQL TRUE enables saving SQL of all jobs (set to FALSE to disable it)
- COLUMNSTABLES TRUE enables table statistics (set to FALSE to disable it)
Check project status
LIST ALL PROPERTIES FOR PASTATISTICS IN PROJECT “”;
Trigger the first load of Metadata manually:
…and now what?
After following presented steps you should have been able to access your PA project and see data in predefined dossiers. Not working? In the next post we will show you how to troubleshoot the installation and where to find all important logs that will help you to get your PA up and running. Stay tuned!