溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

net core下鏈路追蹤skywalking安裝和使用方法

發布時間:2021-10-19 20:00:30 來源:億速云 閱讀:179 作者:柒染 欄目:開發技術

這期內容當中小編將會給大家帶來有關net core下鏈路追蹤skywalking安裝和使用方法,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

當我們用很多服務時,各個服務間的調用關系是怎么樣的?各個服務單調用的順序\時間性能怎么樣?服務出錯了,到底是哪個服務引起的?這些問題我們用什么方案解決呢,以前的方式是各個系統自己單獨做日志,出了問題從暴出問題的服務開始一個一個服務的排查,耗時耗力,有些日志不全的,還不一定查得出來。好在現在有Skywalking鏈路追蹤系統,可以不用寫任何代碼,就追蹤到各個服務間的調用關系和性能狀態等。

從0開始搭建兩個webapi項目,使用Skywalking來追蹤他們之間的調用關系及響應時間。開發環境為VisualStudio2019

1.1.安裝skywalking

安裝skywalking會遇到好多坑,首先安裝不一定成功,訪問8080端口監控頁面會出現很多問題。即使監控頁面正常了,netcore程序也有可能監控不到,因為鏈接11800會失敗,多數因為skwwalking和elasticsearch版本的問題引起的。因為存儲多數選擇是elasticsearch,所以這里是以這個為主。像下面通過docker-compose來安裝。

文件如下:

version: '3.3'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.5.0
    container_name: elasticsearch
    restart: always
    ports:
      - 9200:9200
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms256m -Xmx256m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
  oap:
    image: apache/skywalking-oap-server:7.0.0-es7
    container_name: oap
    depends_on:
      - elasticsearch
    links:
      - elasticsearch
    restart: always
    ports:
      - 11800:11800
      - 12800:12800
    environment:
      SW_STORAGE: elasticsearch7
      SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
  ui:
    image: apache/skywalking-ui:7.0.0
    container_name: ui
    depends_on:
      - oap
    links:
      - oap
    restart: always
    ports:
      - 8080:8080
    environment:
      SW_OAP_ADDRESS: oap:12800

安裝完后查看一下服務是否正常,三個程序分別是elastic、skwwalking、skwwalkingui:

net core下鏈路追蹤skywalking安裝和使用方法

1.2 查看elastic和監控頁面是否正常

,連接分別為 安裝skwwalking服務器ip:9200、安裝skwwalking服務器ip:8080,如果遇到端口占用,提前更換:

net core下鏈路追蹤skywalking安裝和使用方法

net core下鏈路追蹤skywalking安裝和使用方法

2.上netcore程序,這里先跑兩個程序

2.1.新增第一個netcore程序,我這里是net5。

net core下鏈路追蹤skywalking安裝和使用方法

2.2 安裝依賴

SkyAPM.Agent.AspNetCore,版本我選最好0.9.0。(有需要先保證安裝服務正常,程序監控正常后再著手升級其他的各個版本。)

net core下鏈路追蹤skywalking安裝和使用方法

2.3 增加skyapm.json文件

,記得屬性 復制到輸出目錄里面設置 始終復制,防止配置文件修改不生效踩坑。這里需要注意的兩個地方是1.ServiceName應該是當前程序的名字,Services是skwwalking服務器ip:11800。

{
  "SkyWalking": {
    "ServiceName": "SkyWalkingDemo",
    "Namespace": "",
    "HeaderVersions": [
      "sw6"
    ],
    "Sampling": {
      "SamplePer3Secs": -1,
      "Percentage": -1.0
    },
    "Logging": {
      "Level": "Debug",
      "FilePath": "logs/skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "ProtocolVersion": "v6",
      "QueueSize": 30000,
      "BatchSize": 3000,
      "gRPC": {
        "Servers": "skywalking服務器ip:11800",
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000
      }
    }
  }
}

2.4 程序launchSettings.json

里面加上一行 "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore",如果用的iis express啟動一樣需要加到iis express配置下面。如下:

net core下鏈路追蹤skywalking安裝和使用方法

2.5 運行起來后監控畫面是這樣的:

net core下鏈路追蹤skywalking安裝和使用方法

3 再新增一個程序

3.1 新建程序步驟和2.1是一樣的

后面設置不再贅述,啟動的地址我改了,比較懶第一個啟動后第二個的地址不能用一樣的。程序如下:

net core下鏈路追蹤skywalking安裝和使用方法

3.2 這里新增了一個controller控制器做測試

比較隨便代碼如下,做什么很清楚了:

net core下鏈路追蹤skywalking安裝和使用方法

3.3 監控結果是這樣的:

net core下鏈路追蹤skywalking安裝和使用方法

net core下鏈路追蹤skywalking安裝和使用方法net core下鏈路追蹤skywalking安裝和使用方法

說完了,這里只是一個簡單的安裝和演示,有實際需要需要自己再做進一步的研究,因為實際項目需要的可多了。

上述就是小編為大家分享的net core下鏈路追蹤skywalking安裝和使用方法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女