关于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数据库日志,你一定要吧数据库的驱动安装在应用中。

 

posted @   无语1994  阅读(1899)  评论(19编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示