如何通过OpenTelemetry自动插桩在IIS中获取SQL语句
解决方法
要在IIS自动插桩模式下开启OpenTelemetry.SqlClient的SQL语句捕获功能,可通过以下两种方式配置:
方式1:环境变量配置
直接设置环境变量启用SQL文本捕获:
- 变量名:
OTEL_DOTNET_AUTO_SQLCLIENT_SETTINGS_CAPTURE_SQL_TEXT - 变量值:
true
你可以在系统环境变量中设置,或者针对IIS应用池单独配置(在IIS管理器中找到目标应用池 → 高级设置 → 环境变量 添加)。
方式2:配置文件设置
根据你的.NET版本选择对应配置方式:
对于.NET Core/.NET 5+项目
在appsettings.json中添加以下配置段:
{ "OpenTelemetry": { "Instrumentation": { "SqlClient": { "CaptureSqlText": true } } } }
对于.NET Framework项目
在web.config的<appSettings>节点下添加配置项:
<appSettings> <!-- 其他配置项 --> <add key="OTEL_DOTNET_AUTO_SQLCLIENT_SETTINGS_CAPTURE_SQL_TEXT" value="true" /> </appSettings>
生效步骤
配置完成后,重启目标IIS网站或应用池,新配置即可生效,后续SQL客户端操作的追踪数据中会包含执行的SQL语句。
内容的提问来源于stack exchange,提问作者mattb
相关产品推荐
相关产品推荐

