[OCI]OCI Data FlowアプリケーションメトリクスでSparkの監視を簡素化 (2021/02/18)
OCI Data FlowアプリケーションメトリクスでSparkの監視を簡素化 (2021/02/18)
https://blogs.oracle.com/cloud-infrastructure/simplify-spark-monitoring-with-oci-data-flow-application-metrics
投稿者:Carter Shanklin | Sr. Director of Product Management
Oracle Cloud Infrastructure (OCI) Data Flowは、ほとんど管理を必要とせずに
Apache Sparkアプリケーションを任意の規模で実行できる、完全に管理されたビッグデータサービスです。
Sparkはビッグデータ処理フレームワークの代表格となっており、OCI Data Flowは、Spark開発者がインストールや管理を行う必要がないため、
Oracle CloudでSparkを実行するための最も簡単な方法となっています。
問題点
ビッグデータ・アプリケーションは、ログやセンサー・データなどの大量のデータを解析し、
ダッシュボードやユーザー・フェイシング・アプリケーションなどの下流のコンシューマー向けにこのデータを要約します。
下流のコンシューマーはこのデータを新鮮な状態で必要とするため、ビッグデータ・アプリケーションは、
サービスレベル契約(SLA)と呼ばれる一定の時間枠内で完了する必要があります。
毎分数百ギガバイトのデータをクランチしてダッシュボードにまとめる製造センサー・アプリケーションを考えてみましょう。
ビジネスは、製造上の問題を回避するために、ダッシュボード内のデータが5分以内であることを必要とします。
この 5 分間のしきい値が SLA となり、SLA が満たされていない場合には、運用チームにすぐに警告を出す必要があります。
これらのアプリケーションはスケジュール上で実行されるため、誰もそれらを監視しておらず、
動作が遅い場合や障害が発生した場合には、オペレーションズにアラートを出す必要があります。
これまで、Data Flowのユーザーは、カスタム管理スクリプトを構築するか、
OCIのData Flow用Apache Airflowプラグインを使用して、この問題を自分で解決しなければなりませんでした。
Data Flowアプリケーションメトリクスは、OCIコンソール内で直接これらの問題を解決する力を与えてくれます。
Data Flowアプリケーション・メトリクスの発表
現在利用可能なData Flowアプリケーションには、SLAを追跡し、Sparkアプリケーションの健全性を維持するためのメトリクスが含まれています。
Data Flowアプリケーションを詳しく見てみると、以下のSLA統計が利用できます。
- Data Flowアプリケーションの各実行の起動時間
- データフローアプリケーションの各実行の実行時間
- 総実行時間=起動時間+処理時間
これらのメトリクスは、アプリケーションがどれだけ一貫して SLA を満たしているかを示しています。
また、これらのメトリクスは、OCI Monitoring サービスと統合して、
問題が発生した場合に PagerDuty、Slack、または電子メールを介してアラートを出すことができます。例を見てみましょう。
例を見てみましょう。Spark アプリケーションの動作時間が長すぎる場合のアラート
10 分以内に完了する必要のあるアプリケーションがあるとします。
OCI コンソールで特定のアプリケーションに移動することから始めます。
コンソールでアプリケーションを選択すると、Total Run Timeというパネルが表示されます。
このパネル内のオプションを選択すると、このクエリにアラームを作成することができます。
このオプションをクリックすると、多くのフィールドがあらかじめ設定されたアラーム定義インターフェイスが表示されます。
このブログでは、必要な IAM ポリシーのようなアラームの基本的なセットアップの詳細は説明しません。
概要については、OCI 監視サービスのアラームセクションを参照してください。
アラームを作成するには、以下のタスクを実行する必要があります。
- メトリック名と寸法を設定
- トリガールールセクションでSLAのしきい値を設定
- アラームを通知トピックにリンク
最初に、メトリック名とディメンジョンを指定します。
総実行時間を追跡しているので、RunTotalTimeメトリックとMax統計量を使用します。
ディメンジョンについては、監視している特定のData Flowアプリケーションを選択します。
トリガールールの値をSLAに秒単位で設定します。
10分を目標にしているので、600秒に設定しています。
最後に、アラームを通知トピックにリンクします。
トピックは、アラートがどのように配信され、誰に配信されるかを制御します。
方法の詳細については、通知サービスのドキュメントを参照してください。
このアラームでは、Data Flowアプリケーションの実行が600秒以上続くとアラームが鳴ります。
その他の使用例
アプリケーションメトリクスは、以下の一般的なモニタリングタスクに対応しています。
- ジョブが失敗した場合や繰り返し失敗した場合のアラート
- 多数のジョブが同時に実行されている場合のアラート
- ジョブの開始に時間がかかる場合のアラート
ご自身でご確認ください。
Data Flowアプリケーションのメトリクスは、すべての商用リージョンで利用可能です。
Data Flowでは、Sparkアプリケーションの実行中にSparkジョブが使用しているリソースに対してのみ料金を支払うため、これらのメトリクスの追加料金は発生しません。
Data Flowアプリケーションメトリクスの詳細については、Data Flowのドキュメントを参照してください。
今すぐ始めるには、Oracle Cloud Free Trialにサインアップするか、アカウントにサインインしてOCI Data Flowをお試しください。
Data Flowの15分間のインストール不要のチュートリアルを試して、Oracle Cloud Infrastructureを使用してSparkの処理がどれだけ簡単にできるかを確認してください。
コメント
コメントを投稿