.NET Framework 服务实现监控可观测性最佳实践
本次实践主要是介绍 .NET Framework 服务接入观测云进行全面的可观测。
环境信息
- 系统环境:Windows Server
- 开发语言:.NET Framework >= 4.6.1
- APM探针包:ddtrace
准备工作
安装 Datakit
主机部署: https://docs.guance.com/datakit/datakit-install/
打开采集 APM 采集器
Windows 主机配置
# 到如下路径,把ddtrace.conf.sample 拷贝一份命名为ddtrace.conf即可
C:\Program Files\datakit\conf.d\ddtrace
接入方案
修改本地环境变量
点击此电脑右键——属性——高级系统设置——环境变量,新建系统变量,输入如下内容:
DD_TRACE_AGENT_URL=http://localhost:9529 (必填)
DD_SERVICE=myapp # 举例 myappname (必填)
DD_ENV=test # 举例 test (可选)
DD_VERSION=1.0 #举例 1.0 /(可选)
DD_TRACE_SERVICE_MAPPING= # 举例 mysql:main-mysql-db (可选)
DD_LOGS_INJECTION=true # 开启注入ddtrace日志(可选)
SET DD_RUNTIME_METRICS_ENABLED=true # runtime 指标(可选)
- TRACE_AGENT_URL:数据上传 IP 加端口,需填为 http://localhost:9529 ,需填写 DatKit 实际的端口
- ENV:系统环境,可根据需求设置为 pro 或者 test 或其他内容
- SERVICE:平台上所展现的应用名称,可设置为具体服务名称
- VERSION:版本号,可根据需要进行设置
- TRACE_SERVICE_MAPPING:使用配置重命名服务,以便在观测云平台上与其他业务系统调用的组件进行区分展示。接受要重命名的服务名称键的映射,以及要使用的名称,格式为 [from-key]:[to-name]
- 注意:[from-key] 内容为标准字段,例如 mysql、redis、mongodb、oracle,请勿进行自定义更改
- 示例:TRACE_SERVICE_MAPPING=mysql:main-mysql-db,TRACE_SERVICE_MAPPING=mongodb:offsite-mongodb-service
如下图:注意这里的变量跟变量值,如上面配置等号左边是 key ,右边是 value 。

下载探针(建议 2.4.3 版本)
- x64 架构: https://github.com/DataDog/dd-trace-dotnet/releases/download/v2.4.3/datadog-dotnet-apm-2.4.3-x64.msi
- x86 架构: https://github.com/DataDog/dd-trace-dotnet/releases/download/v2.4.3/datadog-dotnet-apm-2.4.3-x86.msi
使用管理员权限运行探针
必须管理员权限运行 dotnet-agent 安装包,点击下一步,直到安装成功。

重启 IIS 服务,使得配置生效
在 PowerShell 执行如下命令,重启 iis
net stop /y was
net start w3svc
DataKit 机器上查看数据
输入:datakit monitor

实践效果


Get a tailored plan
Contact us
Join the community
Scan with WeChat
to join the community
to join the community
Try Guance
Start online and pay only for what you use.
Get startedChoose a Guance plan