Estamos orgullosos de presentar nuestro próximo paso en el desarrollo de nuestra Wizzie Data Platform, que en este caso se llama «Dance». En este caso, hemos agregado un sistema de autenticación y autorización basado en organizaciones, optimizado el uso de los recursos y la estabilidad de la implementación, así como también algunas funciones de análisis para nuestra interfaz de visualización. Finalmente, facilitamos la configuración de WDP con el «Workflow Package Management», que permite importar/exportar conjuntos de configuración completos para las organizaciones.

Andrés Gómez

 

En los últimos meses, hemos estado trabajando duro en nuestra WDP (Wizzie Data Platform) para pasar al siguiente nivel. Estos son los aspectos más importantes que puedes encontrar en esta versión:

Sistema de autenticación y autorización basado en organizaciones.

Ahora, Wizz-In y Wizz-Vis trabajan juntos para crear el sistema de autenticación de usuarios y autorización de datos basado en lo que llamamos «organizaciones». Esta nueva característica le permite al usuario ver y trabajar sólo con aquellos paneles y fuentes de datos que pertenecen a una organización determinada.

Distribución de microservicios inteligentes

WDP «Dance» ahora es más inteligente que su predecesor, WDP «Country». Ahora, cuando WDP se distribuye a través de un clúster Kubernetes, utiliza lógica pod priority, affinity, y anti-affinity. Usando esta nueva lógica, WDP puede optimizar el uso de recursos y mejorar la estabilidad de la implementación.

Interfaz de visualización

Hemos mejorado nuestra interfaz de visualización agregando algunas características analíticas. Con «Dance», Wizz-Vis recibe dos funciones analíticas importantes: Global Time Interval & Dimension Filters.

Esto permite aplicar filtros globales a un dashboard y proporciona la capacidad de mover la ventana de tiempo a un momento específico, o usar filtros en todos los widgets al mismo tiempo. El filtro de dimensiones también proporciona un descubrimiento automático de dimensiones y valores. Puedes encontrar más información sobre el selector de tiempo aquí.

Para esta versión también hemos desarrollado dos agregadores de Druid que hemos contribuido a la comunidad, llamados stringFirst y stringLast. Están disponibles a partir de la versión Druid 0.13.0. Además, ahora algunos widgets que admiten estos nuevos agregadores mejorarán su funcionalidad, rendimiento y precisión.

 

Wizzie Workflow

Esta versión añade la función Workflow Package Management . Esta característica permite exportar, importar y eliminar toda la configuración del workflow para una organización específica. Puedes comprimir y guardar el caso de uso completo dentro de un único archivo, y cargar casos de uso completos para diferentes organizaciones utilizando una simple solicitud.

El motor del Normalizer también ha recibido nuevas funciones para operar en streams y el Enricher ahora es compatible con global table joiners. Puede crear estados de tablas globales a partir de los streams y enriquecer estos streams de datos sin tener que volver a reparticionar todo el stream. ¿Quieres saber más sobre las tablas globales? Echa un vistazo aquí. Y, para las funciones de mapeo del normalizador, consulta esta página.

Soporte de Datasets estáticos

¡Ha llegado el Batch Data Loader! Ahora, Batuta (que es nuestro administrador de control de configuración) tiene un nuevo endpoint que permite cargar un conjunto de datos estáticos por lotes desde fuentes externas como Hadoop HDFS, Amazon S3, Google Storage, Azure Storage y otros. Esta nueva característica proporciona la posibilidad de cargar y trabajar con datos históricos raw utilizando toda la potencia de WDP.

Modo del editor CLI

«Dance» también ayuda a los administradores de WDP a acelerar su trabajo. Ahora, el WDP-CLI dispone de un nuevo comando, llamado edit, que permite configurar la plataforma y las variables de usuario con su editor favorito.

Soporte de Aerohive RTLS

A Dance le encantan las cosas que se mueven y por ello ahora viene con el nuevo conector Aerohive RTLS. WDP puede recopilar, transformar, enriquecer e indexar los datos de los streams de Aerohive. Este nuevo conector, que viene con funcionalidades para nuestro propio Mobility Engine, permite crear casos de uso de ubicación interesantes.

Changelog

Features

  • Support GlobalKTable at enricher engine
  • [Wizz-Vis] User invitation process for a organization in wizz-in
  • Global interval per dashboard.
  • WDP smart microservices distribution
  • Caching system on GUI
  • Implement druid mobility support
  • Authentication system on Wizz-Vis
  • Text widget
  • Threshold lines for graphs
  • Aerohive support
  • Enricher capability to repartition output streams before send to Kafka
  • Normalizer map flatten function
  • WDP integration in AMI
  • Config vars management on Prelude
  • WDP code protection in AMI
  • Heatmap legend
  • Dashboard search bar
  • [Wizz-In] Organizations and API Tokens
  • [Normalizer] Support UpperCase and LowerCase String function
  • [Terra-box] Update Terra-box to support terraform-provider version 1.2.2
  • [Wizz-Vis] Default granularity
  • [Wizz-Vis] Dashboard visualization and management based on organizations
  • [Wizz-Vis] Global Dimension Filter
  • [Terrabox] Add support for enricher global topics
  • Terraform plan support on WDP-CLI
  • [Batuta] Allow to load batch data indo Druid
  • [Enricher] Create BaseEnrich to enrich with static data
  • [Batuta] Allow to control druid supervisor management properties
  • [Wizz-Vis] Back Link on WidgetImage
  • [Normalizer] DecimalPrecision Mapper Function
  • WidgetPlane customization

Improvements

  • Control Kong memory management
  • [Terra-box] Automate wizzin and wizzvis URL configuration in terra-box
  • [WDP-CLI] Return error codes when execution fails.
  • [WDP-CLI] Automatize Init command execution when performing changes on deploy configuration
  • [Prelude] Avoid user-component plugin deletion when deleting plugin from global. All user-component plugins must be deleted first.
  • [Prelude] Interruption management to ensure terraform state is saved
  • [Wizz-Vis] Possibility of hiding the legend at WidgetHeatmap and WidgetPlane
  • [Wizz-Vis] WidgetValue resize text value inside widget size
  • [Enricher] Review docs
  • [OTX-Reputation] Migrate to Circle-CI 2.0
  • Support __MATCH filter on FormatterFlatMapper function
  • [Normalizer] Allow to support insert multiple input topics inside the same stream
  • [Batuta] Check that kafka topics exist when send new stream-plan
  • [Enricher] Update MaxMind GeoIP Service to GeoIP2
  • [Batuta] Control overlapping dimensions and metrics
  • [WDP-CLI] Improve wdp-cli lib to avoid duplicate code
  • [Wizz-Vis] Improve the text on the navbar to make it more clear
  • [Wizz-Vis] Update the dashboard associated to a widget through the API
  • [Wizz-Vis][Documentation] Improve wizz-vis documentation
  • [Wizz-Vis] Homogenize the attribute metrics inside options.
  • [Wizz-In] Limit the access to /oauth/applications only to administrator users
  • [Wizz-Vis Enterprise] Limit the access to sidekiq only to administrator users
  • [Mobility Engine] Add consolidated dimension to global stream
  • [Normalizer] Add filter sink validation to check if the filter is valid before try to build
  • [Normalizer] Review Try-Loop exception cases
  • [Prelude] Improve terra-box flavours configuration for WDP deploys via prelude
  • [WDP-CLI] Allow branches and commits id as versions when using wdp deploy set-version command and plugins
  • [AMI] SSH Keys management in AMI wdp command, to ensure that prelude can be used in all aws cluster nodes
  • [Wizz-Vis] Avoid docker failure if database can’t be created but already exists
  • Improve wizz-vis login interface design
  • Automatic EKS authorization
  • Modify module source parameter in terrabox to use local paths instead of git paths
  • Include PropTypes and defaultProps properties at React components.
  • Use redux on Wizz-Vis for managing states.
  • [Wizz-Vis] Control datasource’s authorization at Wizz-Vis API
  • [Wizz-Vis] Dynamic time ranges
  • [Normalizer] Improve geofencing function
  • [Prozzie] Configure kafka logs rotation
  • [Wizz-Vis] Extend the color palette used on graphs.
  • [Wizz-Vis] Prevent WidgetImage and WidgetText to execute a Druid query.
  • [Wizz-Vis] round on hyperunique metrics.
  • [Wizz-Vis] Reduce webpack bundle size for production

 

Bugs

  • Prozzie monitor environment variables do not match with container ones
  • [WDP-CLI] Unmanaged exception when executing wdp config deploy current with an existing but empty cli.yml
  • [Wizz-Vis] Global Time selector doesn’t allow to write date with Safari
  • [Normalizer] JoinMapper use delimitier property instead of delimiter
  • [Wizz-Vis] Prevent all widgets crash when one widget doesn’t work on the same dashboard
  • [Wizz-In] Error creating an organization without selecting an owner.
  • [Wizz-Vis] Change the PRIMARY_COLOR not change the global time selector calendar
  • [Wizz-Vis] WidgetTable doesn’t resize the text inside its column
  • [Wizz-Vis] Error on WidgetMultiserie when there are only points in a single timestamp moment.
  • Fix data repo dependency vulnerabilities
  • [Mobility Engine] Mobility send messages with timestamp older than start execution time
  • [Mobility Engine] Mobility crash when report.time.seconds property is not defined
  • [Prelude] Prelude doesn’t create some component folders
  • [Prelude] Plugin removing feature isn’t working correctly
  • [Prelude] Prelude plugin config vars doesn’t work
  • [WDP-CLI] wdp wrapper script can’t recognize commit message as multiword message, interpreting each word as a different option
  • [Prelude] wdp init command removes static and flavour vars
  • Batuta remove consumer.id from kafka topics (topic name inclusive)
  • MQTT kafka connector stop when receives connection timeout
  • Batuta doesn’t control druid redirects when druid (overlord and coordiantor) works on HA
  • [Normalizer] maven artifacts have wrong names
  • Wizz-In doesn’t work with kong 0.14
  • Error displaying charts on Internet Explorer 11
  • [Normalizer] ClassificationMapper throws null pointer when dimension value is null
  • WidgetValue with compare enable, crash when receive -Infinity druid value
  • Mobility wrong output messages on some corner cases.
  • [Normalizer] The replaceMapper function doesn’t work with null values
  • ZZ-CEP repo doesn’t work with mvn release:perform -P docker
  • Heatmap color aggregation doesn’t work properly
  • [Wizz-In] When making a Oauth login, redirect correctly to the client after a failed login.
  • Bug on compare feature at WidgetTable
  • Security issue on rubyzip gem
  • Error assigning color to markers at WidgetPlaneLocation
  • Error on Wizz-Vis login with OAuth process.
  • [Wizz-Vis] Bug building docker container with plugins
  • [Wizz-In] Error creating a new organization when there are one or more already created.
  • Heatmap legend doesn’t adjust under widget resize (small size)
  • Heatmaps plane represents heatmap layer out of widget
  • [Wizz-Vis] Security vulnerability on nokogiri gem.
  • [Wizz-In] Sendmail not installed on the docker image
  • [Wizz-In] Error sending emails using sendmail
  • [Wizz-Vis-Enterprise] Error running migrations
  • [Wizz-Vis] Error at WidgetValue with compare activated
  • Normalizer should close when crashes
  • [Wizz-Vis] Widget’s endpoints disappear and are not shown in the API
  • [Wizz-Vis & Wizz-In] Buttons are no clickable in the whole area. Only are clickable in the text.
  • k2http does not start at prozzie linux_setup.sh end
  • [Wizz-Vis] Gem vulnerabilities
  • [ZZ-CEP] The zz-cep instance always use a 100% of CPU without stream-plan
  • Change mobility general behaviour to avoid problematic corner cases
  • [Wizz-Vis] Validate the value of col, row, size_x and size_y of a widget.
  • [Wizz-Vis] DrillDowns are not clickable
  • [Wizz-Vis] Javascript error on WidgetLocation
  • [Wizz-Vis] Fix error on main link at WidgetImage and render of markers at WidgetPlaneLocation
  • [Wizz-Vis] loofah gem vulnerability
Share This