Docker + Spring Boot 演示 SkyWalking Demo

歡迎訪問 博客原文

本文使用 Docker + Spring Boot 做一個 SkyWalking 的簡單 Demo 演示。

簡介

在這裏插入圖片描述

圖片與以下內容來自官網,可通過 官方 Living Demo 體驗產品效果。

SkyWalking 是一款分佈式系統的應用程序性能監視工具,專爲微服務、雲原生架構和基於容器(Docker、K8s、Mesos)架構而設計。

SkyWalking 是觀察性分析平臺和應用性能管理系統。提供分佈式追蹤、服務網格遙測分析、度量聚合和可視化一體化解決方案.

Docker 部署

以 Docker Hub 官方鏡像 6.5.0 進行演示。

部署 SkyWalking oap

部署 skywalking-oap-server,oap 即 Observability Analysis Platform,表示 SkyWalking 的 backend.

docker run -d \
--name skywalking-oap \
-p 12800:12800 \
-p 11800:11800 \
-e TZ=Asia/Shanghai \
apache/skywalking-oap-server:6.5.0

默認使用 H2 作爲存儲,暴露以下兩個端口:

  • 11800 端口用於 gRPC API,探針基於 gRPC 上報數據
  • 12800 端口用於 HTTP API ,SkyWalking UI 使用 HTTP 協議執行 GraphQL 查詢。

部署 SkyWalking UI

docker run -d \
--name skywalking-ui \
-p 8080:8080 \
--link skywalking-oap:skywalking-oap \
-e SW_OAP_ADDRESS=skywalking-oap:12800 \
apache/skywalking-ui:6.5.0

容器啓動後訪問 http://localhost:8080,效果如下:
在這裏插入圖片描述

使用 Demo

官網 下載 6.5.0 版本的壓縮包,選 Binary Distribution (Linux) 即可。

解壓後修改配置文件 你的目錄/apache-skywalking-apm-bin/agent/config/agent.config

# 設置爲應用名稱
agent.service_name=HelloWorld
# 設置爲OAP地址
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}

注意:不要變更agent目錄的目錄結構。

創建一個 Spring Boot Web 項目(應用使用8085或其他非8080端口),代碼如下:

@RestController
public class EchoController {

    @GetMapping("helloworld")
    public String helloworld() {
        return  "HelloWorld";
    }
}

在IDEA上設置好 VM Options,內容如下:

-javaagent:/你的目錄/apache-skywalking-apm-bin/agent/skywalking-agent.jar  -Dskywalking_config=/你的目錄/apache-skywalking-apm-bin/agent/config/agent.config
  • -javaagent :設置skywalking-agent.jar的絕對路徑
  • -Dskywalking_config:設置爲 agent.config 的絕對路徑

啓動應用,訪問一次應用接口: http://localhost:8085/helloworld

打開 SkyWalking UI,刷新一下,就可以看到註冊上來的 HelloWorld 應用及其統計數據。特別注意的是,時間範圍的選擇在右下角,產品設計的比較坑,很不方便。
在這裏插入圖片描述

推薦資料


歡迎關注公衆號 [陳一樂],一起學習,一起成長

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章