• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

APM(Application Performance Management)应用性能管理

目前,在微服务的趋势下,我们需要一个工具来监控网站,以方便我们的网站运营和维护。

如题,这里主要记录下SkyWalking的简单使用(开发测试)情况。NET平台,我们可以收获和开发一个小玩具。

安装SkyWalking

https://github.com/apache/skywalking

https://skywalking.apache.org/

docker-compose

既然是用于开发和测试,怎么可能简单,怎么可能来?用最简单的方法解决问题(懒)。

step.1 下载脚本

在这个页面上,你可以找到下载两个文件 .evn 和 docker-compose.yml . SkyWalking的docker安装脚本

https://github.com/apache/skywalking/tree/master/docker

的。env文件是一个版本号,对应的版本号可以修改。天巡用的ElasticSearch大版本是7,不建议改成8。

这里的脚本最初是使用gcc组件映像包。因为只是为了开发和测试,所以我们可以换一种方式使用DockerHub镜像包来提高效率(懒人)。

step.2 拉取镜像

去DockerHub查几个镜像的最新版本号,拉到本地docker里.

docker pull Apache/skywalking-oap-server :9 . 0 . 0

docker pull Apache/sky walking-ui :9 . 0 . 0

在DockerHub中找不到Elasticsearch-oss。正如您在docker-composer.yml文件中看到的,这里使用的图像来自这个docker.elastic.co地址。我们就在这里搜吧。

https://www . docker . elastic . co/r/elastic search/elastic search-OSS

提示:

1.这里不需要拉镜像elasticsearch-oss,只需要填写版本号就可以自动拉了。

2.oss版是指没有X-pack模块,也就是说没有Elastic的系列商用充电功能。

step.3 设置版本

然后,修改.env文件,写出相应的图像和版本号。

ES_VERSION=7.10.2

OAP _ IMAGE=Apache/skywalking-OAP-server :9 . 0 . 0

UI _ IMAGE=Apache/skywalking-UI :9 . 0 . 0

step.4 一键启动

运行指令

docker-排版

当你看到以下信息时,说明SkyWalking-UI启动成功。

ui | 2022-05-02 17:19:29.745信息1 - [

main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port 8080 ui | 2022-05-02 17:19:29.799 INFO 1 --- [ main] o.a.s.o.s.webapp.ApplicationStartUp : Started ApplicationStartUp in 2.599 seconds (JVM running for 2.921)

 

step.5 检测启动

打开服务器的地址,访问9200端口,查看ElasticSearch的启动情况。

打开服务器的地址,访问8080端口,就能看到SkyWalking的面板。

SkyWalking的折腾到此结束,下面开始创建测试用的.NET程序。

 

接下来开始折腾.NET

.NET探针地址: https://github.com/SkyAPM/SkyAPM-dotnet

 

step.1 创建项目

在.NET6平台,创建一个WebApi项目。

 

step.2 安装nuget包

nuget安装SkyAPM.Agent.AspNetCore。

 

step.3 修改启动配置

修改launchSettings.json文件,设置程序的环境变量,可以通过写在json文件里。添加两个变量,ASPNETCORE_HOSTINGSTARTUPASSEMBLIES、SKYWALKING__SERVICENAME

注意点:

SKYWALKING__SERVICENAME,里面设置的是当前应用出现在SkyWalking上的名称。

SkyAPM.DotNet.CLI 是用来辅助生成配置的工具,不是必须安装的。

launchSettings.json
{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "profiles": {
    "SampleWebApi": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore",
        "SKYWALKING__SERVICENAME": "sample_app"
      },
      "applicationUrl": "https://localhost:42957;http://localhost:42956",
      "dotnetRunMessages": "true"
    }
  }
}

 

step.4 修改程序配置

修改appsettings.json文件,这里设置程序和SkyWalking-OAP的连接。

Servers里面填写服务器的地址,默认的是11800端口。

注意点:

配置里的ServiceName,要和环境变量SKYWALKING__SERVICENAME匹配上。

HeaderVersions指的是SkyWalking的版本,所以写的是sw9,

ProtocolVersion指的是数据格式版本,这里写v8才有用,意思就是还没更新完善,建议自己根据测试结果调整。

FilePath里有探针的日志,可以帮助排错使用。

appsettings.json
  "SkyWalking": {
    "ServiceName": "sample_app",
    "Namespace": "",
    "HeaderVersions": [
      "sw9"
    ],
    "Sampling": {
      "SamplePer3Secs": -1,
      "Percentage": -1.0
    },
    "Logging": {
      "Level": "Information",
      "FilePath": "logs\\skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 1000,
      "ProtocolVersion": "v8",
      "QueueSize": 1000,
      "BatchSize": 1000,
      "gRPC": {
        "Servers": "192.168.153.129:11800",
        "Timeout": 1000,
        "ConnectTimeout": 1000,
        "ReportTimeout": 1000,
        "Authentication": ""
      }
    }
  }

 

step.5 运行程序

运行程序后,点一下接口,然后到SkyWalking的面板上看,这时候已经可以看到有数据显示了。

好了,基本操作到此结束。

 

dxa0frl4d4w4775.png

 

SkyWalking的拓扑图挺好看的,能够看到系统中各项目之间的调用关系。在微服务趋势的现在是刚需。

Link to comment
Share on other sites