Skip to main content

在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 IRADF上启用ODBC驱动的诊断日志,目前还仍然只能适用于Copy Activity

下面我们学习一下设置该诊断日志的基本步骤。

创建一个Azure Storage用于保存日志

如果你已经有了可以使用的Azure Storage账号, 可以直接使用,否则的话,就请新创建一个账号,然后在ADF Workspace里创建一个LinkedService 指向该Storage, 按照自己的喜好给Linked Service命名。

Copy Activity的配置

  1. 首先选中Copy Activity, 然后选择"Settings“, 第一步要做的是保证Maximum data integration unit 至少是大于等于4的,默认选择Auto也是可以的,一定要记得之后更改回自己的生产配置:




  2. 配置Copy Activity启用日志:


    上述配置中请请选择之前创建好的Linked Service的名字,并根据需要配置文件夹等。

  3. 启用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。