[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の処理がどれだけ簡単にできるかを確認してください。

コメント

このブログの人気の投稿

Oracle Database 19cサポート・タイムラインの重要な更新 (2024/11/20)

Oracle GoldenGate 23aiでMicrosoft Fabricでのオープン・ミラーリングがサポートされるようになりました (2024/11/19)

Oracle Database Service for Azure(ODSA)とOracle Interconnect for Azureの比較 (2022/08/15)