Creación automática de una incidencia de Jira Software a partir de un problema detectado en Dynatrace
Rob Jahn
Gestor de partners tecnológicos y embajador de DevOps de Dynatrace
En este tutorial, se explica cómo crear automáticamente una incidencia de Jira basada en un problema detectado por Dynatrace. Consulta nuestro otro tutorial, Cómo integrar Dynatrace y Jira para obtener mejor observabilidad, para aprender a configurar la integración de Jira y Dynatrace.
For this use case, the “customer” backend service will be shut down, which will cause errors in the “frontend” service. These errors will then be detected by Dynatrace and Jira issues will automatically be created.
Time
15-minute read. Complete over 2-3 hours.
Audience
You have administrator projects permission for all projects. See Managing project permissions for more information.
You have administration permission for your Dynatrace environment. See Get started with Dynatrace for more information.
You have a basic knowledge of Linux commands.
Prerequisites
You have a Dynatrace environment -- Get a 15-day trial of Dynatrace.
A Linux host is required to run a Dynatrace provided sample application. Follow the installation instructions found in this README for requirements and instructions to install on a virtual machine.
This same Linux host needs to have the Dynatrace OneAgent installed.
You have a Jira Software account. Get started with Jira here.
Want to learn more?
Para obtener más información sobre cómo trabajar con sprints en Jira, consulta el tutorial sobre sprints.
¿Tienes alguna pregunta? Pregunta a la comunidad de Atlassian.
Presentación
Este tutorial depende de varios componentes que interactúan entre sí. En él, aprenderás a hacer lo siguiente:
1. Configurar Jira Automation para que cree un comentario en la tarjeta de problema de Dynatrace con la URL que redirige a la incidencia de Jira.
2. Configurar Dynatrace para enviar problemas a Jira.
3. Desencadenar un problema en la aplicación de muestra y revisar cómo Dynatrace lo detecta y crea automáticamente una incidencia de Jira.
4. Configurar las consultas de incidencias de Jira en la página de publicación de Dynatrace.
5. Limpiar tu entorno.
En este diagrama se muestran los componentes de este tutorial y la interacción básica entre ellos.
1. Supervisión de la aplicación con Dynatrace. En este tutorial, Dynatrace recopilará métricas de un agente de Dynatrace instalado en el host que ejecuta la aplicación de muestra. Todos los datos se centralizarán en el inquilino central de Dynatrace, que también proporciona la interfaz web para la administración y la detección de problemas con tecnología de inteligencia artificial (IA).
2. Notificación de problemas con contexto detallado. El motor de IA de Dynatrace, Davis, utiliza métricas de alta fidelidad, seguimientos, registros y datos de usuarios reales, que se asignan a un modelo de entidad unificado. Para descubrir las causas raíz específicas de los problemas, puedes hacer uso de la IA determinista de Davis, que no solo se encarga de localizarlas, sino que proporciona un valioso contexto al instante. Así, podrás saber si un problema proviene de un cuello de botella de recursos o de un cambio en la implementación, e incluso quién está detrás de él. Puedes repetir los problemas para entender por completo por qué ocurrieron y cómo solucionarlos.
3. Creación automática de una incidencia de Jira. La integración de Dynatrace y Jira crea incidencias automáticamente para todos los problemas nuevos detectados de forma automática en los entornos de Dynatrace.
4. Actualización de Dynatrace con Jira Automation. Jira Automation es una función “sin código” que permite crear reglas de compilación sencillas con unos pocos clics. Una solicitud web a la API de Dynatrace utiliza el ID de problema de Dynatrace para actualizar los comentarios de la tarjeta de problema de Dynatrace.
5. Resolución del problema y cierre de la incidencia de Jira
Paso 1: detención de la aplicación de muestra y detección de un problema de disponibilidad por parte de Dynatrace
En el host de Linux que ejecuta la aplicación de muestra, ve al directorio con el archivo docker-compose.yaml y ejecuta este comando para detener el servicio:
sudo docker-compose -f docker-compose-services.yaml scale customer-service=0
Puedes utilizar este comando para verificar que no se está ejecutando:
sudo docker ps
Paso 2: revisión de la tarjeta de problema en Dynatrace
Transcurridos unos minutos, se manifestará el problema y Dynatrace creará un problema; la diferencia es que, en Dynatrace, no se trata de una alerta. Dynatrace utiliza IA determinista para realizar un análisis automático del árbol de errores que tiene en cuenta las métricas, los registros, los datos reales de los usuarios y los eventos. El resultado es una tarjeta de problema en la que se muestra el impacto empresarial, las aplicaciones y los componentes de la infraestructura afectados, un historial repetible del evento y la causa raíz de la incidencia.
Paso 3: revisión de la incidencia de Jira generada automáticamente
Jira mostrará una nueva incidencia con detalles del problema y un enlace profundo de la URL que redirige a la tarjeta de problema de Dynatrace.
Paso 4: visualización del comentario de Dynatrace
Una vez creada la incidencia de Jira, haz clic en la URL del problema de Dynatrace para abrir la tarjeta de problema de Dynatrace. Desplázate hacia abajo para ver el comentario con la URL que redirige a la incidencia de Jira. Esto se consigue gracias a las etiquetas inteligentes de Jira Automation que se añaden a la llamada a la API de Dynatrace, realizada por la regla de Jira Automation.
** Consejo de experto: puedes usar el mismo concepto para añadir cualquier comentario nuevo de Jira como comentario de Dynatrace. Para ello, crea una regla de Automation nueva con el desencadenador “When: Issue commented” (Cuando: incidencia comentada) y úsalo como cuerpo del webhook:
{
"comment": "{{issue.comments.last.body}} - Jira Issue: [{{issue.key}}]({{issue.url}})",
"user": "{{issue.comments.last.author.displayName}}",
"context": "Jira"
}
** Consejo de experto: las notificaciones de problemas de Dynatrace se pueden configurar para transferir información adicional de Dynatrace a Jira, incluidos el estado del problema, las entidades afectadas y las etiquetas. Estos datos se pueden utilizar en automatizaciones más sofisticadas, como asignar la incidencia, definir prioridades, establecer enlaces a un componente y rellenar campos de Jira personalizados. Con la automatización de Jira “if block”, por ejemplo, se puede analizar la coincidencia con una etiqueta de Dynatrace.
Paso 5: resolución de la incidencia mediante el reinicio del servicio de la aplicación de muestra
En el host de Linux que ejecuta la aplicación de muestra, ve al directorio con el archivo docker-compose.yaml y ejecuta este comando para reanudar el servicio:
sudo docker-compose -f docker-compose-services.yaml scale customer-service=1
Puedes utilizar este comando para comprobar si se está ejecutando:
sudo docker ps
Paso 6: revisión de la aplicación en Dynatrace
Revisa la página de servicios de frontend para comprobar si han desaparecido los fallos.
También se ha cerrado automáticamente la tarjeta de problemas de Dynatrace.
Prueba con otros problemas
La aplicación Dynatrace Orders contiene problemas pregenerados programados como versiones diferentes. Se ha programado con una URL de marca de función que permite cambiar la versión y, por lo tanto, el comportamiento de la aplicación. La versión 1 de los servicios del cliente y los pedidos tiene un comportamiento “normal”, mientras que con la versión 2 se activa el problema.
Si quieres probar estos problemas, consulta la página Resumen de pedidos de Dynatrace.
Configuración de las consultas de incidencias de Jira en la página Publicaciones de Dynatrace
En la página Publicaciones de Dynatrace, se muestran las consultas de gestión de incidencias, incluidas las estadísticas de incidencias relacionadas con las entidades supervisadas en el inventario en tiempo real.
Paso 1: definición del JQL
En la búsqueda de incidencias de Jira, crea una expresión de Jira Query Language (JQL), como la que se muestra a continuación:
project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC
Paso 2: creación de consultas de gestión de incidencias de las publicaciones
1. En Dynatrace, ve a la página de Publicaciones, en el menú lateral izquierdo.
2. En la página Publicaciones, haz clic en el botón Configurar.
3. En la página de configuración de Consultas de gestión de incidencias de publicaciones, haz clic en el botón Añadir consulta de gestión de incidencia nueva.
4. En el nuevo formulario de consulta, rellena los valores de la siguiente forma:
- Etiqueta de la incidencia: dt-orders frontend Issues
- Consulta de incidencia: project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC.
- Tema de la incidencia: Error
- Sistema de gestión de incidencias: Jira
- URL de destino: https://YOUR-COMPANY.atlassian.net
- Nombre de usuario: tu ID de usuario de Jira como correo electrónico
- Contraseña: déjalo vacío
- Token: el token de usuario de Jira que creaste anteriormente en esta guía
5. Guarda la consulta.
Paso 3: revisión
1. Vuelve a la página de Publicaciones, desde el menú de la izquierda.
2. Ahora debería aparecer la nueva consulta con un recuento de las incidencias abiertas.
3. Si haces clic en la fila de incidencias, se abrirá Jira para revisar estas colas.
Limpieza
1. Si estás ejecutando un host bajo demanda para la aplicación de muestra, ciérralo.
2. Para detener la aplicación de muestra, ve al host de Linux que la ejecuta, accede al directorio con el archivo docker-compose.yaml y ejecuta este comando para detener la aplicación:
sudo docker-compose -f docker-compose-services.yaml down
Comprueba que no se esté ejecutando ningún contenedor con este comando:
sudo docker ps
3. En Jira, elimina el proyecto que has creado para este tutorial.
4. En Dynatrace, elimina el token de API y la regla de notificación de problemas que añadiste.
Más información
Consigue el complemento Dynatrace Problem Integration for Jira (Integración de problemas de Dynatrace para Jira) en Atlassian Marketplace.
Haz preguntas (y da consejos) en nuestra Communidad de Dynatrace.
Obtén más información sobre las capacidades de Dynatrace + Atlassian aquí.
Obtén más información sobre Dynatrace + Atlassian (y cómo trabajar de forma más inteligente, no más exigente) aquí.
Observa a Atlassian, Dynatrace y Keptn en acción en este taller sobre el rendimiento de Dynatrace.
Ver más integraciones para Atlassian Open DevOps
Consulta nuestro otro tutorial, Cómo integrar Dynatrace y Jira para obtener mejor observabilidad, para aprender a configurar la integración de Jira y Dynatrace.
Compartir este artículo
Siguiente tema
Lecturas recomendadas
Consulta estos recursos para conocer los tipos de equipos de DevOps o para estar al tanto de las novedades sobre DevOps en Atlassian.