WSO2

Cómo configurar WSO2 Identity Server Analytics para generar reportes personalizados | Tutorial

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 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 el reporte personalizado.
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 el reporte.

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, 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.

Written By

Pablo Ramos

Consultor TICs