【发布时间】:2016-07-22 07:03:42
【问题描述】:
我想知道是否有办法为在 Dataproc 中提交的作业添加一些通知。我们计划使用 Dataproc 24/7 全天候运行流应用程序。但 Dataproc 似乎没有办法通知失败的作业。
只是想知道是否可以通过任何方式使用 Google StackDriver。
谢谢 苏仁
【问题讨论】:
标签: apache-spark pyspark google-cloud-dataproc stackdriver
我想知道是否有办法为在 Dataproc 中提交的作业添加一些通知。我们计划使用 Dataproc 24/7 全天候运行流应用程序。但 Dataproc 似乎没有办法通知失败的作业。
只是想知道是否可以通过任何方式使用 Google StackDriver。
谢谢 苏仁
【问题讨论】:
标签: apache-spark pyspark google-cloud-dataproc stackdriver
当然,StackDriver 可用于在已定义的日志指标上设置警报策略。 例如,您可以设置 Metric Absence 政策,该政策将监控作业是否成功完成,并在指定时间段内缺失时发出警报。
在控制台中转到Logging 并设置过滤器:
resource.type="cloud_dataproc_cluster"
jsonPayload.message:"completed with exit code 0"
点击创建指标,填写详细信息后,您将被重定向到日志指标页面,您可以在该页面中根据指标创建警报
【讨论】:
如上面的答案所述,可以强制基于日志的指标来提供 OP 所需的功能。但是,对于长时间运行的作业,metric absence 意味着您必须等待比猜测最长作业运行时间更长的时间(如果作业需要更长的时间但没有失败,您仍然可能会收到警报)。 “我们”真正想要的是一种监视和提醒工作状态failed 或指示失败的服务完成消息(如您的示例)的方法,以便我们立即收到警报。是的,您可以定义一个基于 Stackdriver 日志的指标,查找指示失败的特定字符串或值,这“有效”,但指标是计算的指标,例如“有多少作业失败”,并且需要不方便的变通方法alert-from-metric 转换为简单的“此作业失败”警报。例如,为了使这项工作发挥作用,警报过滤一个指标,还需要在一个时间间隔内指定一个平均聚合器来触发警报。讨厌:(
【讨论】: