下载skywalking
wget https://mirror.bit.edu.cn/apache/skywalking/8.0.0/apache-skywalking-apm-es7-8.0.0.tar.gz
解压
tar zxvf apache-skywalking-apm-es7-8.0.0.tar.gz
collector配置
vi apache-skywalking-apm-bin-es7/config/application.yml
core: selector: ${SW_CORE:default} default: # Mixed: Receive agent data, Level 1 aggregate, Level 2 aggregate # Receiver: Receive agent data, Level 1 aggregate # Aggregator: Level 2 aggregate role: ${SW_CORE_ROLE:Mixed} # Mixed/Receiver/Aggregator # rest 服务地址和端口 restHost: ${SW_CORE_REST_HOST:0.0.0.0} #与webApp的12800对应 restPort: ${SW_CORE_REST_PORT:12800} restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/} # gRPC 服务地址和端口 gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0} #与agent端11800对应 gRPCPort: ${SW_CORE_GRPC_PORT:11800} storage: #更改默认为elasticsearch7 selector: ${SW_STORAGE:elasticsearch7} elasticsearch7: #nameSpace与es的名称保持一致 nameSpace: gzlp-elasticsearch #es集群节点 clusterNodes: 172.17.53.225:9100,172.17.53.226:9101,172.17.53.227:9102 protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"} trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:""} trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:""} dayStep: ${SW_STORAGE_DAY_STEP:1} user: ${SW_ES_USER:""} password: ${SW_ES_PASSWORD:""}
webApp 配置
vi apache-skywalking-apm-bin-es7/webapp/webapp.yml
server: #web访问端口 port: 8070 collector: path: /graphql ribbon: ReadTimeout: 10000 # Point to all backend's restHost:restPort, split by , #与application.yml中的restPort相对应 listOfServers: 127.0.0.1:12800
启动
./bin/oapService.sh ./bin/webappService.sh
Agent 配置
vi apache-skywalking-apm-bin-es7/agent/config/agent.config
# 设置Agent命名空间,它用来隔离追踪和监控数据,当两个应用使用不同的名称空间时,跨进程传播链会中断。 agent.namespace=${SW_AGENT_NAMESPACE:default-namespace} # 设置服务名称,会在 Skywalking UI 上显示的名称 agent.service_name=${SW_AGENT_NAME:Your_ApplicationName} # 每 3秒采集的样本跟踪比例,如果是负数则表示 100%采集 agent.sample_n_per_3_secs=${SW_AGENT_SAMPLE:-1} # 启用 Debug ,如果为 true 则将把所有检测到的类文件保存在"/debug"文件夹中 # agent.is_open_debugging_class = ${SW_AGENT_OPEN_DEBUG:true} # 后端的 collector 端口及地址 collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.2.215:11800} # 日志级别 logging.level=${SW_LOGGING_LEVEL:DEBUG}
把apache-skywalking-apm-bin-es7/agent 目录,拷贝到应用所在的服务器上。
启动应用时
#namespace和service_name改为对应的服务环境和名称 java -jar -Dskywalking.agent.namespace=prod -Dskywalking.agent.service_name=prod-servicename -javaagent:/home/skywalking/agent/skywalking-agent.jar $JARFILE --spring.profiles.active=$ACTIVE >> $LOG &
skywalking页面使用仪表盘 拓扑图 根据服务调用自动还原应用拓扑图,连线会根据请求关系动态流动追踪 查看具体url的耗时原因 红色的url可以查看日志详情