Introduccion
Hola a todos! Hoy hablaremos sobre el monitoreo en tiempo real de los productos
Atlassian .
Primero, definamos qué es el monitoreo y por qué es necesario para los productos
Atlassian .
El monitoreo del programa se utiliza para rastrear el progreso y los resultados de un programa. En otras palabras, es un proceso que en tiempo real puede mostrar información sobre el estado de un producto de software.
¿Cuándo puede ser útil para los productos
Atlassian ?
Considere los siguientes ejemplos:
- Desea saber cómo la actualización de un producto o complemento afecta el rendimiento del sistema;
- Desea saber sobre el estado del hierro y la memoria en diversas condiciones y en ciertos momentos. Por ejemplo, cómo aumentar el número de usuarios o cambiar la hora del día afecta el sistema;
- Desea observar qué tan activamente se está utilizando el sistema en su conjunto. Por ejemplo, el número total de tareas en Jira o en 1 hora;
- Desea establecer un recordatorio en la fecha de vencimiento de la licencia;
- Desea saber la cantidad de espacio en disco utilizado para almacenar documentos.
También me gustaría no solo recibir información en forma preparada, sino también poder enviar notificaciones si algo sucede de acuerdo con un escenario erróneo. Aquí
Prometheus y sus exportadores de productos
Atlassian nos ayudarán.
Arquitectura de soluciones
Prometheus es una herramienta para monitorear decenas de miles de servicios simultáneamente. El servidor
Prometheus lee los objetivos en un intervalo que usted define para recopilar métricas y las almacena en una base de datos de series de tiempo. Para recopilar métricas, se utiliza el modelo de extracción. Además, hay un componente de
Alert Manager que puede enviar notificaciones a varios canales si una determinada regla basada en métricas ha funcionado. Puede encontrar información detallada en ruso
aquí y
aquí .
El exportador
Prometheus es un agente que recopila métricas directamente de la entidad (el servidor en su conjunto o una aplicación específica) que necesita ser monitoreada.
Prometheus tiene ricas opciones de expansión, por lo que hay exportadores para las aplicaciones más populares.
[jira | confluencia | bitbucket | bambú] _exporter funciona de la siguiente manera:
- Recupera datos de la base de datos del producto.
- Recupera datos utilizando la API estándar de Java
- Agrega filtros a las solicitudes HTTP
- recopila métricas jmx.
Stefan Prodan implementa un ejemplo de una instalación rápida de
Prometheus / Grafana en
Docker y está disponible
aquí .
Instalación y configuración del exportador.
Después de instalar el
complemento , inmediatamente obtiene el enlace para la métrica:
baseUrl / plugins / servlet / prometheus / metrics . También es posible configurar una clave de seguridad.
A continuación, en
prometheus.yml, debe agregar la dirección para obtener las métricas.
Por ejemplo, para
Jira :
- job_name: 'jira' scheme: https # change to http if don't you have https metrics_path: '/jira/plugins/servlet/prometheus/metrics' static_configs: - targets: ['myhost:2990'] # Jira host and port you serve
La integración se ha completado, puede usar.
Métricas y ejemplos de consultas
Puede ver la lista de todas las métricas en la documentación del complemento:
Jira ,
Confluence ,
Bitbucket ,
Bamboo .
Solicitar ejemplos:
- Tiempo de actividad:
jvm_uptime_gauge{job="jira"}
- Tiempo de ejecución de solicitud del servidor:
(sum(rate(jira_request_duration_on_path_sum[1m])) by (path)) / (sum(rate(jira_request_duration_on_path_count[1m])) by (path))
- Número total de tareas:
jira_total_issues_gauge
- Número de vistas de paneles:
sum(increase(jira_dashboard_view_count[1h]))
Puede leer más sobre la creación de consultas
aquí .
Tableros de Grafana
Puede usar
Grafana como un componente de terceros para visualizar las métricas almacenadas en la base de datos de series temporales de
Prometheus . Hay varias implementaciones listas para usar en el sitio
web oficial. Por ejemplo, los paneles para
Jira se pueden encontrar en este
enlace .

Caracteristicas
Planeo agregar la capacidad de definir métricas personalizadas usando
Groovy , así como soporte completo para
Service Desk . Por lo tanto, puede agregar métricas personalizadas no solo para los productos en sí, sino también para otros complementos.
Todos los
exportadores son abiertos y se desarrollan activamente. Si tiene ideas para mejorar o expandir, cree tareas (
Jira ,
Confluence ,
Bitbucket ,
Bamboo ) y / o haga solicitudes de extracción.
Conclusión
Si sus instalaciones de
Atlassian son bastante grandes y necesita garantizar un funcionamiento continuo, definitivamente necesita supervisión. Y cómo, decide por ti mismo.
Prometheus , como una de las opciones que, sin duda, simplificará tu vida.
Gracias por su atencion!