前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务组件记事本:本地搭建Skywalking

微服务组件记事本:本地搭建Skywalking

作者头像
老张的哲学
发布2022-04-11 16:32:40
4270
发布2022-04-11 16:32:40
举报
文章被收录于专栏:NetCore 从壹开始

最近一直在研究微服务,完全避免不了的是各种中间件的使用,打算把过程简要记录下来,过程很简单,也不会有原理和源代码级别的讲解,只是做下简单的知识备份。

今天开始研究下链路追踪Skywalking,还记得之前在《老张的另一个开源项目——Ancba招募令》的项目中,也用到了链路追踪的组件——Zipkin,不过还是感觉比较简单了些,主要是日志级别的,如果比较复杂的就不好办了,所以打算研究下Skywalking,也集成到项目中。

(Zipkin在Ancba项目中的示例) 本次示例先从本地开始,都是基于Docker来操作的,所以必须安装DockerDesktop环境,相关的安装和K8s服务,可以看我这篇文章《本地搭建K8s环境,并配置Ingress代理》。

安装 ElasticSearch

执行安装命令:

代码语言:javascript
复制
docker run --name elasticsearch \
-p 9200:9200 -p 9300:9300  \
-e "discovery.type=single-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。

执行安装命令:

代码语言:javascript
复制
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信息。

代码语言:javascript
复制
# 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地址:

代码语言:javascript
复制
#配置ip地址
#192.168.1.7 elasticsearch

因为Kibana访问的就是elasticsearch的host:

安装完的效果是这样:

安装 Skywalking

直接执行容器命令:

代码语言:javascript
复制
docker run --name skywalking-oap --restart always \
-p 11800:11800 -p 12800:12800 -d \ 
--link elasticsearch:elasticsearch \ 
-e SW_STORAGE=elasticsearch \ 
-e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \ 
apache/skywalking-oap-server:8.3.0-es6

还是要注意几点:

  • 这里是配置了es存储的模式,也可以直接内存模式,去掉345那三行就行。
  • oap的版本要和es的版本统一,用es6。

这里如果直接访问11800/12800可能会没效果或者报错,忽略它,直接按照UI来看看效果。

安装 Skywalking-UI

执行安装命令:

代码语言:javascript
复制
docker run --name skywalking-ui --restart always \ 
-p 8080:8080 \
--link skywalking-oap:skywalking-oap \
-e SW_OAP_ADDRESS=skywalking-oap:12800 \  
-d apache/skywalking-ui:8.3.0 

同样要注意几点:

  • 需要配置上skywalking的容器名,就是第三行。
  • ui的版本也尽量和oap的版本统一。

最后的效果如图:

这里目前还没有任何数据,下篇我们将说说,如何进行真实的服务中链路追踪操作。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NetCore 从壹开始 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 ElasticSearch
  • 安装 Kibana
  • 安装 Skywalking
  • 安装 Skywalking-UI
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档