skywalking 部署教程
贼简单
1、下载安装包 linux版的 ?
https://skywalking.apache.org/downloads/ ?选中distribution 选择版本 选择 es6 或者7 的进行下载 我选择了 6版本
2、 上传到服务器/server/tools ??
? ? apache-skywalking-apm-8.6.0.tar.gz
3、解压? ? ? tar zxf ?apache-skywalking-apm-8.6.0.tar.gz ? ?? ? ? mv xxx /app/skywalking ? ?? ? ? cd /app/skywalking ? ?? ? ? vim config/application.yml 修改后端存储为elasticsearch 默认为h2 ?如果es安装的是7,则修改为对应的版本 ? ?? ? ? storage: ? ? ? selector: ${SW_STORAGE:elasticsearch} ? ? ? elasticsearch: ? ? ? ? nameSpace: ${SW_NAMESPACE:""} ? ? ? ? clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.11.200:9200}
? ?? ? ? cd /app/skywalking/bin/ ? ?? ? ?? ? ? sh start.sh ? ?? ? ? 会启动2个服务 1个是8080端口的 ui ?1个是11800 接收上报的11800 端口 ?? ? ?? ? ?? ?? 4、编写代码 ?额 ?过程很痛苦 ? go是通过sdk go2sky:https://gitee.com/OpenSkywalking/go2sky ?+gin plugin: https://gitee.com/cmlfxz/go2sky-plugins/tree/master/gin/v3完成的
? ?GO sdk文档: ?https://gitee.com/OpenSkywalking/go2sky?
一定搞清楚上下游: ? ? ? ? ? ? download(下游) ? ? ? ? ? ? upstream(上游) ? ? user--->service1--------------->service2
? ?CreateLocalSpan ?可以创建root span ?和 ?本地 span ? ? ? ? ? ?CreateEntrySpan ? 从下游提取上下文? ? ? ? ? ? ? ?CreateExitSpan ? ?为上游注入上下文? ? ? ? ? ? ?entry 和 exit是把调用链串起来的关键 ? ? ? ? ? ?设计思路: ? ? ? ?这里简化为svca--httpclient---svcb---httpclient-------svcc ? ? ? ?svca在gin中间件中用CreateLocalSpan创建本地span,并在httpclient封装的函数中用CreateExitSpan向上游注入上下文 ? ? ? ?svcb在中间件用CreateEntrySpan 从上游提取上下文 ,如果还访问了 svcc 则httpclient封装的函数中 ?用CreateExitSpan向上游注入上下文
|