Como o rastreamento de solicitações com o Glowroot de código aberto ajuda o engenheiro da Atlassian?

Neste artigo, contarei uma história sobre como você pode enfrentar um problema bastante simples em grandes instalações de produtos Atlassian, em particular no Jira. 





Métodos para analisar e encontrar gargalos:





  1. Estatisticas





  2. amostragem





  3. perfil e rastreamento





Neste artigo, iremos analisar o trace do pedido, que mostra quase todo o segmento do pedido, nomeadamente desde o início do pedido do navegador do cliente até à transição para o proxy reverso, se existir, para o servidor da aplicação e desde para caches, índices de pesquisa Lucene, DBMS. 





Um ponto importante é que é difícil analisar o sistema por parte do cliente, pois ele possuía requisitos rígidos para o uso das ferramentas que constam nos requisitos.





Requisitos 

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









  • ;





  • (On-Premise);





  • ;





  • Elasticsearch (Opendistro);





  • JVM ( Atlassian , Java), javaagent;





  • HTTP c SQL-;





  • ;





, , . , 12 , 1 . . , . 





cronograma

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 em ação
glowroot

— Jira , thread dump , .





stacktrace , .





pedaço de traço

stacktrace , createTemporaryTablesIfNeeded





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





é assim que encontramos as restrições

. .





entity engine, , . 





, . 





:













  • unlogged cwd_users PostgreSQL





, ? , , ? , ? 





, Atlassian .





, .





  • https://glowroot.org/





  • Admin monitoring tools





  • TechFest with Ontico





  • openapm.io/landscape








All Articles