¿Cómo ayuda el rastreo de solicitudes con Glowroot de código abierto al ingeniero de Atlassian?

En este artículo, contaré una historia sobre cómo puede enfrentar un problema bastante simple en grandes instalaciones de productos Atlassian, en particular en Jira. 





Métodos para analizar y encontrar cuellos de botella:





  1. Estadísticas





  2. muestreo





  3. perfilado y rastreo





En este artículo, analizaremos el seguimiento de la solicitud, que muestra casi todo el segmento de la solicitud, es decir, desde el inicio de la solicitud desde el navegador del cliente hasta la transición al proxy inverso, si existe, al servidor de aplicaciones y desde a cachés, índices de búsqueda de Lucene, DBMS. 





Un punto importante es que es difícil analizar el sistema por parte del cliente, ya que tenían requisitos estrictos para el uso de las herramientas que se enumeran en los requisitos.





Requisitos 

APM- ( ) , . — . , , open source . — , .









  • ;





  • (On-Premise);





  • ;





  • Elasticsearch (Opendistro);





  • JVM ( Atlassian , Java), javaagent;





  • HTTP c SQL-;





  • ;





, , . , 12 , 1 . . , . 





calendario

https://openapm.io/landscape, APM-. Glowroot, .





 

, , Cassandra ( ) Elasticsearch.









wget -c https://github.com/glowroot/glowroot/releases/download/v0.13.6/glowroot-0.13.6-dist.zip
      
      



2. mkdir -p /jira/glowroot/tmp, Jira , , Jira





chown -R jira: /jira/home/glowroot
      
      



3. setenv.sh jira, /jira/current/bin. , /opt/atlassian/jira/bin :





JVM_SUPPORT_RECOMMENDED_ARGS="-javaagent:/jira/glowroot/glowroot.jar ${JVM_SUPPORT_RECOMMENDED_ARGS}"
      
      



4. : 





systemctl restart jira
      
      



:





tail -f {jira_installation_directory}/logs/catalina.out 
      
      



127.0.0.1, glowroot , , admin.json. bindAddress 0.0.0.0 . contextPath - /glowroot





reverse proxy ( nginx), :





location /glowroot {                 
		proxy_pass http://127.0.0.1:4000; 
}
      
      



Agent-Installation-(with-Embedded-Collector)





, jira.example.com/glowroot .





, . 





, , , . 





,

glowroot , 30000, . trace, .





, PostgreSQL, PostgreSQL IOPS.





glowroot en acción
glowroot

— Jira , thread dump , .





stacktrace , .





pedazo de rastro

stacktrace , createTemporaryTablesIfNeeded





https://bitbucket.org/atlassian/entity-engine/pull-requests/32/stable-issue-stable-issue-raid-438-in/diff, .





así es como encontramos las restricciones

. .





entity engine, , . 





, . 





:













  • unlogged cwd_users PostgreSQL





, ? , , ? , ? 





, Atlassian .





, .





  • https://glowroot.org/





  • Admin monitoring tools





  • TechFest with Ontico





  • openapm.io/landscape








All Articles