關於SkyApm測試部署。


這個是skyapm的github : https://github.com/SkyAPM/SkyAPM-dotnet

它依賴於skywalking 。 

我是用docker去部署的。因為這樣我的系統會干凈一點。。。

關於skywalking 的部署,首先去安裝 docker for windows 我的系統是windows 

然后通過docker-compose去部署,具體的部署文件 可以上這個github 

https://github.com/JaredTan95/skywalking-docker

 

version: '3.3'
services:
  elasticsearch:
    image: wutang/elasticsearch-shanghai-zone:6.3.2
    container_name: elasticsearch
    restart: always
    ports:
      - 9200:9200
      - 9300:9300
    environment:
      discovery.type: single-node
  oap:
    image: wutang/skywalking-oap:6.1.0
    container_name: oap
    depends_on:
      - elasticsearch
    links:
      - elasticsearch
    restart: always
    ports:
      - 11800:11800
      - 12800:12800
    environment:  
      SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
    volumes:
      - ../config:/apache-skywalking-apm-bin/config:ro
  ui:
    image: wutang/skywalking-ui:6.1.0
    container_name: ui
    depends_on:
      - oap
    links:
      - oap
    restart: always
    ports:
      - 8080:8080
    environment:
    # 這里其實有點問題。 可以用上面的這個,也可以用下面的這個 # JAVA_OPTS:
"-Dcollector.ribbon.listOfServers: oap:12800" collector.ribbon.listOfServers: oap:12800

 docker-copomse up -d 啟動后

需要等待一段時間,使用docker ps 查看oap,oap已經啟動了30s以上,然后重啟ui ,

docker restart ui

因為oap依賴於es es啟動有點慢,所以oap一直會restart,ui依賴於oap,oap重啟的時間,無法連接oap,報錯后再也無法連接oap。所以需要重啟ui。

http://localhost:8080 這個是默認的 ui界面

 

然后再監控端安裝 SkyAPM.Agent.AspNetCore 這個nuget,

 

然后在 launchSettings.json 添加環境變量 

"environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore",  
        "SKYWALKING__SERVICENAME": "auth_api"   //你要注冊到skywalking的服務名 
      }

這個寫完了之后,需要在應用根目錄 打開 命令行工具(ps,cmd) 

安裝工具 

dotnet tool install -g SkyAPM.DotNet.CLI 

生成 skyapm.json

dotnet skyapm config sample_app localhost:11800

                                     這里是你的服務名    默認 是11800端口  如果你改了端口那就自行修改。

 

 如果你沒有錯誤的話,會有log文件夾生成在你的應用根目錄下。

如果在ui界面 沒有生成查看到任何信息可以在log文件夾下,自行查看 日志,進行排錯。

 

還有,如果你想要監控 ef數據庫日志,你一定要吧數據庫的驅動安裝在應用中。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM