Elastic Stack ofrecida por Track Log Express Node JS

Elastic Stack

Track Log Express Node JS ofrece Elastic Stack

Elastic Stack — Si es un desarrollador web que usa aplicaciones Node JS con Express como marco, estará claramente de acuerdo en que esta tecnología es una tecnología estable de una sola pila MERN (Mongo Express React Node) que se usa comúnmente en aplicaciones profesionales.

Elastic Stack
Componente de pila MERN

Pero el problema que surge es, ¿qué pasa si queremos ver un registro completo de la aplicación MERN que estamos ejecutando?

Por supuesto que hay muchas respuestas como: Winston, Bunyan, Node-Loggly e incluso Elastic Stack.

Pero en este documento, implementaremos y crearemos un nodo de registro de aplicaciones utilizando Elastic Cloud, un SaaS proporcionado por la empresa Elastic para registrar aplicaciones o sitios web públicamente.

En su aplicación…

Elastic Cloud se usa para capturar y manipular datos, como análisis, presentación y agregación de registros para obtener resultados de los registros generados por Elastic Agent (un agente/extensión que registra actividades en nuestro sitio.

Elastic Stack
Ejemplo de un diagrama de arquitectura de registro de aplicaciones fullstack usando ELK

Elastic Logstash y Kibana son elementos separados en el registro que usaremos en la aplicación, con la siguiente composición:

Logstash

Para capturar datos desde backend, frontend o middleware, por lo general, los datos se capturan aleatoriamente y se envían a elasticsearch

Elasticsearch

Un módulo de servidor que contiene datos de registro en forma de JSON y se puede realizar mediante el método PGPD, que generalmente se realiza en middleware

Kibana

Herramientas de Business Intelligence que sirven para mostrar resultados de log como tableau

Para empezar solo usamos Elasticsearch y Kibana Module proporcionado por Elastic Cloud

Elastic Stack
Nube elástica

Primero nos registraremos en la nube elástica y crearemos un índice que será el índice base para capturar los registros.

A continuación, primero abra el menú Monitoreo del rendimiento de la aplicación, APM es el conector de nuestra aplicación a la nube elástica.

Elastic Stack
Panel de control de nube elástica

Para comenzar a conectarse al registro de aplicaciones de Elastic, comience a escribir en la terminal npm:

npm install elastic-apm-node
Elastic Stack
Nodo elástico apm instalado

Después de instalado, agregue el código en la aplicación que se ha creado, para NodeJS y Express, haga la adición en app.js/index.js (según el archivo principal destinado a ejecutar la app)

var apm = require('elastic-apm-node').start({// Override the service name from package.json// Allowed characters: a-z, A-Z, 0-9, -, _, and spaceserviceName: 'namaservice',// Use if APM Server requires a secret tokensecretToken: 'namatoken',// Set the custom APM Server URL (default: http://localhost:8200)serverUrl: 'serverurl',// Set the service environmentenvironment: 'production'})

Después de agregar, ejecute la aplicación usando npm.

Cuando se ejecuta la aplicación, la aplicación se conectará automáticamente a SaaS Elastic Cloud. A continuación, realice un seguimiento del registro de la aplicación en la lista de servicios utilizados:

Servicio de lista

Haga clic en el nombre del servicio en la cuadrícula, luego el siguiente análisis se mostrará así:

Ejemplo de volcado y análisis de Express Stack con Elastic Cloud

A continuación, manipularemos los datos de índice y agregación usando kibana y herramientas de desarrollo, espere la siguiente parte…


Si le interesa, puede echar un vistazo a algunos de los otros artículos que he escrito recientemente sobre Laravel:

Recent Post