Instalar y configurar MicroStrategy Platform Analytics con Postgres ha sido toda una aventura llena de problemas. En esta entrada ire paso a paso para describir cómo finalmente lo he conseguido instalar en mi entorno de pruebas Windows. ¿Comenzamos?
Especificación del entorno
- Microsoft Windows 10
- MicroStrategy 2020 update 2
- Postgres 13
Instalación
Si ya tienes una instalación de MicroStrategy pero no tienes instalado el componente Platform Analytics debes seguir los siguientes pasos:
- Ejecuta el instalador de MicroStrategy (sino lo tienes lo puedes descargar desde la web del fabricante)
- En la siguiente ventana asegúrate de tener marcado el componente Platform Analytics y Servidor de Telemetría. Sino es así marcalos y finaliza la instalación.
Activar la telemetría
- Abre la herramienta Configuration Wizard
- Selecciona Configurar Intelligence Server
- Sigue las instrucciones hasta llegar a la sección Configuración de Platform Analytics. En ella activa la telemetría y asegúrate de poner el nombre completo del servidor. No se recomienda escribir localhost ni la dirección IP. El puerto por defecto es 9092.
Configurar Platform Analytics
Aquí llega lo más problemático. Si te ocurre como a mí, hasta ahora MicroStrategy no nos ha preguntado donde queremos guardar los datos de Platform Analytics y debemos configurarlo a mano.
BBDD y usuario
Abre Postgres y ejecuta las siguientes sentencias en el orden indicado. En mi caso he abierto pgAdmin por que me resulta más cómodo para ejecutarlo, pero puedes usar tu herramienta favorita.
CREATE USER mstr_pa WITH ENCRYPTED PASSWORD 'password' NOSUPERUSER CREATEDB; CREATE DATABASE platform_analytics_wh GRANT ALL ON DATABASE platform_analytics_wh TO mstr_pa; CREATE SCHEMA platform_analytics_wh; GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA platform_analytics_wh TO mstr_pa; ALTER ROLE mstr_pa IN DATABASE platform_analytics_wh SET search_path TO platform_analytics_wh;
Encriptar la contraseña
Hemos creado un usuario de Postgres llamado mstr_pa con una contraseña, pero necesitamos encriptarla. Esto lo vamos a conseguir con la herramienta llamada platform-analytics-encryptor.
- Diriguete a C:\Program Files (x86)\MicroStrategy\Platform Analytics\bin y edita el fichero platform-analytics-encryptor.bat con tu editor de texto.
- En la ultima linea escribe pause, guarda y cierra el archivo.
- Ejecuta el fichero (doble clic sobre él) y escribe la contraseña del usuario mstr_pa que queremos codificar.
- Copia y guarda la contraseña encriptada que te dice la herramienta.
Archivo de configuración Platform Analytics
En los siguientes pasos vamos a indicarle a MicroStrategy Platform Analytics el servidor de la base de datos y el usuario y contraseña (encriptada) que debe utilizar.
- Localiza el fichero PAConsumerConfig.yaml en la ruta C:\Program Files (x86)\MicroStrategy\Platform Analytics\conf y editalo con tu editor de texto.
- Localiza la línea pgWarehouseDbConnection y modifica:
- pgWhHost: nombre del servidor de la base de datos. No utilices localhost ni la IP, escribe el nombre.
- pgWhUser: usuario que hemos creado, en este caso es igual mstr_pa.
- pgWhPasswd: contraseña encriptada que hemos generado y copiado antes.
- pgWhPort: puerto de la base de datos
- pgWhDb: nombre de la base de datos, en este caso la misma que por defecto.
- Guarda el archivo.
JDBC de conexión
Por defecto, el sistema utiliza JDBC para crear las tablas de Platform Analytics. Si abres la carpeta C:\Program Files (x86)\MicroStrategy\Platform Analytics\lib puedes comprobar como el driver que utiliza por defecto es postgresql-42.X.X.jar (cópiate el nombre de la versión exacta). En mi caso, como Postgres 13 no es compatible con ese driver, he tenido que engañar a MicroStrategy de la siguiente forma:
- Descargate el ultimo driver JDBC de Postgres en su página web.
- Renombra el fichero postgresql-42.X.X.jar de la ruta C:\Program Files (x86)\MicroStrategy\Platform Analytics\lib por postgresql-42.X.X_old.jar
- Renombra el fichero descargado con el mismo nombre que el de la carpeta lib
- Copia y pega el driver descargado en la misma ruta y ojo, renombrado con el nombre exacto que tenia antes.
Fichero configuración Postgres
El sistema que crea las tablas en Postgres utiliza un acceso a la base de datos del tipo ident en pg_hba. Por no liarte con temas teóricos vamos al grano…
- Localiza en tu instalación de Postgres el fichero pg_hba.conf, habitualmente en C:\Program Files\PostgreSQL\13\data.
- Desplazate a la ultima linea y escribe:
host all all 0.0.0.0/0 md5
Scripts para postgres
En este paso vamos a ejecutar un script que se encarga de crear las tablas, vistas y demás objetos necesarios para que Platform Analytics funcione. Una vez más MicroStrategy no nos lo pone nada fácil ya que el script sql contiene un error y debemos solucionarlo nosotros mismos.
Modificación
- Localiza el fichero Platform_Analytics_DDL.10.10.0.sql ubicado en C:\Program Files (x86)\MicroStrategy\Platform Analytics\src_pg\updates.10.10.0\DDL
- Editalo con un editor de texto y localiza la linea 10.984. Sustituyela por (-2147205009, ‘The object name cannot contain the reserved characters .’),
Permisos
- Localiza la carpeta Platform Analytics en C:\Program Files (x86)\MicroStrategy\ y haz clic derecho sobre ella y selecciona Propiedades.
- En la pestaña Seguridad asegúrate que los usuarios tienen Control total sobre la carpeta, sino es así pulsa el botón editar y otorga los permisos.
Ejecución
- Abre la linea de comandos de Windows con permisos de administrador y escribe cd C:\Program Files (x86)\MicroStrategy\Platform Analytics\bin
- Después ejecuta este comando platform-analytics-custom-install.bat -o install
- Al finalizar abre el fichero platform-analytics-installation.log de la carpeta C:\Program Files (x86)\MicroStrategy\Platform Analytics\log y comprueba que en las ultimas lineas pone que todo ha salido correctamente.
- Si todo ha ido OK, ejecuta también el siguiente comando para iniciar el servicio Platform Analytics Consumer, platform-analytics-consumer.bat start
Si todo a ido como debería, si abres Postgres deberás ver un esquema llamado platform_analytics_wh dentro de la BBDD platform_analytics_wh con muchas tablas vacías.
Crear ODBC
Abre los Orígenes de datos ODBC de Windows y comprueba que tienes creado uno llamado PLATFORM_ANALYTICS_WH y que apunta a la BBDD platform_analytics_wh. Si has configurado los metadatos con Postgres ya lo sabrás, pero sino, es posible que tengas que instalarte un ODBC actualizado de Postgres y utilizarlo en lugar de usar el que proporciona MicroStrategy.
Crear el proyecto
Para crear el proyecto Platform Analytics usaremos el asistente de configuración:
- Abre Configuration Wizard.
- Selecciona la opción Cree un proyecto de Platform Analytics
- Selecciona el ODBC que hemos creado y utiliza el usuario mstr_pa y la contraseña de la base de datos.
- Pulsa Siguiente y finaliza el asistente.
Cargar datos de telemetría
- Accede a MicroStrategy Developer con el usuario Administrator.
- Abre el proyecto Platform Analytics.
- Despliega la Administración de configuración y selecciona Eventos.
- Haz clic derecho sobre el evento Load Metadata Object Telemetry y pulsa Activar.
Puedes comprobar si ha ido bien abriendo el fichero MetadataObjectTelemetry.log ubicado en la ruta C:\Program Files (x86)\Common Files\MicroStrategy\Log
Actualizar el proyecto
MicroStrategy recomienda actualizar el proyecto para incluir siempre las ultimas mejoras. Para ello sigue los siguiente pasos:
- Abre Configuration Wizard de nuevo.
- Selecciona la opción Actualizar el entorno existente a MicroStrategy Analytics Enterprise.
- En la siguiente ventana selecciona Actualizar el proyecto de Platform Analytics.
- Continua con el asistente hasta finalizar.
Resultado
Después de toda esta odisea que MicroStrategy debería mejorar en futuras versiones, sí esperamos a que se lancen las planificaciones ya tendremos datos en nuestro nuevo proyecto o puedes ejecutar tu desde Developer en la ruta \Platform Analytics\Objetos públicos\Reports\2. Utilities
Recuerda que el servicio MSTR_PlatformAnalyticsConsumer entre otros debe estar activado, lo puedes comprobar en los servicios del panel de control de Windows.
Si accedes vía web al proyecto podrás ver los dossier predefinidos.
Hola,
Genial la guía, muy útil. Solo comentarte que en el paso anterior a hacer el GRANT sobre el esquema, te faltaría añadir la creación del propio esquema:
CREATE SCHEMA platform_analytics_wh;
Muchas gracias!
Saludos,
Gracias por tu aporte, lo he incluido en el post. Espero volver a verte pronto por el blog 🙂