【正解】C
【0からの解説】
①前提知識:Dataflow は Apache Beam のパイプラインを実行するフルマネージドのデータ処理サービスで、ストリーミング処理にもバッチ処理にも使えます。Dataflow はジョブの指標(システム レイテンシ、データの鮮度(data freshness)、バックログ、スループット、エラー数、CPU 使用率など)を自動的に Cloud Monitoring に送信します。Cloud Monitoring は Google Cloud の指標を収集・可視化し、「アラート ポリシー」で条件(しきい値など)を定義すると、条件を満たしたときにメール・SMS・Slack・PagerDuty・Pub/Sub などの通知チャネルへ自動的に通知できます。
②要件と制約語の整理:(a) 継続稼働のストリーミング パイプライン(1 分間に数千件)、(b)「パフォーマンス」をモニタリングする、(c) エラー発生時に「アラート」を受け取る。つまり性能指標の継続的な追跡と、自動通知の両方が必要です。
③正解の理由:Cloud Monitoring で Dataflow のジョブ指標(システム レイテンシ、データの鮮度、バックログ、要素数、エラーなど)を追跡し、しきい値やエラー条件に基づくアラート ポリシーを作成すれば、パフォーマンスの劣化とエラーの両方を自動的に検知して通知できます。人手による監視が不要で、Google が推奨する標準的な運用監視のやり方です。
【誤りの選択肢】
A:Cloud Logging のログ ベースのアラートでエラー文字列を検知することはできますが、ログのキーワードだけではレイテンシやスループット、バックログといった「パフォーマンス」を継続的に追跡できません。要件の半分(性能監視)を満たさず、キーワードの漏れによる検知漏れも起こりやすい方法です。
B:Dataflow ジョブ モニタリング インターフェースはジョブ グラフや指標を確認できる便利な画面ですが、「目視で確認する」ことが前提で、24 時間継続稼働するパイプラインを人が見張り続けるのは現実的ではありません。アラートはこの画面から Cloud Monitoring のアラート ポリシーを作成する形で実現されるものであり、通知の仕組みの本体は Cloud Monitoring です。
D:処理済みデータを事後に分析してデータの異常を見つける方法で、パイプラインの性能やエラーをリアルタイムに監視するものではありません。また、このパイプラインの出力先は BigQuery であり、Cloud Storage 内の処理済みデータを分析するという前提自体が問題文と一致しません。
【参考】
Dataflow ジョブの指標Dataflow ジョブ モニタリング インターフェースを使用する