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.
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 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
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.
Para comenzar a conectarse al registro de aplicaciones de Elastic, comience a escribir en la terminal npm:
npm install elastic-apm-node
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:
Haga clic en el nombre del servicio en la cuadrícula, luego el siguiente análisis se mostrará así:
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: