JDK安装及配置环境变量
老生常谈,这个就去问下度娘吧
ES集群安装
详情见博客ES集群安装:ES集群搭建
ZK集群安装
详情见博客ZK集群安装:Zookeeper集群安装
Skywalking-oap集群安装
官网下载安装包 apache-skywalking-apm-es7-8.5.0.tar.gz
tar -zxvf apache-skywalking-apm-es7-8.5.0.tar.gz -C /data/install/path
修改config/application.yml配置
修改注册中心配置
# 修改 selector 为 zookeeper
# 修改hostPort 为zk的集群地址
cluster:
selector: ${SW_CLUSTER:zookeeper}
standalone:
# Please check your ZooKeeper is 3.5+, However, it is also compatible with ZooKeeper 3.4.x. Replace the ZooKeeper 3.5+
# library the oap-libs folder with your ZooKeeper 3.4.x library.
zookeeper:
nameSpace: ${SW_NAMESPACE:""}
hostPort: ${SW_CLUSTER_ZK_HOST_PORT:10.59.98.124:2181,10.59.98.155:2181,10.59.98.99:2181}
# Retry Policy
baseSleepTimeMs: ${SW_CLUSTER_ZK_SLEEP_TIME:1000} # initial amount of time to wait between retries
maxRetries: ${SW_CLUSTER_ZK_MAX_RETRIES:3} # max number of times to retry
# Enable ACL
enableACL: ${SW_ZK_ENABLE_ACL:false} # disable ACL in default
schema: ${SW_ZK_SCHEMA:digest} # only support digest schema
expression: ${SW_ZK_EXPRESSION:skywalking:skywalking}
修改存储地址
# 修改 selector 为 elasticsearch7
# 修改nameSpace
# 修改clusterNodes 为ES的集群地址
# user和password视安装情况而定
storage:
selector: ${SW_STORAGE:elasticsearch7}
elasticsearch7:
nameSpace: ${SW_NAMESPACE:""}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:10.59.98.124:9200,10.59.98.155:9200,10.59.98.99:9200}
protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:500}
socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000}
user: ${SW_ES_USER:""}
password: ${SW_ES_PASSWORD:""}
后端(Oap)又分为三个角色,本次选择默认
混合Mixed(默认):默认角色,OAP应承担以下责任,1.接收代理跟踪或指标,2.进行L1聚合,3.内部通讯(发送/接收),4.进行L2聚合,5.持久化,6.报警
接收者Receiver:1.接收代理跟踪或指标,2.进行L1聚合,3.内部通讯(发送/接收)
聚合器Aggregator:4.进行L2聚合,5.持久化,6.报警
启动OAP,分别拷贝到领带两台机器上,进入bin目录,分别启动
./oapService.sh
查看日志,验证启动情况
tail -f /data/apache-skywalking-apm-bin-es7/logs/skywalking-oap-server.log
Skywalking-ui单机安装
本次进行单机安装UI,如果需要集群也是部署3台,然后需要ngnix做下负载和转发
#如果和oap在同一台服务器上,可以解压两个安装包,修改名字区分(oap/webapp)
tar -zxvf apache-skywalking-apm-es7-8.5.0.tar.gz -C /data/install/path
修改/webapp/webapp.yml
# 修改 listOfServers 为后台OAP的集群地址
server:
port: 8080
collector:
path: /graphql
ribbon:
ReadTimeout: 10000
# Point to all backend's restHost:restPort, split by ,
listOfServers: 10.59.98.124:12800,10.59.98.155:12800,10.59.98.99:12800
进入bin目录,启动webapp
./webappSerivice.sh
验证
#查看日志
tail -f /root/apache-skywalking-apm-bin-es7/logs/webapp.log
浏览器直接打开:http://IP:8080
Agent安装
放置探针:
我们需要将 agent
目录,拷贝到 Java 应用所在的服务器上。这样,Java 应用才可以配置使用该 SkyWalking Agent
。通过设置启动参数的方式检测系统,没有代码侵入。
解压安装包
tar -zxvf apache-skywalking-apm-es7-8.5.0.tar.gz -C /data/install/path
# 如果有多个应用需要配置agent,那么将解压后的agent目录多复制几份,同时改下agent包名就可以了
agent.有两种方式配置,1. 在配置文件中修改,2.在启动时传入环境变量。我们使用第二种,所以此处不修改
/agent/config/agent.config主要配置
# 不同的namespace会导致调用链路追踪中断
agent.namespace=${SW_AGENT_NAMESPACE:default-namespace}
# 页面上展示的service的名称,也可以通过-Dskywalking.agent.service_name=xxx指定
agent.service_name=${SW_AGENT_NAME:f2f}
# 平台的调用地址,也可以通过-Dskywalking.collector.backend_service=127.0.0.1:11800指定
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:10.59.98.124:11800,10.59.98.155:11800,10.59.98.99:11800}
# 忽略指定后缀的请求收集
agent.ignore_suffix=${SW_AGENT_IGNORE_SUFFIX:.jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg}
# 每3秒的采样率,负数代表100%
agent.sample_n_per_3_secs=${SW_AGENT_SAMPLE:-1}
编写启动脚本(start_sh)
# 在服务的启动命令中添加参数javaagent
nohup java -javaagent:/data/agent/skywalking-agent.jar -jar gammao-f2f.jar > f2f.log 2>&1 &
编写启动脚本(restart_sh)
# 在服务的启动命令中添加参数javaagent、Dskywalking.agent.service_name
ps -ef | grep 'gammao-f2f.jar' | grep -v grep | awk '{print $2}' | xargs kill -9
nohup java -javaagent:/data/agent/skywalking-agent.jar -jar gammao-f2f.jar > f2f.log 2>&1 &
最后就可以直接访问UI界面了(ui服务器的IP:端口号),如果是集群则是ngnix地址