微服务组件skywalking的搭建笔记
SkyWalking 环境搭建部署
【1】下载 SkyWalking ,地址:https://skywalking.apache.org/downloads/
【2】下载的东西
SkyWalking APM: SkyWalking OAP 服务 与 UI界面服务 wget https://archive.apache.org/dist/skywalking/9.1.0/apache-skywalking-apm-9.1.0.tar.gz Java Agent: 应用需要接入的agent wget https://archive.apache.org/dist/skywalking/java-agent/8.11.0/apache-skywalking-java-agent-8.11.0.tgz
【3】搭建SkyWalking OAP 服务【因为没有改存储,默认是用内存,关闭了就没了】
1)启动脚本bin/startup.sh 【相当于启动了skywalking-oap-server和skywalking-web-ui】
(1)skywalking-oap-server服务启动后会暴露11800 和 12800 两个端口,分别为收集监控数据的端口11800和接受前端请求的端口12800,修改端口可以修改config/applicaiton.yml
(2)skywalking-web-ui服务会占用 8080 端口, 修改端口可以修改webapp/webapp.yml
2)访问界面http://127.0.0.1:8080/ 【因为我是本地搭建的,如果是远程的自主换上ip地址】
Skywalking集群部署(oap服务高可用)
【1】Skywalking集群是将skywalking oap作为一个服务注册到nacos上,只要skywalking oap服务没有全部宕机,保证有一个skywalking oap在运行,就能进行追踪。
【2】搭建一个skywalking oap集群需要:
(1)至少一个Nacos(也可以是nacos集群) (2)至少一个ElasticSearch(也可以是es集群) (3)至少2个skywalking oap服务; (4)至少1个UI(UI也可以集群多个,用Nginx代理统一入口)
【3】开始搭建:
1)修改config/application.yml文件
(1)使用nacos作为注册中心
cluster:
selector: ${SW_CLUSTER:nacos}
(2)修改nacos配置
nacos: hostPort: ${SW_CLUSTER_NACOS_HOST_PORT:localhost:8848} //配置地址与端口
(3)可以选择性修改监听端口【如果是搭建伪集群的话】
core: selector: ${SW_CORE:default} default: restHost: ${SW_CORE_REST_HOST:0.0.0.0} restPort: ${SW_CORE_REST_PORT:12800} gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0} gRPCPort: ${SW_CORE_GRPC_PORT:11800}
(4)修改存储策略,使用elasticsearch作为storage
storage: selector: ${SW_STORAGE:elasticsearch} //指定ES作为存储 elasticsearch: nameSpace: ${SW_NAMESPACE:"myProject-"} //指定命名空间,用于生成索引前缀 clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200} //配置集群节点,当然可以采用负载均衡【然后把负载均衡的服务器ip与端口写入】,但也可以把节点都写进去 user: ${SW_ES_USER:"myes"} //es的用户名 password: ${SW_ES_PASSWORD:"123456"} //es的密码
2)配置ui服务webapp.yml文件的oap-service,写多个oap服务地址
discovery: client: simple: instances: oap-service: - uri: http://127.0.0.1:12800 - uri: http://ip1:12800 - uri: http://ip2:12800
3)启动微服务
java -javaagent:/root/skywalking-agent/skywalking-agent.jar
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800,ip1:11800,ip2:11800
-DSW_AGENT_NAME=springboot-MyDemo -jar springboot-MyDemo-0.0.1-SNAPSHOT.jar