关于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 @ 2019-06-10 17:39  无语1994  阅读(1829)  评论(19编辑  收藏  举报