一、基本架构
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页面上即可查看到相关数据