Pentaho 数据集成:错误处理

Pentaho Data Integration: Error Handling

我正在使用 Pentaho 数据集成 (CE) 构建一个 ETL 流程,我正在尝试实施我的转换和作业,以便能够对其进行监控。具体来说,我希望能够捕获任何错误,然后将它们发送到错误报告服务,如 Honeybadger 或 New Relic。我了解如何进行行级错误报告,但我看不到如何进行作业或事务故障报告

这是一个示例作业。


如何捕获要记录的转换失败?

您无法捕获作业本身内部的作业级错误详细信息。 但是还有其他监控选项。

第一个选项是对转换或作业使用数据库日志记录(请参阅 job/trans 参数对话框中的 "Log" 选项卡)- 这样您始终可以获得有关执行状态的最新信息所以你可以,比如说,写一个定期扫描日志数据库的作业,并在你需要的地方发送错误报告。

同时,这个选项对于开发和支持来说似乎是相当重量级的,并且对于进一步的修改来说不太灵活。因此,在我们公司,我们最终在作业执行级别上进行监控 - 即当您 运行 一个具有 kitchen.bat 的作业并且由于任何原因失败时您获得 "error" 执行状态厨房,因此您可以随时使用您喜欢的工具轻松检查它并执行必要的操作 - .bat 命令、PowerShell 或(在我们的例子中)Jenkins CI。

您可以在修改后的 Java 脚本步骤中使用 writeToLog("e", "Message") 函数。

文档:

// Writes a string to the defined Kettle Log.
//
// Usage:
// writeToLog(var);
// 1: String - The Message which should be written to
// the Kettle Debug Log
//
// writeToLog(var,var);
// 1: String - The Type of the Log
// d - Debug
// l - Detailed
// e - Error
// m - Minimal
// r - RowLevel
//
// 2: String - The Message which should be written to
// the Kettle Log