“你已经做得很好了,我把这句话存在这里,在需要勇气的时候,请替我悄悄说给你自己听”
一.概览
skywalking是一个优秀的国产开源框架,2015年由个人吴晟(华为开发者)开源 , 2017年加入Apache孵化器。短短两年就被Apache收入麾下,实力可见一斑。
skywalking支持dubbo,SpringCloud,SpringBoot集成,代码无侵入,通信方式采用GRPC,性能较好,实现方式是java探针,支持告警,支持JVM监控,支持全局调用统计等等,功能较完善。
skywalking是通过jar包方式启动,需要下载jar包,这里某使用docker部署;
如需有window版本:自从上了 SkyWalking,睡觉真香!
地址: https://skywalking.apache.org/downloads/
Skywalking架构
二.环境搭建(Docker) 1.Elasticsearch安装上述架构图中主要分为四个部分,如下:
上面的Agent:负责收集日志数据,并且传递给中间的OAP服务器
中间的OAP:负责接收 Agent 发送的 Tracing 和Metric的数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。
左面的UI:负责提供web控制台,查看链路,查看各种指标,性能等等。
右面Storage:负责数据的存储,支持多种存储类型。
看了架构图之后,思路很清晰了,Agent负责收集日志传输数据,通过GRPC的方式传递给OAP进行分析并且存储到数据库中,最终通过UI界面将分析的统计报表、服务依赖、拓扑关系图展示出来。
①拉取镜像
docker search elasticsearch docker pull elasticsearch:7.5.1
②启动容器
docker run -d --name=es7 -p 13392:9200 -p 13393:9300 -e "discovery.type=single-node" elasticsearch:7.5.1 -- 将数据券复制出来并重新启动 docker cp es7:/usr/share/elasticsearch/data /home/elasticsearch7/ docker cp es7:/usr/share/elasticsearch/logs /home/elasticsearch7/ docker rm -f es7 mkdir -p /home/elasticsearch7/ -- 重新启动 docker run -d --name=es7 --restart=always -p 13392:9200 -p 13393:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /home/elasticsearch7/data:/usr/share/elasticsearch/data -v /home/elasticsearch7/logs:/usr/share/elasticsearch/logs elasticsearch:7.5.1
③ 访问验证
http://IP:133922.安装Skywalking(服务端)
①拉取镜像
docker search skywalking-oap-server docker pull apache/skywalking-oap-server:6.6.0-es7
②启动容器
服务端的两种数据存储方式,一种是默认的H2存储,即数据存储在内存中,一种是使用elasticsearch存储
默认的H2存储启动
docker run --name skywalking -d -p 13350:1234 -p 13351:11800 -p 13352:12800 --restart always apache/skywalking-oap-server:6.6.0-es7
使用elasticsearch存储启动
docker run --name skywalking-oap-server --restart always -d --restart=always -e TZ=Asia/Shanghai -p 13352:12800 -p 13351:11800 --link es7:es7 -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=IP:13392 apache/skywalking-oap-server:6.6.0-es7 --也可 -e SW_STORAGE_ES_CLUSTER_NODES=es7:133923.安装Skywalking-ui(管理界面)
①拉取镜像
docker search apache/skywalking-ui docker pull apache/skywalking-ui:6.6.0
②启动容器
docker run -d --name skywalking-ui --restart=always -e TZ=Asia/Shanghai -p 13358:8080 --link skywalking-oap-server:skywalking-oap-server -e SW_OAP_ADDRESS=IP:13352 apache/skywalking-ui:6.6.0 --security.user.admin.password=admin -- 也可 -e SW_OAP_ADDRESS=skywalking-oap-server:13352
③访问
http://IP:13358/trace注意:下载源码包,项目使用会用到agent
https://archive.apache.org/dist/skywalking/6.6.0/apache-skywalking-apm-6.6.0.tar.gz
项目启动时加入VM
-javaagent:下载的文件地址apache-skywalking-apm-es7-8.7.0apache-skywalking-apm-bin-es7agentskywalking-agent.jar -Dskywalking.agent.service_name=skywalking-product-service -Dskywalking.collector.backend_service=IP:13351 -- 部署的skywalking服务端地址
没关系的,大家都会做错选择,会莫名其妙掉眼泪,走在路上会突然崩溃,但这并不影响我们去看看晚霞,再次爱上这个世界。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)