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

复制代码
cd apache-skywalking-go-0.5.0
# 如果没有make环境,直接yum install make
make build

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

6.编写go程序

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

Go 复制代码
package main

import (
	_ "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.编译启动程序

Go 复制代码
# 这个地方需要使用 -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 .
Go 复制代码
# 执行程序
./main

浏览器点击 ip:8000/hello

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

相关推荐
Ramboooooooo6 天前
SkyWalking-10.4.0 Docker + Nacos + Elasticsearch 生产级部署手册
elasticsearch·docker·skywalking
阿宇的技术日志13 天前
SkyWalking 跨服务完整链路聚合原理
skywalking
Databuff17 天前
给Skywalking一套更强的后端
运维·开源软件·skywalking
爱学习的小可爱卢18 天前
SpringCloud——深入解析SkyWalking源码:TraceProfiling追踪慢方法
spring cloud·微服务·skywalking
爱学习的小可爱卢18 天前
SpringCloud——SkyWalking全链路监控源码深度解析
java·微服务·springcloud·skywalking
爱学习的小可爱卢18 天前
SpringCloud——SkyWalking告警规则触发WebHook全解析
java·微服务·springcloud·skywalking
LLL人无再少年20 天前
分布式链路追踪系统之二进制安装skywalking
分布式·skywalking
帅喵21 天前
Linux 部署 BanyanDB 0.10.3 生产单机模式对接SkyWalking OAP
skywalking·banyandb
心如鉄补21 天前
分布式链路追踪系统之docker-compose安装skywalking
分布式·docker·skywalking
Linux-187422 天前
分布式链路追踪系统之skywalking java agent 的使用、skywalking web界面简介
云原生·skywalking·分布式链路追踪系统·应用程序性能监控·halo博客系统·skywalking java agent·skywalking web 简介