メインコンテンツまでスキップ
Sumo Logic Japanese

Salesforce アプリケーションのログの収集

このページでは、Sumo Logic での分析用に Salesforce からのイベントの収集をセットアップする手順を説明します。リンクをクリックして、トピックに移動してください。

要件とプロセスの概要

ログ収集のセットアップを開始する前に、以下のセクションで必要な前提条件とプロセスの概要を確認してください。

前提条件

アプリケーション ダッシュボードに表示されるすべてのデータを取得するには、Salesforce イベント モニタリング アドオンが必要です。  このアドオンにより、Salesforce EventLogFile、LoginEvent オブジェクト、トランザクション セキュリティ、Event Monitoring Analytics アプリケーションのすべてのイベント タイプにアクセスできます。詳細については、「Get Started with Event Monitoring (イベント モニタリングの開始)」および「Enable Event Monitoring (イベント モニタリングの有効化)」を参照してください。

プロセス概要

このページでは、新規インストールとアップグレード インストールの手順を説明します。

Salesforce 用の新規の SumoJanus インストール環境の設定

このプロセスに含まれる作業を次に示します。これらの作業は、記述されている順序で実行する必要があります。

  1. Salesforce の権限を設定します
  2. Collector をインストールして SumoJanus パッケージをダウンロードします
  3. SumoJanus パッケージをデプロイします
  4. SFDC バンドルを設定します
  5. JRE パスを設定します
  6. Salesforce で認証します
  7. スクリプト Source を設定します

ステップ 1: Salesforce ユーザ権限の設定

権限セットを作成してユーザに割り当てる手順

  1. Salesforce で、[設定] > [管理] > [ユーザの管理] > [権限セット] に移動します。  
  2. 「API の有効化」権限と「イベントログファイルを参照」または「すべてのデータの参照」権限のいずれかを使用して権限セットを作成します。詳細については、Salesforce ヘルプの「Create Permission Sets (権限セットの作成)」を参照してください。
  3. [権限セット概要] > [システム権限] ページで、[API の有効化] および [イベントログファイルを参照] を選択します。
  4. 作成したばかりの権限セット内にある [割り当ての管理] ボタンをクリックして、[割り当てを追加] をクリックします。
  5. ユーザを見つけ、そのユーザを作成したばかりの権限セットに割り当てます。
  6. 変更内容を保存します。

ステップ 2: Collector のインストールと SumoJanus パッケージのダウンロード

このセクションでは、Sumo Logic Collector をインストールして、必要な SumoJanus パッケージをダウンロードします。

Collector をインストールする

Sumo Logic で、Salesforce イベント モニタリング ログを収集するシステムに Collector (バージョン i19.115 以降) をインストールします。

Linux または Windows マシンで Installed Collector を設定します。デフォルトで、Collector には Java Runtime Environment が付属しています。SumoJanus が Java を見つけられるように、下記のように .bat ファイルまたは .bash ファイルを更新する必要がある場合があります。

SumoJanus パッケージのダウンロード

Salesforce からログを収集するには、SumoJanus ファイルが必要です。SumoJanus は Okta、Box、Salesforce などのアプリケーションからのスクリプトベースの収集に使用するプロプライエタリ ライブラリです。

次の SumoJanus パッケージ ファイルのうち、ご使用のシステムに適したものを使用します。

ステップ 3: SumoJanus パッケージのデプロイ

このセクションでは、SumoJanus を新規にインストールする手順を説明します。 

SumoJanus の新規インストール
  • Linux では、次のコマンドを実行します。

    tar xzvf sumojanus-salesforce-3.1.0.tar.gz

  • Windows では、Windows Explorer を使用して zip パッケージを開いて、内容をターゲット フォルダにコピーします。

    sumojanus-salesforce-dist.3.1.0.zip

ステップ 4: SFDC バンドルの設定

  1. 展開した sumojanus-salesforce フォルダに移動します。
  2. conf/sumologic.properties ファイルを開き、次のセクションをファイルの末尾に追加します (ファイルの既存の内容は一切上書きしないでください)。

    [salesforce]
    url = <Salesforce Instance URL>
    token_file_path = ${path}/data/salesforce.token
    record_file_path = ${path}/data/sf_readfiles.dat
    # if you are using a SFDC sandbox environment, set the following to true
    sandbox = false
    interval = daily

     
  3. 以下のプロパティを設定します。
    1.  urlSalesforce URL を参照します。例:
      https://na25.salesforce.com
    2. sandboxサンドボックス環境を使用している場合は、このプロパティを true に設定します。デフォルトでは false に設定されています。
    3. start_timestart_time を指定しない場合、過去 2 日間のログが収集されます。
    4. interval—日次ログを収集するか 1 時間ごとのログを収集するかを制御します。この手順の後半にある「ステップ 7: スクリプト Source の設定」で指定する [Frequency (頻度)] の設定は interval 設定に対応する必要があります。

conf/sumologic.properties ファイルでは、以下のプロパティがサポートされています。

プロパティ 必須またはデフォルト 説明
url 必須 インスタンス URL (例:

https://na31.salesforce.com/
token_file_path 必須 SFDC API で認証するアクセス トークン ファイルへのパス
convert_csv_to_json 任意、デフォルト: true 出力が JSON である必要がある場合は true に設定します。これは、SF からの未処理のイベント ログが CSV 形式であるためです。
record_file_path 任意、デフォルト: ${path}/sf_readfiles.dat 正常に読み取られたログ イベント ファイルのリストを格納するためのパス。
sandbox 任意、デフォルト: false URL がサンドボックス インスタンスを参照する場合は true に設定します。
start_time 任意、デフォルト: 2 日前 エポックが収集を開始してからのミリ秒数 (たとえば、1450137600000)。
end_time 任意、デフォルト: now エポックが収集を停止してからのミリ秒数。
interval 任意、デフォルト: daily 対応するログ ファイルの場合は daily または hourly に設定します。

ステップ 5: JRE パスの設定

Windows での SumoJanus_SF.bat の更新

SumoJanus をインストールしたフォルダに移動し、テキスト エディタで SumoJanus_SF.bat を開きます。下記のように、このスクリプトの 3 行目で JAVAPATHC:\Program Files\Sumo Logic Collector\jre\bin に設定されています。

set JAVAPATH="C:\Program Files\Sumo Logic Collector\jre\bin"

Collector の JRE が別の場所にある場合は、それに合わせて 3 行目を更新します。  

Linux での SumoJanus_SF.bash の更新

SumoJanus をインストールしたフォルダに移動し、テキスト エディタで SumoJanus_SF.bash を開きます。次のようにスクリプトを更新します。

  1. JRE の場所を参照するように JAVA_HOME  を設定する行をスクリプトの最後の行の直前に追加します。たとえば、Collector の JRE が /opt/SumoCollector/jre/bin にある場合は、次の行を挿入します。

    JAVA_HOME=/opt/SumoCollector/jre/bin
  2. スクリプトの最後の行は次のとおりです。

    java -jar ${SUMOJANUS_JAR_FILE} ${runMode} SalesforceCollector-3.1.0.jar -e 1800

    次のように、この行の前に $JAVA_HOME/ を付けます。

    $JAVA_HOME/java -jar ${SUMOJANUS_JAR_FILE} ${runMode} SalesforceCollector-3.1.0.jar -e 1800

ステップ 6: Salesforce での認証

上記のステップが完了したら、このセクションで説明する作業を使用して、インストールを認証する必要があります。

インストールを認証するには、次の手順を実行します。

  1. Salesforce をログアウトします。>
  2. 展開した sumojanus-salesforce フォルダで次のコマンドを実行します。
    • Unix 系のシステムの場合: bin/SumoJanus_SF.bash -s
    • Windows の場合: bin\SumoJanus_SF.bat -s
  3. ブラウザが開きます (開かない場合、下記の「ブラウザが開かない場合」を参照)。
    • ブラウザがすでに Salesforce で認証されている場合、アクセス権が付与されたことを示すメッセージが表示されます。
    • 認証していない場合、Salesforce ログインが表示されます。資格情報を入力 (必要な権限あり) してアクセス権を付与します。
  4. トークン ファイルが作成されたことを示す次のメッセージが表示されます。

  5. bin/SumoJanus_SF.bash -sを実行したセッションは閉じないでください。
ブラウザが開かない場合

ターゲット環境に GUI がない場合、たとえば環境にリモート アクセスしている場合、SumoJanus はブラウザを開くことができず、代わりに CLI へのリンクを出力します。そのリンクをコピーしてブラウザに貼り付けます。続いて、Salesforce での認証および承認プロセスを実行していくと、次のような URL が再び表示されます。

http://localhost:8080/?code=<some_value>&state=<some_value>

ブラウザに下記のようなエラー メッセージが表示されます。このメッセージは無視しても問題ありません。

site-cant-be-reached.png

ブラウザから URL をコピーし、「https」を「http」に変更してから (ブラウザを別のマシンで実行している場合は) スクリプトが実行されているのと同じマシンで、以下のいずれかのオプションを使用してください。

  • Linux の場合は、ターミナル ウィンドウを開いて、次のコマンドを実行します。 curl -X GET ‘the above url’
  • Windows の場合は、Powershell ウィンドウを開いて、次のコマンドを実行します。Invoke-WebRequest ‘the above url’  -Method Get

すべて正常に実行されると、「Thank you for granting access for SumoLogic SalesforceCollector (SumoLogic SalesforceCollector へのアクセス権を付与して頂きありがとうございます)」というメッセージが表示されます。代わりに認証コードの期限が切れたというエラー メッセージが表示された場合は、前述のように、このステップを 30 秒以内に完了するようにしてください。

上記のステップ 4 で表示されたのと同じような、トークン ファイルが作成されたことを示す確認メッセージが表示されます。

設定の確認
  1. 設定が正しいことを確認するには、sumojanus-salesforce フォルダから次のコマンドを実行します。
    • Unix 系のシステムの場合: bin/SumoJanus_SF.bash
    • Windows の場合: bin\SumoJanus_SF.bat
    (このコマンドは -s フラグを付けずに実行してください)。
  2. 次のような画面が表示されます (少し長くなる場合があります)。
     
  3. 作成したばかりの sf_readfiles.dat ファイルを削除します。このファイルは data フォルダにあります。

ステップ 7.スクリプト Source の設定

Sumo Logic で、「スクリプト Source」の手順に従ってスクリプト Source を設定します。バージョン 19.245-4 以降の新しい Collector では、スクリプト Source の作成はデフォルトでは禁止されています。スクリプト Source を許可するには、user.properties 内の Collector のパラメータ enableScriptSource=true を true に設定する必要があります。

Salesforce 用の Sumo Logic アプリケーションでは、次の設定を使用します。

  • Frequency (頻度): 
    • 日次ログ ファイルの場合、頻度を 6 時間ごとに設定します。
    • 1 時間ごとのログ ファイルの場合、頻度を 1 時間に設定します。 
  • Specify a timeout for your command (コマンドのタイムアウトを指定):
    • 日次ログ ファイルの場合、タイムアウトを 3 時間ごとに設定します。 
    • 1 時間ごとのログ ファイルの場合、タイムアウトを 1 時間に設定します。
  • Command (コマンド): /bin/bash
    • Unix 系のシステムの場合: /bin/bash
    • Windows の場合: Windows スクリプト 
  • 実行するスクリプトのパスの入力
    [Working Directory (作業ディレクトリ)] に sumojanus フォルダのフル パスを設定します。以下に例を示します。
    • Unix 系のシステムの場合: /opt/SumoCollector/sumojanus/bin/SumoJanus_SF.bash
    • Windows の場合: c:\Program Files\SumoCollector\sumojanus\bin\SumoJanus_SF.bat

Salesforce 用の既存の SumoJanus インストール環境のアップグレード

このセクションでは、Salesforce 用の既存の SumoJanus インストール環境をアップグレードする手順を説明します。

以前に設定した SumoJanus パッケージをアップグレードするには、次の手順を実行します。

ログ メッセージのサンプル

{
   "EVENT_TYPE":"Report",
   "TIMESTAMP":"20171002172229.677",
   "REQUEST_ID":"423LBHidMGMvdMH5Tie2a-",
   "ORGANIZATION_ID":"00XT0000000ABmu",
   "USER_ID":"006X0000006TZhh",
   "RUN_TIME":"606",
   "CPU_TIME":"90",
   "CLIENT_IP":"38.99.50.98",
   "URI":"/00OE0000003MThb",
   "REQUEST_STATUS":"S",
   "DB_TOTAL_TIME":"475884875",
   "ENTITY_NAME":"",
   "DISPLAY_TYPE":"S",
   "RENDERING_TYPE":"W",
   "REPORT_ID":"00OE0000003MThb",
   "NUMBER_EXCEPTION_FILTERS":"0",
   "NUMBER_COLUMNS":"3",
   "SORT":"",
   "DB_BLOCKS":"65351",
   "DB_CPU_TIME":"430",
   "NUMBER_BUCKETS":"2",
   "TIMESTAMP_DERIVED":"2016-02-08T21:55:55.667Z",
   "USER_ID_DERIVED":"006X0000006TZhhIAG",
   "USER_ID_DERIVED_LOOKUP":"saad@acme.com",
   "URI_ID_DERIVED":"00OE0000003MThbMAG",
   "REPORT_ID_DERIVED":"00OE0000003MThbMAG",
   "REPORT_ID_DERIVED_LOOKUP":"g Current Q MQL(C) by LC"
}

クエリのサンプル

最もアクセスされたレポート

_sourceCategory=salesforce event type "Report"
| json "REPORT_ID_DERIVED","REPORT_ID_DERIVED_LOOKUP" as report_id, report_name
| count by report_name, report_id
| format("%s : %s",report_name, report_id) as report_id
| count by report_id 
| sort by _count desc | top 20 report_id by _count

  • Working Directory (作業ディレクトリ):
    • Unix 系のシステムの場合: /opt/SumoCollector/sumojanus
    • Windows の場合: c:\Program Files\SumoCollector\sumojanus
  • Advanced Options for Logs (ログの詳細オプション):
    • Timezone (タイムゾーン): [UTC] を選択します。
    • Timestamp Format (タイムスタンプ形式): yyyy-MM-dd’T’HH:mm:ss.SSS
    • Timestamp Locator (タイムスタンプ ロケータ):TIMESTAMP_DERIVED\":\"([^\"]+)\"
    1. ステップ 2 およびステップ 3 の説明に従って、SumoJanus パッケージのダウンロードとデプロイを行います。

    2.  ステップ 5 の説明に従って、JRE パスを設定します。

    3. 以前の sumojanus フォルダにある以下のファイルを、新しい sumojanus-salesforce フォルダの対応するサブフォルダにコピーします。 

      1. conf/sumologic.properties

      2. data/salesforce.token

      3. data/sf_readfiles.dat

    4. ステップ 6 の説明に従って、設定をテストします。
    5. SumoLogic UI からステップ 7 で作成したスクリプト Source を確認し、スクリプトと作業ディレクトリのパスを変更して、新しく作成されたそれぞれのディレクトリを指すようにします。
  • この記事は役に立ちましたか?