監視とアナリティクス

目次

  1. パフォーマンスの監視
  2. ビジネスアクティビティの監視
  3. ロギング
  4. アナリティクスAPI

OutSystemsに組み込まれている包括的な監査・監視ツールにより、アプリケーションのパフォーマンスをプロアクティブに管理できます。また、パフォーマンス上の問題をリアルタイムで検知できるため、問題を容易に検出できるようになります。パフォーマンス監視ダッシュボードは、アプリケーションレベルのアナリティクスを表示します。ビジネスアクティビティ監視ダッシュボードは、ビジネスプロセスおよびワークフロー監視を処理します。また、ロギングおよびアナリティクス向けのAPIも用意されています。情報およびメトリックは、いずれも追加作業なしで、実行環境にオーバーヘッドをもたらすことなく、デフォルトで使用できます。

OutSystemsをオンプレミスで使用する場合、CPUやディスクのようなアプリケーションまたはサーバーリソースの下位レベルでの監視および管理は、基盤テクノロジーに適したシステム監視コンソールで行うべきです。Web技術を使用するコンソールであれば、カスタマイズ済みの新規タブの追加を可能にするプラグインによってOutSystemsと連携させることができます。

パフォーマンスの監視


OutSystemsでは、パフォーマンス監視ダッシュボードが充実しているため、容易にパフォーマンスのボトルネックを把握し、対策をとることができます。すべてのクエリ、Webサービス呼び出し、画面描画、スケジューラ、さらにアダプタ、外部システム、カスタムAPIの呼び出しの実行時間は、非同期で追跡されます。管理コンソールからのパフォーマンスレポートには、各種アプリケーションのチューニングや最適化を行ううえで貴重な情報が掲載されています。さらに、こうした対策を行うにあたってフレームワークを有効化したり開発したりする必要はありません。発生しうるすべての問題に対してチームが迅速かつ効率的にサポートを提供できるよう支援することを目標としています。

このダッシュボードは、OutSystemsのロギングデータベースを活用し、情報を有用かつ理解しやすい形で関連付けます。たとえば、特定の画面のパフォーマンスに影響を及ぼしているデータベースクエリを示すことができます。これにより、人手に頼らず相関関係を調べることができ、迅速に情報を把握できます。

エンドユーザーに選択されている画面から、顧客が問題を経験している特定のモバイルネットワークまで、任意のレベルに粒度をドリルダウンすることが可能です。また、ダッシュボードは画面や拡張機能の動作の遅さなど、チームが気付いていない可能性のある問題も自動的に提示します。これにより問題解決にかかる時間が短縮されるため、チームはトラブルシューティングではなく新しいアプリケーションの開発に集中することができます。

インフラ管理コンソールを使用すると、アプリのパフォーマンスがエンドユーザーエクスペリエンスに及ぼす影響を知ることができます。以下の観点でアプリケーションのパフォーマンスをドリルダウンして把握することが可能です。

  • クライアント: 最も多く使用されているOSおよびブラウザを確認できます。
  • ネットワーク: 最も多く使用されているネットワーク接続およびデータキャリアを確認できます。
  • サーバー: 時間のかかるデータベースクエリや連携レスポンスを確認できます。

エンドユーザーエクスペリエンスの分析


パフォーマンスのボトルネックになっているものは何でしょうか。ブラウザの描画でしょうか。それともデータベースでしょうか。あるいはSAP呼び出しでしょうか。また、ユーザーが3Gネットワークでアプリケーションを使用した場合はどうなるでしょう。これらはすべて、総合的なエンドユーザーエクスペリエンスに影響を与える可能性があります。

OutSystemsは、業界標準のユーザー満足度指標に基づいてエンドユーザーエクスペリエンスを計測します。この計測機能があることで、ユーザーがアプリケーションについてどう感じているのかを把握できます。また、提供された情報をドリルダウンすることで、エンドユーザーから報告を受ける前にパフォーマンス上の問題を検出、トラブルシューティング、解決することが可能になります。

以下の図は、ダッシュボード画面でユーザーエクスペリエンスがどう表示されるかを示したものです。Preparation画面アクションのスコアが低く、黄色や赤のリクエストの数はユーザーエクスペリエンスに改善が必要であるということを示しています。

クライアントの分析


開発またはQAサイクルにおいて、ブラウザ上でのアプリケーションの描画速度を把握できます。クライアント監視機能により、Webページごと、さらには画面アクションごとにパフォーマンス上の問題を特定することができます。.

モバイルアプリケーションに対するクライアント監視機能も容易に実施できますが、FabricやGoogle Analyticsなどのコンポーネントをアプリケーションに追加する必要があります。

ネットワークの分析


OutSystemsでは、ネットワーク上の問題を迅速かつ詳細に調べることができます。この機能は、特定のネットワーク状況でのみ表面化するパフォーマンスの問題を特定するうえで役立ちます。たとえば、3Gネットワークを使用した場合のみ遅くなるページなどです。ネットワーク監視機能によって問題が検出・可視化されるため、アプリケーションを最適化してデバイスに送信するデータ量を減らすことができます。

サーバーの分析


OutSystemsでは、時間のかかるクエリや連携レスポンス、カスタムコードの呼び出し時間などを記録・報告することで、サーバーの応答時間を調べることができます。

たとえば、処理に5ミリ秒かかるデータベーストランザクションの場合、1回では遅いとみなされないかもしれません。しかしそれが毎秒何百万回も発生するのであれば、パフォーマンスに影響を及ぼすでしょう。このような類型的な影響もダッシュボードに表示されるため、どのような状況でパフォーマンスに影響が発生するかを完全に把握できます。

ビジネスアクティビティの監視


OutSystemsは、ビジネスプロセスのモデリングをサポートしているため、既存のアプリケーション上にプロセスをすばやく作成することができます。多くの場合、この機能は発注承認や苦情処理をはじめとするアクションなど、既存のビジネスプロセスすべてにおいてユーザーをガイドするために使用されます。

通常、こうしたビジネスプロセスについては、実行されているプロセスのSLA(サービスレベル契約)準拠度を監視する必要があります。この目的で、OutSystemsにはBusiness Activity Monitoringダッシュボードが組み込まれています。

このダッシュボードを使用することで、開発をまったく行わずに、初回デプロイの直後からプロセスの監視を開始し、最適化を行うことができます。これはオープンソースとして提供されるため、レポートは使用する組織のスタイルに合わせて容易に修正・拡張できます。

ロギング


こうしたアナリティクス機能およびダッシュボードは、OutSystemsがすべてをロギングしていることにより可能となります。実際、アプリケーションはエラー、監査、およびパフォーマンスのログを作成するよう、デフォルトで自動的に構成されています。開発者は1行もコードを記述する必要がありません。

こうしたメトリックは実行時に非同期で取得されるため、メトリックが絶えず作成されている間も、アプリケーションのパフォーマンスが損なわれることがありません。取得されるイベントには以下のものが含まれます。

  • すべてのアプリケーションレイヤーでのエラー
  • バッチ処理の実行
  • Webサービスの呼び出し(インバウンド、アウトバウンド)
  • アダプタ、および連携APIやカスタムAPIの呼び出し
  • ページアクセス
  • データベースアクセス
  • 外部データベースアクセス
  • クライアント側の画面アクセス数

これらのログは標準データベースに保存されます。このデータベースにアクセスすると、独自のダッシュボードを作成できます。APIを使用しても同じことができます。以下は、OutSystemsのロギングデータベースから取得した下位レベルのレポートの例です。

アナリティクスAPI


OutSystemsのアナリティクス機能が取得したデータは、すべて柔軟で使いやすいREST APIの形で公開されます。このAPIにより、リアルタイムですべての登録イベントにアクセスして他のエンタープライズ管理ソリューションとのシームレスな連携を実現できます。また、アプリケーションでカスタムイベントを登録できるようになります。

たとえば、このAPIを使用すると、部門ごとの適用状況監視といったビジネスデータを利用してダッシュボードを拡張することができます。さらに、顧客や従業員が特定の行動をとったときにどこにいたのかを正確に把握するために、アプリケーションから送信されるイベントにデバイスのGPS情報を追加することも可能です。

InOutSystems Forgeには AdoptionMonitorアプリケーションがあります。このアプリケーションは、OutSystemsから取得したログ情報を活用して、開発インフラのアプリケーションにアクセスしているユーザーを表示するダッシュボードを作成します。このダッシュボードは、長期的な動向を収集することでアプリケーションが利用される時間や頻度についての洞察を提示するほか、特定のアプリケーションに対するユーザーの評価についての貴重なデータを提供します。