El presente artículo tiene como objetivo la presentación de información necesaria para generar reportes personalizados en WSO2 Identity Server Analytics.
Para ello se presenta un preámbulo sobre la inicialización de WSO2 Identity Server Analytics, así como la configuración de un datasource externo que será utilizado por WSO2 IS Analytics.
Prerrequisitos para iniciar WSO2 IS Analytics y generar reportes personalizados
Para iniciar correctamente la herramienta de WSO2 IS Analytics se debe realizar los siguientes pasos.
1.- Habilitar Analytics en WSO2 Identity Server
El primer paso para esta actividad es editar el archivo identity.xml en la ruta <WSO2IS_HOME>/repository/conf/identity/ donde se activaran los siguientes listeners:
Listener | org.wso2.carbon.identity.data.publisher.application.authentication.AuthnDataPublisherProxy |
Objetivo | Este listener es necesario para habilitar el análisis de sesión y el análisis de inicio de sesión. |
Configuración | <EventListener type=”org.wso2.carbon.identity.core.handler.AbstractIdentityMessageHandler”
name=”org.wso2.carbon.identity.data.publisher.application.authentication.AuthnDataPublisherProxy”orderId=”11″ enable=”true”/> |
Listener | org.wso2.carbon.identity.data.publisher.application.authentication.impl.DASLoginDataPublisherImpl |
Objetivo | Habilite este listener, sólo si desea analizar estadísticas relacionadas con intentos de inicio de sesión a través de WSO2 IS. |
Configuración | <EventListener type=”org.wso2.carbon.identity.core.handler.AbstractIdentityMessageHandler”
name=”org.wso2.carbon.identity.data.publisher.application.authentication.impl.DASLoginDataPublisherImpl” orderId=”10″ enable=”true”/> |
Listener | org.wso2.carbon.identity.data.publisher.application.authentication.impl.DASSessionDataPublisherImpl |
Objetivo | Habilite este listener, sólo si desea analizar estadísticas para sesiones específicas en WSO2 IS Analytics. |
Configuración | <EventListener type=”org.wso2.carbon.identity.core.handler.AbstractIdentityMessageHandler”
name=”org.wso2.carbon.identity.data.publisher.application.authentication.impl.DASSessionDataPublisherImpl” orderId=”11″ enable=”true”/> |
2. Iniciar el nodo worker
Para iniciar el nodo de worker, dirigirse a la ruta <WSO2IS-ANALYTICS_HOME>/bin/
Ejecutar el siguiente comando:
En Windows: worker.bat
En Linux: ./worker.sh
3.- Iniciar el nodo dashboard
Para iniciar el nodo dashboard, dirigirse a la ruta <WSO2IS-ANALYTICS_HOME>/bin/
Ejecutar el siguiente comando:
En Windows: dashboard.bat
En Linux: ./dashboard.sh
4. Creación de un DataSource externo
En el archivo deployment.yaml, que se encuentra en la ruta <ISA_HOME>/conf/dashboard/, se debe agregar el nuevo datasource en la fragmento wso2.datasources con la siguiente información:
Parámetro | Descripción |
name | Nombre del datasource.Ejemplo: WSO2EVENTUSER |
description | Breve comentario sobre el datasource. |
JndiConfig | |
name | Nombre por el cual se identifica el jndi.Ejemplo: jdbc/WSO2EVENTUSER |
definition | |
type | Tipo de base de datos.Ejemplo: RDBMS |
configuration | |
jdbcUrl | URL donde se encuentra alojada la base de datos.Ejemplo: jdbc:mysql:/{/LOCALHOST}:{PORT}/WSO2EVENTUSER?useSSL=false |
username | Nombre de usuario de la base de datos.Ejemplo: root |
Password | Contraseña del usuario de la base de datos.Ejemplo: root |
driverClassName | Clase del driver utilizado para la conexión a la base de datos.Ejemplo: com.mysql.jdbc.Driver |
maxPoolSize | Numero máximo de conexiones permitidas.Ejemplo: 50 |
idleTimeout | Tiempo de espera para las sesiones inactivas en milisegundos.Ejemplo: 60000 |
validationTimeout | Tiempo de espera para validar un recurso en milisegundos.Ejemplo: 30000 |
isAutoCommit | Todas y cada una de las declaraciones a través de la conexión se ejecutarán en una transacción separada que se lleva a cabo implícitamente.Ejemplo: false |
- name: WSO2EVENTUSER description: "The data source used for WSO2 IS Analytics statistics" jndiConfig: name: jdbc/WSO2EVENTUSER definition: type: RDBMS configuration: jdbcUrl: 'jdbc:mysql://{LOCALHOST}:{PORT}/WSO2EVENTUSER?useSSL=false' username: root password: root driverClassName: com.mysql.jdbc.Driver maxPoolSize: 50 idleTimeout: 60000 validationTimeout: 30000 isAutoCommit: false</code data-language="yaml">
Para finalizar se deberá reiniciar el servicio del nodo dashboard.
Para ingresar al portal de Analytics, se deberá dirigirse a la siguiente url https://localhost:9643/portal/
Ingresar las credenciales del usuario, las cuales por defecto son:
Usuario: admin
Contraseña: admin
Una vez ingresado al portal, se mostrará los dashboards que se tienen configurados y las opciones para crear los widgwet y los dashboard.
5. Creación de un Widget
Para crear un widget se debe dar clic en Create Widget, donde se pedirá que se nombre el nuevo widget.
Posteriormente se mostrará un listado de las opciones que WSO2 IS Analytics que maneja por defecto, para este caso de ejemplo es RDBMS Batch Data Provider.
Continuando con este paso, se pedirá los siguientes datos:
Parámetro | Valor |
Nombre del DataSource, este dato se encuentra en el archivo deployment.yaml, que se encuentra en la ruta <ISA_HOME>/conf/dashboard/ | WSO2EVENTUSER |
La consulta por la que se obtendrá la información para el reporte personalizado | SELECT * FROM EVENT_USER |
Como dato adicional se puede hacer una consulta con parámetros, para ello se debe definir los valores por defecto que se tendrá en los parámetros, como anteriormente se muestra en la imagen.
Siguiendo en el paso, se pedirá información sobre la tabla de la cual se a realizado la consulta, como son:
Parámetros | Descripción |
Table Name | Nombre de la tabla.Ejemplo: EVENT_USER |
Incremental Cloumn | Columna con dato incrementalEjemplo: ID |
Time Columns | Columna donde se encuentra en formato long la fecha |
Una vez realizado este paso se procede a dar clic en NEXT.
Posteriormente se mostrará un listado de los diferentes reportes personalizados que se pueden crear en la herramienta, para caso de este ejemplo se seleccionará la opción de TABLE CHART.
Donde se mostrará las columnas que se manejan en la consulta que se ingresó en pasos anteriores , en los cuales se puede configurar las siguientes acciones.
Parámetro | Descripción |
Select Column | Si se desea que se vea la columna en el reporte |
Enable Color Based Categorization | Si se quiere mostrar una agrupación de celdas con el mismo color |
Title of the Column | Nombre que se quiere que se muestre la columna en los reportes personalizados. |
Time formatting regex if the column contains time series data | Expresión regex para darle formato si la columna se trata de una fecha Ejemplo: %d/%m/%Y %H:%M:%S |
Color of Text in Cell | Definición de color que se desea presente el texto en las celdas |
Color set to use in the charts | Definición de color para un grupo de celdas |
If certain categories are required to be grouped in a certain color | Definición del grupo de celdas a las cuales se les aplicará el color, anteriormente definido |
Siguiendo con este paso, se mostrar unas opciones referentes a la tabla que se generará por el reporte en la cuales en el orden que aparecen se definen.
- Número máximo de filas que se puede manejar en la tabla.
- Si se desea manejar la paginación en la tabla.
- Si se quiere que la tabla pueda filtrar su información.
- Si se quisiera que la tabla siempre cubra las filas que se definieron en el paso anterior, no recomendable.
Para validar que la configuración se realizó correctamente se puede dar clic en el botón de PREVIEW.
Una vez finalizada la configuración se debe dar clic en CREATE para generar los reportes personalizados.
6. Creación de un Dashboard
Una vez generado el nuevo Widget se puede crear un nuevo Dashboard, para eso de igual manera que al momento de generar el nuevo Widget se debe dar clic en la opción CREATE DASHBOARD, en la página de inicio del portal.
En la cual se mostrar un formulario donde se pide la siguiente información.
Parámetro | Descripción |
Name of your Dashboard | Nombre del nuevo Dashborad. |
Url | Nombre del dasboard en minúsculas y sin espacios. |
Description | Breve comentario sobre la funcionalidad o área que cubre el reporte. |
Una vez concluido el llenado del formulario se debe dar clic en el botón de ADD, para finalizar la creación del nuevo dashboard.
Posteriormente se redireccionará al inicio del portal, donde se seleccionara el nuevo Dashboard en forma de Design.
En el cual se mostrará el workspace donde se alojarán los reportes personalizados, en la cual se existen 2 opciones de menú, en la cual:
- La primera es para configurar la página del Dashboard.
- La segunda es para agregar los widgets.
Seleccionando la opción de Widgets, se podrá con el simple arrastre de los componentes colocarlos en el workspace.
En la cual se podrá enlazar, si es que tiene el widget parámetros de entrada. Por ejemplo con el DATE TIME de analytics.