zoukankan      html  css  js  c++  java
  • .Net Core 商城微服务项目系列(十):使用SkyWalking构建调用链监控(2019-02-13 13:25)

    SkyWalking的安装和简单使用已经在前面一篇介绍过了,本篇我们将在商城中添加SkyWalking构建调用链监控。

    顺带一下怎么把ES设置为Windows服务,cd到ES的bin文件夹,运行elasticsearch-service.bat install。

    首先我们需要在每个服务里通过NuGet引用SkyAPM.Agent.AspNetCore,完成之后我们添加配置文件skyapm.json,可以通过SkyWalking的脚本命令自动生成,也可以手动新建,这里贴一下:

    {
      "SkyWalking": {
        "ServiceName": "MI.Web",
        "Namespace": "",
        "HeaderVersions": [
          "sw6"
        ],
        "Sampling": {
          "SamplePer3Secs": -1,
          "Percentage": -1.0
        },
        "Logging": {
          "Level": "Information",
          "FilePath": "logs\skyapm-{Date}.log"
        },
        "Transport": {
          "Interval": 3000,
          "ProtocolVersion": "v6",
          "QueueSize": 30000,
          "BatchSize": 3000,
          "gRPC": {
            "Servers": "localhost:11800",
            "Timeout": 10000,
            "ConnectTimeout": 10000,
            "ReportTimeout": 600000
          }
        }
      }
    }

    需要注意的是gRPC的Servers需要指定SkyWalking的服务端地址,默认端口是11800,因为我部署在本地,所以写的localhost,大家酌情修改。

    然后编译将项目发布到IIS,当然这个时候SkyWalking是不起作用的,我们需要在IIS中设置下环境变量,这里设置环境变量有两种方式:

    (1)发布的文件里会有web.config,我们需要在web.config中添加环境变量:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <location path="." inheritInChildApplications="false">
        <system.webServer>
          <handlers>
            <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
          </handlers>
          <aspNetCore processPath="dotnet" arguments=".MI.Web.dll" stdoutLogEnabled="false" stdoutLogFile=".logsstdout">
                    <environmentVariables>
                        <environmentVariable name="ASPNETCORE_HOSTINGSTARTUPASSEMBLIES" value="SkyAPM.Agent.AspNetCore" />
                        <environmentVariable name="SKYWALKING__SERVICENAME" value="MI.Web" />
                    </environmentVariables>
                </aspNetCore>
        </system.webServer>
      </location>
    </configuration>
    <!--ProjectGuid: ad411527-fcc6-45bb-98e6-de8310002d81-->

    图中标蓝的部分是我们需要配置的环境变量,SKYWALKING_SERVERNAME是应用名称,会在UI里显示。

    (2)通过IIS配置

    选中相应项目,点击配置编辑器

    节点选择图中标记的,然后选中标记的选项,点击最右边的编辑项:

    然后点击添加,配置上面的两个环境变量,通过IIS方式配置完成后web.config也会被自动修改:

    OK,如果不出什么意外到这里我们就算配置完成了,启动所有服务查看:

     

     

    可以看待对应的服务请求已经有了调用数据,分别是Identity服务请求Token和其它两个服务的健康检查请求。

  • 相关阅读:
    Thinkphp Exception捕获异常失败
    PHP 图片生成文字
    Android Webview 调用JS跳转到指定activity
    Tp field 字段是可以添加函数的
    linux 查看php-fpm 进程数
    WebView网页中使用到支付宝调不起来,提示ERR_UNKNOWN_URL_SCHEME
    JS 获取服务器时间
    [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
    LightGBM
    集成学习--(摘自西瓜书)
  • 原文地址:https://www.cnblogs.com/weiBlog/p/10447945.html
Copyright © 2011-2022 走看看