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.mzph.cn/news/889090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作系统Lesson11 - 进程调度和批处理系统调度

文章目录 调度三个问题: 进程行为何时调度调度分类依据时钟中断来分类系统环境分类 调度 调度: 一个程序。 调度对象:进程和内核级线程。 1.调度程序调度P1,读取PCB块在CPU中恢复它的现场(ctx); 2.当CPU执行完了P1之…

java各种锁介绍

1. synchronized锁: • 定义:Java内置的关键字锁,用于实现线程间的同步。它可以修饰方法或代码块。 • 特性:隐式获取和释放锁,自动处理锁的粒度(方法级或代码块级),支持重入性。 •…

国产化(三):中间件——东方通TongWeb7.0

一、准备工作 1、软件包和license文件 2、检查jdk是否安装 二、安装 1、创建tongweb文件夹 我是把软件包放在了桌面,通过命令将软件包移动到指定文件夹下。 1—切换到opt文件夹 cd /opt 2—查看文件夹里的文件 ls 3—创建tongweb文件夹 sudo mkdir tongweb 4—检…

Java面试题精选:设计模式(二)

1、装饰器模式与代理模式的区别 1)代理模式(Proxy Design Pattern ) 原始定义是:让你能够提供对象的替代品或其占位符。代理控制着对于原对象的访问,并允许将请求提交给对象前后进行一些处理。 代理模式的适用场景 功能增强 当需要对一个对…

Java版-图论-最小生成树-Prim算法

实现描述 如图: Prim算法的基本思想是从一个顶点开始,逐步构建最小生成树。具体步骤如下: 随机选取一个顶点作为起始点,并将其加入最小生成树的集合中。从该顶点出发,选择一条边连接到其他未被访问的顶点中的最小权…

Linux WEB服务器的部署及优化

1.用户常用关于web的信息 1.1.什么是www www是world wide web的缩写,及万维网,也就是全球信息广播的意思。 通常说的上网就是使用www来查询用户所需要的信息。 www可以结合文字、图形、影像以及声音等多媒体,超链接的方式将信息以Internet…

【HarmonyOS学习日志(13)】计算机网络之TCP/IP协议族(二)

文章目录 TCP/IP协议族ARPDNS标志字段:协商具体的通信方式和反馈通信状态DNS查询问题的格式资源记录(Resource Record, RR)格式:被用于应答字段、授权字段和额外信息字段 IP协议IP服务的特点无状态无连接不可靠 IP头部结构IPv4头部…

Python + Playwright:集成 Applitools 进行视觉回归测试(快速入门)

集成 Applitools 进行视觉回归测试(快速入门) 简介Applitools 的核心特点Applitools 的应用场景1. 准备工作2. 获取示例项目2.1 下载示例代码2.2 安装依赖2.3 选择测试运行方式3. 代码解析3.1 测试用例示例4. 运行测试4.1 设置 Applitools API 变量4.2 设置 Applitools Eyes …

javaScript交互补充

1、元素的三大系列 1.1、offset系列 1.1.1、offset初相识 使用offset系列相关属性可以动态的得到该元素的位置(偏移)、大小等 ●获得元素距离带有定位祖先元素的位置 ●获得元素自身的大小(宽度高度) ●注意:返回的…

【Linux】-学习笔记09

第六章、nfs网络文件系统 1.nfs网络文件系统简介 NFS(Network File system,网络文件系统)是由SUN公司研制的UNIX表示层协议,它允许网络中的计算机(不同的计算机、不同的操作系统)之间通过TCP/IP网络共享资源,主要在unix系列操作系统上使用。…

【C++】LeetCode:LCR 078. 合并 K 个升序链表

题干: 给定一个链表数组,每个链表都已经按升序排列。 请将所有链表合并到一个升序链表中,返回合并后的链表。 解法:优先队列 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *ne…

minGW安装教程

一、下载 1.通过官网WinGW官网下载 http://www.mingw-w64.org 2.通过SourceForge网站下载MinGW https://sourceforge.net/projects/mingw/files/latest/download 二、安装 右键mingw-get-setup.exe,以管理员身份运行 点击Install安装 点击“Change”修改安装地…

BFS入门

目录 定义二叉树层次遍历电梯问题倒可乐BFS基本思想算法 四方访问 定义 BFS 通常是指广度优先搜索(Breadth - First Search),它是一种图形数据结构的遍历算法。从给定的起始顶点开始,首先访问起始顶点的所有邻接顶点,然…

如何将CSDN的文章保存为PDF?

目录 1、打开CSDN文章2、按F12或者鼠标右键选择检查并进入控制台3、在控制台输入以下代码4、然后回车(Enter)如果纵向显示不全就横向 1、打开CSDN文章 2、按F12或者鼠标右键选择检查并进入控制台 3、在控制台输入以下代码 (function(){ $("#side&q…

25考研软件工程 西南大学跟重庆大学哪个难?

需知晓,西南大学每年报考人数众多,可这不代表报考软件工程专业的人数就多呀,况且西南大学的优势学科并非工科,故而软件工程的报考热度不会如题主所言那般高呢。 其次得明白,软件工程专业上岸难度方面,重庆大…

普通算法——二维前缀和

二维前缀和 题目链接:https://www.acwing.com/problem/content/798/ 题目描述: 输入一个 n n n 行 m m m 列的整数矩阵,再输入 q q q 个询问,每个询问包含四个整数 ** x 1 , y 1 , x 2 , y 2 x1,y1,x2,y2 x1,y1,x2,y2 &…

Mock神器:Easy-Mock 私有化部署及使用介绍

在现代前后端分离的开发模式中,后端接口的数据模拟是一个常见且必要的需求。尤其是在后端接口尚未开发完成时,前端开发需要依赖模拟数据进行开发与测试。Easy-Mock 是一个非常流行的开源工具(虽然它已经停止更新好长时间了)&#…

Java的Mvc整合Swagger的knife4框架

Swagger的介绍 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。使用Swagger,就是把相关的信息存储在它定义的描述文件里面(yml或json格式),再通过维护这个描述 文件可以去更…

01_Node.js入门 (黑马)

01_Node.js入门 知识点自测 从 index.js 出发&#xff0c;访问到 student/data.json 的相对路径如何写? A&#xff1a;../public/teacher/data.json B&#xff1a;./public/student/data.json C&#xff1a;../student/data.json <details><summary>答案</sum…

2024.12.5——攻防世界Training-WWW-Robots攻防世界baby_web

2024.12.5—攻防世界Training-WWW-Robots 知识点&#xff1a;robots协议 dirsearch工具 本题与第一道Robots协议十分类似&#xff0c;不做wp解析 大致步骤&#xff1a; step 1 打开靶机&#xff0c;发现是robots协议相关 step 2 用dirsearch进行扫描目录 step 3 url传参r…