首先,不要以为这个APM功能是一个不务正业、心血来潮的新功能。其实今天elastic的APM来源于之前的opbeat。而Opbeat是由一个丹麦初创团队于2013年成立的老公司了,专门运维软件的开发,而其主打产品即是APM运维软件。被elastic收购之后,opbeat已经于2018年5月份,正式关闭网站和社区,转到了elastic APM上:

APM的四大组件

  • APM agents
  • APM Server
  • Elasticsearch
  • Kibana APM UI

APM支持的java版本

APM agent是一系列开源库,使用与服务器端相同的语言编写,目前支持node、python、ruby、js,java和golang。您可以像安装任何其他库一样将它们安装到服务器端中。apm agent会检测代码并在运行时收集性能数据和错误。此数据可 缓冲一小段时间并发送到APM服务器。

 

APM Server是一个用Go编写的开源应用程序,通常在专用服务器上运行。它默认侦听端口8200,并通过JSON HTTP API从代理接收数据。然后,它根据该数据创建文档并将其存储在Elasticsearch中。

 

Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。它允许你快速,近实时地存储,搜索和分析大量数据。Elasticsearch用于存储APM性能指标并利用其聚合。

 

Kibana是一个开源分析和可视化平台,旨在与Elasticsearch协同工作。你可使用Kibana搜索,查看Elasticsearch中存储的数据并与之进行交互。你还可以使用Kibana中的专用APM UI或可以通过 APM Kibana UI直接加载的预构建的开源Kibana dashboard来可视化APM数据。(basic license就授权了APM功能)

Java versions

Vendor

Supported versions

Notes

Oracle JDK

7u60+, 8u40+, 9, 10, 11

--module-path has not been tested yet

Open JDK

7u60+, 8u40+, 9, 10, 11

--module-path has not been tested yet

IBM J9 VM

8 service refresh 5+

 

如果使用不支持的版本将会报以下错误

Failed ot start agent - JVM version not supported: 1.8.0_31

更多的版本支持请查看:

https://www.elastic.co/guide/en/apm/agent/java/current/supported-technologies-details.html

APM agents

每个agent都有一个配置列表,具体的配置列表如下

Go Agent

Configuration reference

Java Agent

Configuration reference

.NET Agent

Configuration reference

Node.js Agent

Configuration reference

Python Agent

Configuration reference

Ruby Agent

Configuration reference

Real User Monitoring (RUM) Agent

Configuration reference

java在jar包中使用agent

最新版代理jar包下载

https://search.maven.org/search?q=a:elastic-apm-agent

如下

java -javaagent:[jar 代理的jar包] -Delastic.apm.service_name=[应用的名称] -Delastic.apm.environment=[环境名称,如,prod,test] -Delastic.apm.service_node_name=[多个实例节点名称] -Delastic.apm.server_urls=[APM server 所在的服务] -jar example.jar

更多的核心配置请查看

https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-environment

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐