イベントログファイルのクエリ

学習の目的

この単元を完了すると、次のことができるようになります。

  • 開発者コンソールを使用して EventLogFile オブジェクトをクエリする。
  • Salesforce イベントログファイル (ELF) ブラウザでイベントを表示する。
  • EventLogFile のイベント種別について知る。
メモ

メモ

この単元は、Salesforce 開発者コンソールと Event Log File (ELF) Browser (イベントログファイルブラウザ) についての理解が前提となります。それぞれの詳細は、この単元の「リソース」セクションにあるリンクを参照してください。

このモジュールでは、受講者が Salesforce システム管理者で、イベントモニタリングを有効にする適切な権限を有しているものと想定しています。ただし、Salesforce のシステム管理者でなくても問題ありません。このまま読み進み、本番組織でシステム管理者がこれらの手順をどのように実行するのか確認します。Trailhead Playground を使用して一緒に実行していくこともできますが、イベントがログファイルに表示されるまで 24 時間かかります。

Salesforce イベントログファイルブラウザでのイベントの表示

Salesforce イベントログファイル (ELF) ブラウザは、イベントログファイルへのすばやいアクセスを可能にする Salesforce 接続 Web アプリケーションです。ELF ブラウザを使用すると、一切のコードなしで簡単にさまざまな期間からイベントを見つけてダウンロードできます。ブラウザで取得したファイル内のデータは、Tableau CRM を使用して視覚化することもできます。詳細は、「Event Monitoring Analytics App (Event Monitoring Analytics アプリケーション)」モジュールを参照してください。

メモ

メモ

ELF ブラウザで既存のデータがあることを確認します。ない場合は、まず何らかのユーザアクティビティを生成します。ここで生成しておくと、単元 3 を開始するときに表示するデータが表示されます。これにより、イベント種別や日付などの一般情報が提供されますが、その日のすべてのイベント (LogFile 項目) が開発者コンソールに表示されることはありません。

0 件の結果を返す ELF ブラウザのスクリーンショット

過去 24 時間に組織からレポートが 1 つもエクスポートされていない場合は、totalSize 項目の値が 0 になります。前述のとおり、イベントは 24 時間経過するまで表示されません。組織からレポートをエクスポートして、翌日もう一度試行します。

  1. 組織にログインします。
  2. リンク (https://salesforce-elf.herokuapp.com) をクリックして ELF ブラウザアプリケーションに移動します。
  3. [Production Login (本番ログイン)] をクリックします。
  4. 開始日を設定します。
  5. 検索するイベント種別を選択するか、イベント種別の設定を [All (すべて)] のままにします。
  6. [Apply (適用)] をクリックします。

開発者コンソールでのイベントログファイルのクエリ

たとえば、Rob Burgle という名前の営業担当が数週間前に退職し、主要な競合他社に転職したとします。すると突然、この他社に取引を奪われるようになります。そこで Rob が機密のリード情報を含むレポートをダウンロードして、新しい会社に渡したのではないかと疑います。通常は、この疑惑を実証することができません。イベントモニタリングでは、疑念を立証するために必要な証拠をすべて収集できます。このしくみを見てみましょう。 

Lightning Experience では、数回クリックするだけで開発者コンソールを開くことができます。開発者コンソールは、Salesforce 組織のアプリケーションの作成、デバッグ、およびテストに使用できる一連のツールを備えた統合開発環境です。

Lightning Experience から開発者コンソールを開く手順は、次のとおりです。

  1. クイックアクセスメニューアイコン をクリックします。
  2. [開発者コンソール] をクリックします。

Lightning Experience から開発者コンソールを開くために使用するクイックアクセスメニューが表示されているスクリーンショット

これで EventLogFile を開いて情報をクエリする準備ができました。

  1. [File (ファイル)] | [Open (開く)] をクリックします。
  2. [Entity Type (エンティティ種別)] で、[Objects (オブジェクト)] を選択します。
  3. [Filter (検索条件)] 項目に EventLogFile と入力します。
  4. [Entities (エンティティ)] の下にある EventLogFile を選択します。
  5. [Open (開く)] をクリックします。

次に、クエリする項目を選択し、[Query (クエリ)] ボタンをクリックします。

[Query (クエリ)] で選択対象となる項目が表示されているスクリーンショット

メモ

メモ

次のステップに進む前に、組織にイベントデータがあることを確認します。データがない場合、少なくとも 1 つのレポートを実行してエクスポートし、データが表示されるまで 24 時間待ちます。 

最後に、[Execute (実行)] ボタンをクリックしてクエリを実行します。

クエリの結果が表示されているスクリーンショット

開発者コンソールのクエリエディタを使用すると、Salesforce Object クエリ言語 (SOQL) クエリを実行できます。[History (履歴)] ペインには、すばやく再利用できるように最新のクエリ 10 個が表示されます。結果は [Query Results (クエリ結果)] グリッドに表示されます。

[Query Results (クエリ結果)] グリッドには各レコードが 1 行として表示されます。開発者コンソールから離れずにレコードを開いたり、作成、更新、削除したりできます。

イベント種別のイベントログファイルのドキュメント

EventLogFile オブジェクトの EventType 項目ではイベントがサポートされます。すべてのイベント種別が Salesforce オブジェクトリファレンスにドキュメント化されています。このドキュメントには項目とその説明、さらに利用できるサンプルクエリが含まれています。 

たとえば DB_TOTAL_TIME 項目の場合、イベントのデータ型は Number で、データベース往復処理の時間 (ナノ秒) を表し、JDBC ドライバー、データベースへのネットワーク、DB_CPU_TIME で費やされた時間が含まれます。システム管理者は、この項目を CPU_TIME と比較して、パフォーマンス上の問題がデータベースレイヤと独自のコードのどちらで発生しているかを判断できます。

[Report Event Type (レポートイベント種別)] ページ

レポートイベントには、ユーザがレポートを実行したときの動作に関して、日時、レポート名、レポートで参照されたレコード、行と列の数、発生源のユーザなど多くの情報が含まれます。

REST API を使用してイベントモニタリングログを操作することもできます。イベントモニタリングには、Lightning Platform SOAP API および REST API を使用して EventLogFile オブジェクト経由でアクセスします。そのため、ログデータを独自のバックエンドストレージやデータマートに統合して、複数の組織や異なるシステムからのデータと相関させることができます。

次の単元では、イベントログファイルをダウンロードして視覚化する方法を学習し、一歩進んで、イベントモニタリングを使用して悪意のあるユーザの行動に関するインサイトを提供できるようにします。

リソース