一、基本架構
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頁面上即可查看到相關數據