泰安营销型网站公司,设计公司的企业使命,怎么建设信息网站,广州专业的网站建设公司排名最近一直在研究微服务#xff0c;完全避免不了的是各种中间件的使用#xff0c;打算把过程简要记录下来#xff0c;过程很简单#xff0c;也不会有原理和源代码级别的讲解#xff0c;只是做下简单的知识备份。今天开始研究下链路追踪Skywalking#xff0c;还记得之前在《… 最近一直在研究微服务完全避免不了的是各种中间件的使用打算把过程简要记录下来过程很简单也不会有原理和源代码级别的讲解只是做下简单的知识备份。今天开始研究下链路追踪Skywalking还记得之前在《老张的另一个开源项目——Ancba招募令》的项目中也用到了链路追踪的组件——Zipkin不过还是感觉比较简单了些主要是日志级别的如果比较复杂的就不好办了所以打算研究下Skywalking也集成到项目中。(Zipkin在Ancba项目中的示例)本次示例先从本地开始都是基于Docker来操作的所以必须安装DockerDesktop环境相关的安装和K8s服务可以看我这篇文章《本地搭建K8s环境并配置Ingress代理安装 ElasticSearch 执行安装命令docker run --name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e discovery.typesingle-node \
-e ES_JAVA_OPTS-Xms512m -Xmx512m \
-d elasticsearch:6.8.19有三点需要注意这里为了演示设置为单节点了。测试环境设置初始内存和最大内存防止启动ES失败。采用的是es6版本不是前端的那个es最新的是es7不过下边安装skywalking的es7的时候启动失败所以采用了es6版本。安装es是为了配合Skywalking也不是必须的Skywalking也有内存模式。访问http://localhost:9200效果如下安装 Kibana 既然安装好了ElasticSearch就需要一个看板可以使用Chrome的一个插件——ElasticSearch Head界面是真的不太好看不过也能使用这里就推荐使用Kibana。执行安装命令docker run -d --name kibana -p 5601:5601 \
-v D:/Code/ark/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml \
kibana:6.8.0这里挂载了一个yml配置文件是为了配置上文我们设置好的ElasticSearch信息。# Default Kibana configuration for docker target
server.name: kibana
server.host: 0
elasticsearch.hosts: [ http://192.168.1.7:9200 ]
elasticsearch.username: name
elasticsearch.password: password
xpack.monitoring.ui.container.elasticsearch.enabled: true当然也可以不用指定yml指定下具体的host就行了本地ip地址#配置ip地址
#192.168.1.7 elasticsearch因为Kibana访问的就是elasticsearch的host安装完的效果是这样安装 Skywalking直接执行容器命令docker run --name skywalking-oap --restart always \
-p 11800:11800 -p 12800:12800 -d \
--link elasticsearch:elasticsearch \
-e SW_STORAGEelasticsearch \
-e SW_STORAGE_ES_CLUSTER_NODESelasticsearch:9200 \
apache/skywalking-oap-server:8.3.0-es6还是要注意几点这里是配置了es存储的模式也可以直接内存模式去掉345那三行就行。oap的版本要和es的版本统一用es6。这里如果直接访问11800/12800可能会没效果或者报错忽略它直接按照UI来看看效果。安装 Skywalking-UI执行安装命令:docker run --name skywalking-ui --restart always \
-p 8080:8080 \
--link skywalking-oap:skywalking-oap \
-e SW_OAP_ADDRESSskywalking-oap:12800 \
-d apache/skywalking-ui:8.3.0同样要注意几点需要配置上skywalking的容器名就是第三行。ui的版本也尽量和oap的版本统一。最后的效果如图这里目前还没有任何数据下篇我们将说说如何进行真实的服务中链路追踪操作。