docker 部署Skywalking

創建網絡

docker network create skywalking-network

docker compose 安裝SkyWalking

docker-compose.yaml 文件

version: "3"
services:# SkyWalking OAP server with Elasticsearch storageskywalking-oap:image: apache/skywalking-oap-server:8.9.0container_name: skywalking-oapports:- "12800:12800"- "11800:11800"networks:- skywalking-networkdepends_on:skywalking-elasticsearch:condition: service_healthy  # 等待ES健康檢查environment:- SW_STORAGE=elasticsearch- TZ=Asia/Shanghai- SW_STORAGE_ES_CLUSTER_NODES=skywalking-elasticsearch:9200#volumes:#  - ./oap-config:/skywalking/config # 掛載本地目錄到容器中# Elasticsearchskywalking-elasticsearch:image: elasticsearch:7.16.3container_name: skywalking-elasticsearchports:- "19200:9200"- "19300:9300"networks:- skywalking-networkenvironment:- discovery.type=single-node- TZ=Asia/Shanghai- ingest.geoip.downloader.enabled=false  # 禁用GeoIP下載healthcheck: # 添加健康檢查test: [ "CMD-SHELL", "curl -s http://localhost:9200/_cluster/health | grep -q '\"status\":\"green\"'" ]interval: 10stimeout: 10sretries: 20ulimits:memlock:soft: -1hard: -1nofile:soft: 65536hard: 65536mem_limit: 2g#volumes:#  - ./es-data:/usr/share/elasticsearch/data/nodes # 掛載本地目錄到容器中# SkyWalking UIskywalking-ui:image: apache/skywalking-ui:8.9.0container_name: skywalking-uiports:- "18080:8080"networks:- skywalking-networkenvironment:- SW_OAP_ADDRESS=http://skywalking-oap:12800- TZ=Asia/Shanghaivolumes:- ./ui-config:/app/config # 掛載本地目錄到容器中
networks:skywalking-network:external:name: skywalking-network

詳細說明

  1. Elasticsearch 服務

    • 使用 elasticsearch:7.14.0 鏡像。
    • 啟用單節點模式,設置 JVM 參數以優化內存使用。
    • 啟用安全功能,設置 elastic 用戶的密碼。
    • 掛載卷 elasticsearch-data 以持久化數據。
    • 映射端口 19200 和 19300。
  2. SkyWalking OAP Server 服務

    • 使用 apache/skywalking-oap-server:8.6.0-es7 鏡像。
    • 配置 Elasticsearch 作為存儲,設置集群節點地址、用戶名和密碼。
    • 映射端口 11800 和 12800。
    • 依賴于 Elasticsearch 服務。
  3. SkyWalking UI 服務

    • 使用 apache/skywalking-ui:8.6.0 鏡像。
    • 配置 OAP Server 的地址。
    • 映射端口 18080。
    • 依賴于 OAP Server 服務。
  4. 網絡和卷

    • 定義了一個名為 skywalking-net 的橋接網絡,確保所有服務在同一網絡中。
    • 定義了一個卷 elasticsearch-data,用于持久化 Elasticsearch 的數據。

啟動服務

在包含 docker-compose.yml 文件的目錄中運行以下命令啟動服務:

docker compose up -d

驗證

  1. 檢查 Elasticsearch 是否正常運行

    curl -u elastic:elastic http://127.0.0.1:19200
    
  2. 檢查 OAP Server 是否正常運行
    查看 OAP Server 的日志,確認它是否成功連接到 Elasticsearch:

    docker logs skywalking-oap
    
  3. 訪問 SkyWalking UI
    打開瀏覽器,訪問 http://172.30.112.19:18080,您應該能夠看到 SkyWalking 的界面。

2. 客戶端代碼集成

2.1 下載 SkyWalking Agent

從 SkyWalking 官方網站下載對應版本的 Agent。

wget https://archive.apache.org/dist/skywalking/8.6.0/apache-skywalking-apm-8.6.0.tar.gz
tar -xvzf apache-skywalking-apm-8.6.0.tar.gz
cd apache-skywalking-apm-bin
2.2 配置 SkyWalking Agent

編輯 agent/config/agent.config 文件,配置以下參數:

# SkyWalking Agent 名稱
SW_AGENT_NAME=springboot-skywalking-demo
# Collector 服務地址
SW_AGENT_COLLECTOR_BACKEND_SERVICES=172.30.112.19:11800
# 鏈路的最大 Span 數量
SW_AGENT_SPAN_LIMIT=2000
2.3 啟動應用

在啟動 Spring Boot 應用時,通過 -javaagent 參數指定 SkyWalking Agent 的路徑。

java -javaagent:/path/to/skywalking-agent.jar \
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=172.30.112.19:11800 \
-DSW_AGENT_NAME=springboot-skywalking-demo \
-jar your-springboot-app.jar

jar包地址(官網):https://skywalking.apache.org/downloads/
阿里云:https://mirrors.aliyun.com/apache/skywalking/
在這里插入圖片描述
運行起來就是這樣
在這里插入圖片描述
自己可以進行調用,然后記得修改時間(有的版本在下面):
在這里插入圖片描述

使用文檔

SkyWalking UI 使用文檔

SkyWalking UI 提供了豐富的功能,用于監控和分析分布式系統的性能和調用鏈路。以下是 SkyWalking UI 的主要功能和使用方法:

1. 儀表盤 (Dashboard)

儀表盤提供了全局和當前服務的運行狀態和監控指標,包括:

  • 調用熱力圖 (Calls HeatMap):顯示請求數量和響應時間。
  • 應用平均告警 (Avg Application Alarm):顯示應用的告警信息。
  • 慢服務 (Slow Service):顯示響應時間最長的服務。
  • 應用吞吐量 (Application Throughput):顯示每分鐘的調用次數 (CPM)。
2. 拓撲圖 (Topology)

拓撲圖以圖形化方式展示服務之間的依賴關系和調用鏈路,包括:

  • 拓撲結構圖 (Topology Map):顯示服務之間的調用關系。
  • 概覽 (Overview):顯示服務的總體運行狀態。
  • SLA (Service Level Agreement):顯示服務的可用率。
  • 每分鐘調用 (Calls Per Minute):顯示每分鐘的調用次數。
  • 平均響應時間 (Avg Response Time):顯示服務的平均響應時間。
3. 服務 (Service)

服務頁面提供了特定服務的詳細信息,包括:

  • 平均吞吐量 (Avg Throughput):顯示服務的平均吞吐量。
  • 平均響應時間 (Avg Response Time):顯示服務的平均響應時間。
  • 平均可用率 (Avg SLA):顯示服務的平均可用率。
  • 依賴圖 (Dependency Map):顯示服務的依賴關系。
4. 端點 (Endpoint)

端點頁面提供了特定端點的詳細調用數據,包括:

  • 調用次數 (Call Count):顯示端點的調用次數。
  • 平均響應時間 (Avg Response Time):顯示端點的平均響應時間。
  • 錯誤率 (Error Rate):顯示端點的錯誤率。
  • 調用鏈路 (Trace):顯示端點的調用鏈路。
5. 追蹤 (Trace)

追蹤頁面提供了具體的調用鏈路數據,包括:

  • Trace ID:唯一標識一次調用的 ID。
  • 調用鏈路:顯示每次調用的詳細鏈路,包括每個節點的響應時間、調用順序等。
6. 性能剖析 (Performance Analysis)

性能剖析頁面提供了對特定端點的性能分析,包括:

  • 采樣分析:對端點進行采樣分析,查看詳細的堆棧信息。
  • 任務列表:顯示當前的性能分析任務。
  • 任務詳情:查看任務的詳細信息,包括實例信息、操作類型、操作時間等。
7. 日志 (Log)

日志頁面提供了服務的日志信息,包括:

  • 服務日志:顯示服務的日志信息。
  • 瀏覽器日志:顯示瀏覽器的日志信息。
  • 追蹤 ID:通過追蹤 ID 查看跨服務的整體流程日志。
8. 告警 (Alarm)

告警頁面展示了觸發告警的列表,包括:

  • 實例告警:顯示實例相關的告警信息。
  • 請求超時:顯示請求超時相關的告警信息。
9. 事件 (Event)

事件頁面展示了服務實例的啟動和端點的調用等事件信息。

10. 時間選擇器 (Time Selector)

時間選擇器用于設定統計指標的時間范圍,所有指標數據展示都依賴于這個時間范圍。

官方文檔

SkyWalking 的官方文檔提供了詳細的使用指南和配置說明,建議參考以下鏈接:

  • SkyWalking 官方文檔
  • SkyWalking 中文文檔

通過這些功能和文檔,您可以全面監控和分析分布式系統的性能和調用鏈路,快速定位和解決性能問題。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/97342.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/97342.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/97342.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

動態UI的秘訣:React中的條件渲染

動態UI的秘訣:React中的條件渲染 作者:碼力無邊各位React探險家,歡迎回到我們的《React奇妙之旅》!我是你們的老朋友碼力無邊。在之前的旅程中,我們已經學會了如何創建組件、傳遞數據(Props)、管…

ubuntu掛載外接硬盤

查看找到硬盤sudo fdisk -l例如:名字為:/dev/sda創建掛載點sudo mkdir -p /2TSSD手動掛載(單次生效,關機會失效)sudo mount /dev/sda1 /2TSSD開機自動掛載(永遠生效,關機會失效)S1&a…

數學思想 | 數學思維過程對象封裝

注:本文為 “數學思維過程對象封裝” 相關譯文。 英文引文,機翻未校。 略作重排,如有內容異常,請看原文。 What is the object of the encapsulation of a process? 過程封裝的對象是什么? David Tall#, Michael Th…

常見視頻封裝格式對比

一、核心概念:封裝格式 vs 編碼格式 編碼格式 (Codec): 例如 H.264, H.265 (HEVC), AV1, VP9。它負責對原始視頻和音頻數據進行壓縮,是決定視頻體積和清晰度的關鍵。封裝格式 (Container): 例如 MP4, MKV, AVI。它負責將已經壓縮好的視頻、音頻、字幕等打…

Java實現PDF表格轉換為CSV

在很多企業辦公和數據分析的場景中,PDF 中常常存放著報表、清單或統計數據。相比 PDF,CSV 文件 更易于在 Excel 或數據庫中進行進一步處理。因此,我們常常需要一種方式,將 PDF 中的表格數據批量抽取并導出為 CSV 文件。 本文將介…

具有類人先驗知識的 Affordance-覺察機器人靈巧抓取

25年8月來自武漢大學、阿里達摩院、湖畔研究中心、浙大和清華的論文“Towards Affordance-Aware Robotic Dexterous Grasping with Human-like Priors”。 能夠泛化抓取目標的靈巧手是開發通用具身人工智能的基礎。然而,之前的方法僅僅關注低級抓取穩定性指標&#…

項目管理的關鍵成功因素

項目管理的關鍵成功因素包括:目標明確、科學規劃、有效溝通、資源保障、風險管理、團隊協作、持續監控與總結改進。目標明確保證方向不偏移、科學規劃確保執行有章可循、有效溝通減少誤解與沖突、資源保障提供堅實支撐、風險管理幫助預防問題、團隊協作提升整體效率…

[光學原理與應用-338]:ZEMAX - Documents\Zemax\Samples

Documents\Zemax\Samples 是 Zemax OpticStudio 軟件自帶的樣例文件目錄,包含大量預設的光學設計案例,涵蓋鏡頭設計、照明系統、公差分析、非序列光學等多個領域。這些樣例是學習軟件功能、驗證設計方法和快速啟動項目的寶貴資源。以下是該目錄的詳細解析…

el-table合并列實例

想要實現效果:目前接口返回數據data:[{companyCode: "NXKYS",companyName:1123,costContractId:1123,costContractName:1123,createBy:1123,details:[{brand:1123,contractItemName:1123,modelSpec:1123,projectItemId:1123,requestQty:1123,transactionZ…

虛假 TradingView Facebook 廣告在全球傳播 Android 間諜軟件

一項快速發展的惡意廣告活動最初通過 Meta 的廣告網絡針對 Windows 用戶,現已將其范圍擴展到 Android 設備,推廣偽裝成合法交易應用程序的 Brokewell 惡意軟件的高級版本。 Bitdefender Labs 警告稱,此次移動攻擊活動目前已在全球范圍內展開…

Android系統框架知識系列(十九):Android安全架構深度剖析 - 從內核到應用的全棧防護

?關鍵詞?:安全啟動鏈、應用沙箱、SELinux、硬件安全模塊、權限控制、零信任架構一、Android安全架構的基本概念與背景1. 移動安全環境的特殊性Android作為全球最大的移動操作系統,面臨著獨特的安全挑戰:?移動設備的安全威脅維度?&#xf…

智能消防栓悶蓋終端:讓城市消防管理更智慧高效

然而您是否知道,這些傳統的消防栓常常面臨非法開啟、人為破壞、水壓不足等管理難題?當火災真正發生時,它們能否可靠地提供"救命水"?如今,隨著智能消防栓悶蓋終端的出現,這一切正在悄然改變。 智…

【系統架構設計(一)】系統工程與信息系統基礎上:系統工程基礎概念

文章目錄一、系統工程的基本概念二、系統工程方法論1、霍爾三維結構:硬科學2、切克蘭德方法:軟科學思維3、其他三、系統工程生命周期管理1、生命周期階段劃分2、生命周期方法論系統工程與信息系統基礎為復雜系統設計提供從思維方法到具體技術的全方位指導…

[p2p-Magnet] 隊列與處理器 | DHT路由表

第6章:隊列與處理器 在第5章:分類器中,我們了解了系統如何分析原始種子數據。但當系統突然發現數百萬新種子時,如何高效處理這些海量任務?這就是隊列與處理器系統的職責所在。 核心概念 任務隊列 功能定位&#xf…

Spring JDBC 源碼初探:異常處理體系

一、Spring JDBC 異常體系簡介 當我們使用 Spring JDBC 進行數據訪問時,大多數人關注的是 JdbcTemplate 如何簡化數據庫操作,卻很少有人去深入理解異常體系。事實上,異常不僅僅是錯誤提示,它是系統健壯性、可維護性的重要一環。JD…

如何提高微型導軌的生產效率?

在精密機械制造領域,每一個細微的元件都可能成為決定產品性能和品質的關鍵因素。而微型導軌正是體型小、高精度優勢,在精密制造領域得到廣泛應用,它高效支撐著現代工業的生產方式和效率。那么,如何提高微型導軌的生產效率呢&#…

輕量xlsx讀取庫xlsx_drone的編譯與測試

這個庫是在看其他網頁時,作為和功能豐富的xlsxio庫的對比來的,按照xlsx_drone github頁面介紹, 特征 不使用任何外部應用程序來解析它們。注重速度而不是功能。簡單的接口。UTF-8 支持。 安裝 直接將 src 和 ext 文件夾復制并粘貼到項目根文…

Linux/UNIX系統編程手冊筆記:文件I/O、進程和內存分配

文件 I/O 深度解析:掌握通用 I/O 模型的核心邏輯 在 Linux 系統編程中,文件 I/O 是程序與外部設備(文件、設備等 )交互的基礎。從打開文件到讀寫數據,再到關閉資源,一系列系統調用構成了通用 I/O 模型的核心…

C++轉置正方形矩陣

C轉置正方形矩陣&#xff0c;就是正方形矩陣的a[i][j]a[j][i]。輸入31 2 34 5 6 7 8 9輸出1 4 72 5 83 6 9#include<bits/stdc.h> using namespace std; int main(){int n;cin>>n;int arr[n5][n5];for(int i0;i<n;i){for(int j0;j<n;j){cin>>arr[i][j]…

Ztero文獻管理工具插件設置——親測有效

一、Zotero簡介與安裝 Zotero是一款開源文獻管理軟件&#xff0c;能夠幫助我們方便地收集、整理、引用和導出文獻。它作為一個"在你的網頁瀏覽器中工作的個人研究助手"&#xff0c;可以捕獲網頁內容并自動添加引用信息。 安裝步驟&#xff1a; 訪問Zotero官網&…