.Net Core 商城微服务项目系列(十):使用SkyWalking构建调用链监控(2019-02-13 13:25)
2024-08-26 05:32:42
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": -,
"Percentage": -1.0
},
"Logging": {
"Level": "Information",
"FilePath": "logs\\skyapm-{Date}.log"
},
"Transport": {
"Interval": ,
"ProtocolVersion": "v6",
"QueueSize": ,
"BatchSize": ,
"gRPC": {
"Servers": "localhost:11800",
"Timeout": ,
"ConnectTimeout": ,
"ReportTimeout":
}
}
}
}
需要注意的是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=".\logs\stdout">
<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和其它两个服务的健康检查请求。
最新文章
- 下载apk文件浏览器会直接打开并显示乱码的问题
- CCF 201604-4 游戏
- NOI 题库 7218
- gbk与utf-8转换
- 如何修复IIS7
- HDU 1978 记忆化搜索(dfs+dp)
- 逻辑运算符——逻辑与&;&;、逻辑或||
- Tomcat端口被占用快速解决方案
- web标准常见问题整理
- Python开发之--前端 HTML基础
- OracleHelper[.Net 连接Oracle数据库的封装类]
- ALV编辑行内容有改变时候操作
- <;span>;什么意思
- php 中数据类型
- Angular+ionic2 web端 启动程序出现短暂 白屏或黑屏 的处理小妙招
- concurrent.futures
- winform注册功能
- centos7下安装docker(5镜像命名)
- java基础面试题-2
- Codeforces Round #396 (Div. 2) A. Mahmoud and Longest Uncommon Subsequence 水题
热门文章
- 手机端apk文件安装
- HDU-2089不要62-暴力或数位DP入门
- 【牛客多校】Han Xin and His Troops
- codeforces1076 A.B.C.D.E
- codeforces 688 E. The Values You Can Make(01背包+思维)
- Go从入门到放弃
- Redis真的那么好用吗
- Spring Cloud官方文档中文版-Spring Cloud Config(上)-服务端(配置中心)
- 零基础一年拿下BAT三家offer
- gemfire基本使用以及spring-data-gemfire的使用