MuleSoft Metrics Accelerator (III) - Modos de Ejecución


En este tercer post de la serie dedicada a Metrics Accelerator entraremos en sus detalles de configuración y veremos los ajustes necesarios para hacerlo funcionar en modo API o en modo Poller. Si todavía no conoces Metrics Accelerator o para qué sirve, te aconsejo que empieces por los primeros post y vuelvas a éste. Aquí abajo te dejo la lista de posts dedicada a Metrics Accelerator:

La aplicación de Metrics Accelerator viene preparada para trabajar en dos modos: API mode y Poller mode. Fundamentalmente para cubrir los dos grandes casos de uso que veremos a continuación:

API Mode

Como hemos visto durante el setup inicial en el primer post de esta serie, la aplicación nos proporciona una serie de endpoints que podemos consultar y obtener datos en cualquier momento. No hace falta configurar nada, estos endpoints estan siempre disponibles y nos generan un snapshot, es decir, una foto fija de nuestra plataforma en ese momento. Llamando a estos endpoint obtendremos el valor de las métricas que recoge nuestro Metrics Accelerator en ese mismo momento.
Metrics Accelerator nos expone tres endpoints, correspondientes a los tres tipos de métricas que la aplicación recoge:
  • Platform Metrics
  • Platform Benefits
  • SDLC Metrics
En el post Metrics Accelerator (II) - Tipos de Métricas explicamos en detalle cada tipo de métrica. Además, si vamos a trabajar en API Mode, disponemos de una Postman collection con el conjunto de requests preparadas que podéis encontrar el el proyecto GitHub de Metrics Accelerator.


Poller Mode

Sin embargo, en muchos casos, también nos va a interesar ver la evolución de esas métricas en el tiempo para identificar tendencias. Para conseguirlo, en Poller Mode podemos configurar Metrics Accelerator para que recoja las métricas de forma programada y llevárnoslas a nuestro sistema de visualización preferido como Splunk, ELK o Tableau.
Para ello, la aplicación nos permite configurar un scheduler que se ejecuta en base a una expresión Cron que podemos modificar. Para habilitarlo tenemos que cambiar un par de cosas en la configuración de la aplicación
  • Primero, desde Studio, modificaremos el fichero app-dev.yaml que tenemos dentro de la carpeta /src/main/resources/properties. (Este es el fichero de propiedades que viene por defecto en la aplicación, pero podéis crear el vuestro propio).
  • En la sección poller vamos a cambiar dos valores. El parámetro enabled a ¨true¨, con esto activaremos el Poller Mode. Y en el parámetro cron, dentro de frequency, incluiremos nuestra expresión cron que corresponde a la frecuencia con que queremos recoger métricas. Construir una expresión cron es muy sencillo, teneis en la web multitud de aplicaciones generadoras. Yo por ejemplo he utilizado ésta para calcular la expresión 0 0/5 * 1/1 * ? * que lo ejecuta una vez cada 5 minutos.

  • AnyPoint Credentials: Cuando trabajamos en poller mode es necesario que proporcionemos las credenciales de acceso a nuestra org a nuestra aplicación. Como veíamos en el primer post de esta serie, podemos proporcionar las credenciales de dos formas: directamente con un usuario y pass de la plataforma con permisos de Org Admin (platform credentials), o bien mediante una connected app a la que hayamos delegado la autorización (connected-app-credentials). La manera de especificar a la app, un set de credenciales u otro es modificando el fichero de propiedades. Necesitaremos modificar el parámetro mode, dentro de la sección auth e indicar uno de los dos valores: platform-credentials o connected-app-credentials.
image.png

  • Secure Properties: Las credenciales como tal no las introduciremos directamente sino, utilizando las Secure Configuration Properties, incluirlas encriptadas en el fichero app-dev.yaml (de nuevo, podéis utilizar también vuestro propio fichero). Atención!! este no es el fichero de propiedades de antes, este es el fichero de las Secure Properties y está en otra ubicación, está dentro de la carpeta /src/main/resources/properties.secure

Con estas modificaciones ya tendriamos configurado Metrics Accelerator para acceder a nuestro AnyPoint en Poller Mode y recoger métricas periódicamente. El siguiente paso será llevarnos esas métricas a nuestro sistema de visualización, pero eso lo veremos en el siguiente post.
Previous Post Next Post