一、基本架構
1、應用側部署agent,負責應用性能和錯誤資料,支援node、python、ruby、js,java和golang beta版本;
2、APM Server服務接受agent的打點資料,服務端将資料傳輸至Elasticsearch;
3、Kibana提供了對APM顯示的原生适配。
二、安裝配置
elasticsearch和kibana使用Docker快速安裝,具體詳細安裝配置可查閱官網
1、安裝Elasticsearch
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -d
-e cluster.name=docker-cluster \
-e bootstrap.memory_lock=true \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
docker.elastic.co/elasticsearch/elasticsearch:6.4.2
2、安裝Kibana
docker run --name kibana -p 5601:5601 -d \
-e "ELASTICSEARCH_URL=http://192.168.99.100:9200" \
docker.elastic.co/kibana/kibana:6.4.2
3、安裝APM Server
Kibana啟動之後打開可以檢視APM安裝文檔<http://192.168.99.100:5601/app/kibana#/home/tutorial/apm?_g=()&_a=>
APM Server支援Windows、Mac、Linux,本文以Centos7環境安裝配置
curl -L -O https://artifacts.elastic.co/downloads/apm-server/apm-server-6.4.2-x86_64.rpm
sudo rpm -vi apm-server-6.4.2-x86_64.rpm
systemctl start apm-server
systemctl status apm-server
4、配置APM Server并啟動
output.elasticsearch:
hosts: ["192.168.99.100:9200"]
username: <username>
password: <password>
如果elasticsearch沒有開啟認證則使用者名、密碼不需要
5、Tomcat配置APM agent
5.1、下載下傳elastic-apm-agent-<version>.jar包并放到Tomcat庫lib目錄下
<https://search.maven.org/search?q=g:co.elastic.apm%20AND%20a:elastic-apm-agent&core=gav>
5.2、Tomcat啟動腳本配置相關參數
vim apache-tomcat-8.5.34/bin/catalina.sh
JAVA_OPTS="-javaagent:${CATALINA_HOME}/lib/elastic-apm-agent-0.7.1.jar \
-Delastic.apm.service_name=my-application \
-Delastic.apm.server_url=http://localhost:8200 \
-Delastic.apm.application_packages=org.example"
apm.service_name:自定義的應用名稱
apm.server_url :APM Server的服務位址
javaagent :APM agent庫的路徑
5.3、啟動Tomcat
apache-tomcat-8.5.34/bin/startup.sh
啟動之後通路Tomcat應用,然後在Kibana頁面上即可檢視到相關資料