elastic APM 簡單使用
首先,不要以為這個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 | |
Java Agent | |
.NET Agent | |
Node.js Agent | |
Python Agent | |
Ruby Agent | |
Real User Monitoring (RUM) Agent |
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
相關文章
- Elastic APMAST
- Elastic Stack 簡介AST
- elastic metricbeat使用AST
- 簡單使用 rocketmqMQ
- GCDAsyncSocket 簡單使用GC
- JPTabBar簡單使用tabBar
- Quartz 簡單使用quartz
- Github 簡單使用Github
- gorm 簡單使用GoORM
- ListView簡單使用View
- GCD簡單使用GC
- 簡單,使用WKWebViewWebView
- git簡單使用Git
- sftp簡單使用FTP
- redux簡單使用Redux
- jq 簡單使用
- Kdevelop的簡單使用和簡單除錯dev除錯
- 如何使用SnapMotion的手動模式?模式
- Laravel6 使用 Elastic7.10LaravelAST
- prometheus 簡單使用及簡單 middleware 開發Prometheus
- butterfly簡單使用教程
- docker的簡單使用Docker
- postman的簡單使用Postman
- RecyclerView的簡單使用View
- git的簡單使用Git
- java 反射簡單使用Java反射
- WebWorker 簡單使用方式Web
- BootStrapValidate 簡單使用boot
- docker命令簡單使用Docker
- LayUi的簡單使用UI
- RocketMQ的簡單使用MQ
- apijson簡單使用APIJSON
- Vue簡單的使用Vue
- java 簡單使用redisJavaRedis
- Cookie的簡單使用Cookie
- jquery ajax簡單使用jQuery
- XMLHttpRequest 物件簡單使用XMLHTTP物件
- HttpClient的簡單使用HTTPclient