当前位置: 首页 > news >正文

go引入skywalking

前置条件:安装好jdk11,linux服务器(centos7.9),go版本(我的是1.18,1.21都可以)

1.下载skywalking

Downloads | Apache SkyWalking

2.下载agent源码

Downloads | Apache SkyWalking

3.下载的两个文件传到服务器

4.启动skywalking

/apache-skywalking-apm-bin/bin/startup.sh

出现这个说明成功了:

有问题可以查日志:“apache-skywalking-apm-bin/logs/”

UI的端口是8080,防火墙放开端口,直接 “ip:8080” 即可访问

5.编译go-agent

配置文件在“apache-skywalking-go-0.5.0/tools/go-agent/config/agent.default.yaml”,如果后端服务和skywalking不在一块,需要更改这个后端服务地址。

web的端口修改:

编译文件

cd apache-skywalking-go-0.5.0
# 如果没有make环境,直接yum install make
make build# 如果没有镜像,记得配置镜像或者配置代理:export http_proxy="192.168.78.18:7890"

编译需要点时间,成功如下:

6.编写go程序

日志有几个是支持的,例如logrus、zap

package mainimport (_ "github.com/apache/skywalking-go""github.com/sirupsen/logrus""go.uber.org/zap""net/http"
)func main() {logger, _ := zap.NewProduction()defer logger.Sync()http.HandleFunc("/hello", func(writer http.ResponseWriter, request *http.Request) {writer.Write([]byte("Hello World"))logrus.Infof("send messages!")logger.Info("send messages!!!!!!!")})err := http.ListenAndServe(":8000", nil)if err != nil {panic(err)}
}

7.编译启动程序

# 这个地方需要使用 -a参数
go build -toolexec="编译好的二进制" -a -o main .
# 例如 
# go build -toolexec="/home/dev_tools/apache-skywalking-go-0.5.0/bin/skywalking-go-agent-0.5.0-linux-amd64" -a -o main .
# 执行程序
./main

浏览器点击 ip:8000/hello

UI( ip:8080)能看到链路追踪

8.关闭skywalking

ps -ef | grep skywalk | awk '{print $2}' | xargs kill -9

注意:有时候数据没更新,ctrl+shift+R强制刷新

http://www.lryc.cn/news/502018.html

相关文章:

  • 大华DSS数字监控系统 attachment_downloadAtt.action 任意文件下载漏洞复现
  • qt 封装 调用 dll
  • Python使用Selenium库获取 网页节点元素、名称、内容的方法
  • 系统安全——访问控制访问控制
  • SQL Server 数据库还原到某个时点(完整恢复模式)
  • 埃隆马斯克X-AI发布Grok-2大模型,快来体验~
  • Python工厂设计模式:简化对象创建
  • 【隐私计算篇】隐私集合求交(PSI)原理深入浅出
  • 工作中常用的8种设计模式
  • Qwen 论文阅读记录
  • 自动驾驶:百年演进
  • SSM 校园一卡通密钥管理系统 PF 于校园图书借阅管理的安全保障
  • 什么叫中间件服务器?
  • 【docker】12. Docker Volume(存储卷)
  • SpringBoot【八】mybatis-plus条件构造器使用手册!
  • OpenAI直播发布第4天:ChatGPT Canvas全面升级,免费开放!
  • 自学高考的挑战与应对:心理调适、学习方法改进与考试技巧提升
  • 2024年12月11日Github流行趋势
  • Next.js配置教程:构建自定义服务器
  • SpringCloud 题库
  • 基于Filebeat打造高效日志收集流水线
  • 《HTML 的变革之路:从过去到未来》
  • 快速了解 Aurora DSQL
  • 计算机视觉与医学的结合:推动医学领域研究的新机遇
  • Scala的隐式对象
  • PageHelper自定义Count查询及其优化
  • 【数据结构】哈夫曼树
  • springboot422甘肃旅游服务平台代码-(论文+源码)_kaic
  • docker中安装minio
  • golang实现简单的reids服务2