在Azure Data Factory的Azure Integration runtime中启用ODBC诊断日志
分类: 故障排查 ◆ 标签: # # ◆ 发布于: 2024-01-16 16:24:22

在ADF
中使用ODBC
的场景下,如果想启用ODBC
的诊断日志,最为方便的场景是为ADF
配置了self host IR
, 在Self host IR
的虚拟机上利用Windows
的工具可以非常方便的配置ODBC
的诊断日志,并对该日志进行分析。如果是使用Azure Integration runtime
的场景下是否有办法也启用ODBC
的诊断日志呢?
答案是有的
。
注意
在使用Azure IR
的ADF
上启用ODBC
驱动的诊断日志,目前还仍然只能适用于Copy Activity
。
下面我们学习一下设置该诊断日志的基本步骤。
创建一个Azure Storage
用于保存日志
如果你已经有了可以使用的Azure Storage
账号, 可以直接使用,否则的话,就请新创建一个账号,然后在ADF Workspace
里创建一个LinkedService
指向该Storage
, 按照自己的喜好给Linked Service
命名。
Copy Activity
的配置
首先选中
Copy Activity
, 然后选择"Settings“, 第一步要做的是保证Maximum data integration unit
至少是大于等于4
的,默认选择Auto
也是可以的,一定要记得之后更改回自己的生产配置:配置
Copy Activity
启用日志:
上述配置中请请选择之前创建好的Linked Service
的名字,并根据需要配置文件夹等。启用
ODBC
的诊断日志:
切换到代码模式,然后配置红框内的ODBC
的配置:
可以观察到如下红框内容的配置即为ODBC
的诊断配置:
这里的ODBC
的配置代码如下:
"logSettings": {
"enableCopyActivityLog": true,
"enableOdbcDiagnosticLog": true,
"copyActivityLogSettings": {
"logLevel": "Warning",
"enableReliableLogging": false
},
"logLocationSettings": {
"linkedServiceName": {
"referenceName": "odbclogs",
"type": "LinkedServiceReference"
},
"path": "odbclogs"
},
"odbcDiagnosticLogSettings": {
"logLevel": "5",
"logFileSize": 20971520,
"logFileCount": 50
}
},
其中和odbc
相关的是:
"enableOdbcDiagnosticLog": true,
"odbcDiagnosticLogSettings": {
"logLevel": "5",
"logFileSize": 20971520,
"logFileCount": 50
}
另外针对于logLevel
的配置说明如下:
0: 禁止记录日志
1: 记录导致驱动失败的服务端错误。
2: 记录一般性错误,这些错误不会导致驱动停止运行或者失败。
3: 记录需要人为干预的错误事件。
4: 记录驱动的一般信息。
5: 记录详细的日志信息,用于驱动调试。
6: 记录驱动的所有活动日志。
默认配置是6。