skywalking官网:https://skywalking.apache.org/zh/
由于项目中elasticsearch是6.x版本的,所以本文主要介绍配合es6使用skywalking进行分布式链路追踪
环境要求
JDK8+
Elasticsearch 6.x
8080,10800,11800,12800 端口不被占用
下载安装
官方下载地址:http://skywalking.apache.org/downloads/
下载
cd /data
wget https://archive.apache.org/dist/skywalking/8.5.0/apache-skywalking-apm-8.5.0.tar.gz
安装
tar -zxvf apache-skywalking-apm-8.5.0.tar.gz
注意:
ElasticSearch 6.3.2 ~ 7.0.0 (excluded),下载 apache-skywalking-bin.tar.gz 或 apache-skywalking-bin.zip
ElasticSearch 7.0.0 ~ 8.0.0 (excluded) 下载apache-skywalking-bin-es7.tar.gz 或 apache-skywalking-bin-es7.zip.
修改配置文件
bin里面是启动文件
config目录里面是配置文件
webapp目录里面是UI界面项目文件和配置文件
默认情况下,只需要更改一下 config/application.yml文件
storage:
//es6选择elasticsearch
selector: ${SW_STORAGE:elasticsearch}
elasticsearch:
//存储在es上的前缀
nameSpace: ${SW_NAMESPACE:"elasticsearch"}
//替换为es所在ip
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
如果需要更改UI界面访问的端口,可以修改 webapp/webapp.yml,默认是8080
server:
port: 8080
collector:
path: /graphql
ribbon:
ReadTimeout: 10000
# Point to all backend's restHost:restPort, split by ,
listOfServers: 127.0.0.1:12800
告警相关的配置大家根据需要去查官网的参数自行去配置
启动
首先es肯定要启动起来,这里不赘述了
然后到bin目录运行./startup.sh 会启动UI和Backend,aop服务,启动后端口8080,11800,12800可看到被监听
cd bin
./startup.sh
成功之后可以访问http://localhost:8080
配置代理以及需要监听的java程序
到agent/config目录,修改agent.config
//配置的是你应用的名字,查询的时候可以很好的区分,当然这里可以不配置,在服务启动的时候用-Dskywalking.agent.service_name=boss覆盖
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
//是刚才启动collector的地址和端口
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:localhost:11800}
//日志等级
logging.level=${SW_LOGGING_LEVEL:DEBUG}
应用配置
修改各个微服务jar包的执行参数
//agent的路径
-javaagent:D:\wanmi\apache-skywalking-apm-bin\agent\skywalking-agent.jar
//就是上面说到的应用的名称
-Dskywalking.agent.service_name=boss
应用监控
在web界面就能访问,查看服务器的各种参数了
这样我们就能看到接口的耗时,可以查询具体的接口,也可以以时间为维度,调用关系,跨度,每一步的耗时,以及数据库的sql语句,这样就很方便分析了
网友评论