APM con Elasticsearch 8.x - Parte 2: Alertas en Kibana

Publicado el 31/10/2022

« Ver todas las conferencias Contáctenos
APM with Elasticsearch 8.x - Part 2: Alerts in Kibana

Introducción

Código en Github: Elasticsearch y monitorización del rendimiento de las aplicaciones

Vamos a configurar Monitoreo del rendimiento de las aplicaciones con Elasticsearch y Kibana. Si aún no tiene configurados APM, Elasticsearch y Kibana,siga estas instrucciones.

Este vídeo asume que estás usando Certificados firmados públicamente. Si estas usando Certificados autofirmados, Vaya aquí Por determinar.

Requisitos

Pasos

Paso 1: Configuración del servidor Kibana para habilitar alertas [05:30]

Siga los pasos a continuación para poder configurar reglas en Kibana

cd /usr/share/kibana/bin/

y ejecute el siguiente código.

./kibana-keystore add xpack.encryptedSavedObjects.encryptionKey

Cuando se le solicite ingresar un valor, pegue cualquier cadena de al menos 32 caracteres. Luego, reinicie Kibana.

systemctl restart kibana.service

Paso 2: Demostrar la regla de alerta de umbral de recuento de errores [08:45]

Inicie sesión en Kibana y vaya a Observabilidad > Alertas > Reglas, y haga clic en crear regla como se muestra en la imagen a continuación:

alt text Create Rule

Name: Error Rule Threshold Check every: 1 minute Notify: every time alert is active

Luego haga clic en Umbral de recuento de errores.

SERVICE: ALL ENVIRONMENT: ALL IS ABOVE: 2 errors FOR THE LAST: 1 minute

Luego presione ahorrar.

Ahora actualice la aplicación Go o Nodejs varias veces rápidamente. Una vez hecho esto, vuelva a Observabilidad > Alertas para ver la alerta aparecer como se muestra en la imagen a continuación:

alt text Alerta de umbral de recuento de errores

Puedes repetir la actualización de la segunda aplicación.

Paso 3: Demostrar la regla de alerta de umbral de tasa de transacciones fallidas [18:56]

Ir a Observabilidad > Alertas > Reglas, y haga clic en crear regla como se muestra en la imagen a continuación:

alt text Create Rule

Name: FailedTx Rate Check every: 5 minute Notify: only on status change

Luego haga clic en Umbral de tasa de transacciones fallidas.

SERVICE: ALL ENVIRONMENT: ALL IS ABOVE: 2% FOR THE LAST: 10 minute

Luego presione ahorrar.

Ahora abra el archivo index.js de la aplicación nodejs

vi node/apm/index.js

Pegue esto en el archivo

app.get('/fail', async (req, res) => ( const statnum = 500 res.status(statnum).send('Fail ' + statnum) ))

luego reinicie el servicio nodejs

systemctl stop nodeapm.service systemctl stop nodeapm.service

Ahora haga ping al punto final de manera constante durante unos 10 minutos y luego vuelva a verificar las alertas y tendremos algo tan similar a la imagen que se muestra a continuación.

alt text Alerta de tasa de transacciones fallidas

Paso 4: Demostrar la regla de alerta de umbral de latencia [28:46]

Ir a Observabilidad > Alertas > Reglas, y haga clic en crear regla como se muestra en la imagen a continuación:

alt text Create Rule

Name: Latency Threshold Check every: 1 minute Notify: only on status change

Luego haga clic en Umbral de latencia.

SERVICE: node-app-1 TYPE: request ENVIRONMENT: ALL WHEN: avg IS ABOVE: 100ms FOR THE LAST: 5 minutes

Luego presione ahorrar.

Deberías ver algo similar a la siguiente imagen cuando presiones actualizar:

alt text Las tres alertas

Ahora abra el archivo index.js de la aplicación nodejs

vi node/apm/index.js

Pegue esto en el archivo

app.get('/latency', async (req, res) => ( const t = 10000 await new Promise(resolve => setTimeout(resolve, t)) res.send('Wait ' + t) ))

luego reinicie el servicio nodejs

systemctl restart nodeapm.service

Ahora haga ping al punto final de manera constante durante unos 10 minutos y luego vuelva a verificar las alertas y tendremos algo tan similar a la imagen que se muestra a continuación.

alt text Alerta de umbral de latencia