当前位置: 首页 > news >正文

.NET Framework 服务实现监控可观测性最佳实践

环境信息

  • 系统环境:Windows Server
  • 开发语言:.NET Framework >= 4.6.1
  • APM探针包:ddtrace

准备工作

安装 Datakit

主机部署: 主机安装 - 观测云文档

打开采集 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

实践效果

相关文章:

  • TnT-LLM: Text Mining at Scale with Large Language Models
  • 电脑安装双系统windows和ubuntu server
  • 手写JDK Proxy实现InvocationHandler的Invoker
  • 飞鸟写作能用吗 #笔记#笔记
  • excel处理_多个excel文件合并
  • Pear-rec:一键开启多功能捕捉分享,告别繁琐操作!
  • Python Flask 将数据传递给前端
  • matlab 将矩阵写入文件
  • 【python】flask服务端响应与重定向处理
  • 哈工大sse C语言 困难
  • Spring Boot 自动化单元测试类的编写过程
  • ②零基础MySQL数据库-MySQL约束
  • 从零开始一步一步掌握大语言模型---(1-写在最开始)
  • 2024网络安全数据安全加固类资料合集
  • 选择word中的表格VBA
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • es6--symbol
  • FineReport中如何实现自动滚屏效果
  • JavaScript标准库系列——Math对象和Date对象(二)
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 前端面试之闭包
  • 时间复杂度与空间复杂度分析
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 网页视频流m3u8/ts视频下载
  • 我的zsh配置, 2019最新方案
  • 扩展资源服务器解决oauth2 性能瓶颈
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (Ruby)Ubuntu12.04安装Rails环境
  • (zt)最盛行的警世狂言(爆笑)
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • *上位机的定义
  • .bat批处理出现中文乱码的情况
  • .jks文件(JAVA KeyStore)
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET下ASPX编程的几个小问题
  • []T 还是 []*T, 这是一个问题
  • [20140403]查询是否产生日志
  • [30期] 我的学习方法
  • [C#]C#学习笔记-CIL和动态程序集
  • [C#]DataTable常用操作总结【转】
  • [C/C++]数据结构 栈和队列()
  • [CSS]文字旁边的竖线以及布局知识
  • [Hadoop in China 2011] 蒋建平:探秘基于Hadoop的华为共有云
  • [HDU3710]Battle over Cities
  • [ICCV2017]Neural Person Search Machines
  • [JavaWeb]—前端篇
  • [Latex学习笔记]数学公式基本命令
  • [linux运维] 利用zabbix监控linux高危命令并发送告警(基于Zabbix 6)