This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-website.git


The following commit(s) were added to refs/heads/master by this push:
     new d5a412a6aa9 blog-zh: Quick start with SkyWalking Go Agent (#605)
d5a412a6aa9 is described below

commit d5a412a6aa96aba70b9fa4549b43f99e12229ced
Author: Jimmy Song <rootson...@gmail.com>
AuthorDate: Mon Jun 5 09:52:58 2023 +0800

    blog-zh: Quick start with SkyWalking Go Agent (#605)
---
 .../index.md                                       | 126 +++++++++++++++++++++
 .../service.png                                    | Bin 0 -> 43523 bytes
 .../trace.png                                      | Bin 0 -> 61879 bytes
 3 files changed, 126 insertions(+)

diff --git 
a/content/zh/2023-06-01-quick-start-with-skywalking-go-agent/index.md 
b/content/zh/2023-06-01-quick-start-with-skywalking-go-agent/index.md
new file mode 100644
index 00000000000..2846154f9be
--- /dev/null
+++ b/content/zh/2023-06-01-quick-start-with-skywalking-go-agent/index.md
@@ -0,0 +1,126 @@
+---
+title: "SkyWalking Go Agent 快速开始指南"
+date: 2023-06-01
+author: "刘晗"
+description: "本文演示如何将应用程序与 SkyWalking Go 集成,并在 SkyWalking UI 中查看结果。"
+tags:
+- Golang
+- Agent
+- Tracing
+---
+
+本文演示如何将应用程序与 SkyWalking Go 集成,并在 SkyWalking UI 中查看结果。
+
+以前,如果你想要在 SkyWalking 中监控 Golang 应用程序,需要将项目与 
[go2sky](https://github.com/skyapm/go2sky) 项目集成,并手动编写各种带有 go2sky 
插件的框架。现在,我们有一个全新的项目([Skywalking 
Go](https://github.com/apache/skywalking-go)),允许你将 Golang 项目集成到 SkyWalking 
中,几乎不需要编码,同时提供更大的灵活性和可扩展性。
+
+在本文中,我们将指导你快速将 skywalking-go 项目集成到 Golang 项目中。
+
+演示包括以下步骤:
+
+1. **部署 SkyWalking**:这涉及设置 SkyWalking 后端和 UI 程序,使你能够看到最终效果。
+2. **使用 SkyWalking Go 编译 Golang**:在这里,你将把 SkyWalking Go Agent 编译到要监控的 Golang 
程序中。
+3. **应用部署**:你将导出环境变量并部署应用程序,以促进你的服务与 SkyWalking 后端之间的通信。
+4. **在 SkyWalking UI 上可视化**:最后,你将发送请求并在 SkyWalking UI 中观察效果。
+
+## 部署 SkyWalking
+
+请从官方 SkyWalking 网站下载 [SkyWalking APM 
程序](https://skywalking.apache.org/downloads/#SkyWalkingAPM)。然后执行以下两个命令来启动服务:
+
+```bash
+# 启动 OAP 后端
+> bin/oapService.sh
+# 启动 UI
+> bin/webappService.sh
+```
+
+接下来,你可以访问地址 `http://localhost:8080/`。此时,由于尚未部署任何应用程序,因此你将看不到任何数据。
+
+## 使用 SkyWalking GO 编译 Golang
+
+这里有一个简单的业务应用程序,启动了一个 HTTP 服务。
+
+```bash
+package main
+
+import "net/http"
+
+func main() {
+       http.HandleFunc("/hello", func(writer http.ResponseWriter, request 
*http.Request) {
+               writer.Write([]byte("Hello World"))
+       })
+       err := http.ListenAndServe(":8000", nil)
+       if err != nil {
+               panic(err)
+       }
+}
+```
+
+在项目的根目录中执行以下命令。此命令将下载 skywalking-go 所需的依赖项:
+
+```bash
+go mod tidy
+```
+
+接下来,请将其包含在项目的 `main` 包中。包含之后,代码将会更新为:
+
+```bash
+package main
+
+import (
+       "github.com/apache/skywalking-go/tracing"
+       "net/http"
+)
+
+func main() {
+       http.HandleFunc("/hello", func(writer http.ResponseWriter, request 
*http.Request) {
+               // Create a new segment
+               segment := tracing.GlobalTracer().StartSegment("hello")
+               defer segment.End()
+
+               writer.Write([]byte("Hello World"))
+       })
+       err := http.ListenAndServe(":8000", nil)
+       if err != nil {
+               panic(err)
+       }
+}
+```
+
+接下来,请从官方 SkyWalking 网站下载 [Go Agent 
程序](https://skywalking.apache.org/downloads/#GoAgent)。当你使用 `go build` 
命令进行编译时,请在 **bin** 目录中找到与当前操作系统匹配的代理程序,并添加 `-toolexec="/path/to/go-agent -a` 
参数。例如,请使用以下命令:
+
+```bash
+go build -toolexec="/path/to/go-agent -a"
+```
+
+## 应用部署
+
+在开始部署应用程序之前,你可以通过环境变量更改 SkyWalking 
中当前应用程序的服务名称。你还可以更改其配置,例如服务器端的地址。有关详细信息,请[参阅文档](https://skywalking.apache.org/docs/skywalking-go/next/en/advanced-features/settings-override/)。
+
+在这里,我们只是将当前服务的名称更改为 `demo`。
+
+接下来,你可以启动应用程序:
+
+```bash
+export SW_AGENT_NAME=demo
+export SW_AGENT_COLLECTOR_BACKEND_SERVICES=localhost:11800
+
+go run main.go
+```
+
+## 在 SkyWalking UI 上可视化
+
+现在,向应用程序发送请求并在 SkyWalking UI 中观察结果。
+
+几秒钟后,重新访问 `http://localhost:8080` 的 SkyWalking UI。能够在主页上看到部署的 `demo` 服务。
+
+![](service.png)
+
+此外,在追踪页面上,可以看到刚刚发送的请求。
+
+![](trace.png)
+
+## 总结
+
+在本文中,我们指导你快速开发 `demo` 服务,并将其与 SkyWalking Go Agent 集成。这个过程也适用于你自己的 Golang 
服务。最终,可以在 SkyWalking 服务中查看显示效果。如果你有兴趣了解 SkyWalking Go 
代理当前支持的框架,请[参阅此文档](https://skywalking.apache.org/docs/skywalking-go/next/en/agent/support-plugins/)。
+
+将来,我们将继续扩展 SkyWalking Go 的功能,添加更多插件支持。所以,请继续关注!
diff --git 
a/content/zh/2023-06-01-quick-start-with-skywalking-go-agent/service.png 
b/content/zh/2023-06-01-quick-start-with-skywalking-go-agent/service.png
new file mode 100644
index 00000000000..cacd6c90dc2
Binary files /dev/null and 
b/content/zh/2023-06-01-quick-start-with-skywalking-go-agent/service.png differ
diff --git 
a/content/zh/2023-06-01-quick-start-with-skywalking-go-agent/trace.png 
b/content/zh/2023-06-01-quick-start-with-skywalking-go-agent/trace.png
new file mode 100644
index 00000000000..e822685d395
Binary files /dev/null and 
b/content/zh/2023-06-01-quick-start-with-skywalking-go-agent/trace.png differ

Reply via email to