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

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

Salesforce アプリケーションのログを収集する手順。

このページでは、Salesforce アプリケーションのログを収集する手順を説明します。  

前提条件

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

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

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

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

ステップ 2.SumoJanus パッケージのダウンロード

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

SumoJanus パッケージ ファイル:

SumoJanus 用の Salesforce バンドル パッケージ:

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

デプロイの手順は、以前に SumoJanus パッケージをセットアップしたことがあるかどうかによって異なります。 

以前に SumoJanus をセットアップしたことがない場合 

以前に SumoJanus パッケージをセットアップしていない場合、次の手順を実行します。

  1. ダウンロードした 2 つのパッケージ ファイルを同じフォルダにコピーして、そこで解凍します。

    • Linux では、次のコマンドを実行します。

      tar xzvf sumojanus-dist.3.0.1.tar.gz
      tar xzvf sumojanus-salesforce-3.1.0.tar.gz

    • Windows で解凍ユーティリティからマージ オプションを要求された場合は、2 つの解凍済みファイルをマージして表示されたディレクトリ構造にします。

必要な SumoJanus インストール ディレクトリ構造

オペレーティング システムに関係なく、上記で解凍したアーカイブは sumojanus ディレクトリ内で次のようなマージ済みのディレクトリ構造になっている必要があります。以下のように、両方のパッケージのすべてのファイルが含まれます。

salesforce-sumojanus.png

以前に SumoJanus をセットアップしたことがある場合

以前に SumoJanus パッケージをセットアップしている場合、次の手順を実行します。

  1. conf/sumologic.properties ファイルをバックアップします。
  2. sumojanus-3.1.0-salesforce.tar.gz ファイルを SumoJanus が現在インストールされている親フォルダにコピーします。(したがって、このフォルダには sumojanus フォルダが含まれます)。
  3. sumojanus-3.1.0-salesforce.tar.gz ファイルを解凍します。これにより、ファイルが SFDC バンドル パッケージから sumojanus フォルダにコピーされます。

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

  1. 解凍した sumojanus フォルダに移動します。
  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: スクリプト ソースの設定」で指定する [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: Salesforce での認証

  1. Salesforce をログアウトします。>
  2. 解凍した sumojanus フォルダで次のコマンドを実行します。
    • 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

続いて、もう一度 SumoJanus ホストへのセッションを開き、次のコマンドを実行します。

curl -X POST '<the_above_url>'

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

設定の確認

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

ステップ 6: 運用システムへの Sumo コレクタのインストール

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

手順については、「インストール済みコレクタ」を参照してください。

ステップ 7.運用システムへの設定のデプロイ

運用システムに設定をデプロイする手順は、SuperJanus 3.0 をすでに運用システムにデプロイしているかどうかによって異なります。

SumoJanus 3.0 を運用システムにデプロイしている場合

sumojanus フォルダ全体を、Sumo のインストール済みコレクタを設定して実行している運用システムにコピーします。このフォルダは [Collector (コレクタ)] フォルダに配置することをお勧めします。

SumoJanus 3.0 を運用システムにデプロイしていない場合

(たとえば、Box などの別の Sumo Logic アプリケーションのスクリプト収集の一環として) 運用システムで現在 SumoJanus 3.0 を使用している場合は、すでに sumojanus フォルダがあります。  

この場合、次の手順を実行します。

  1. 現在のバージョンの conf/sumologic.properties ファイルをバックアップします。
  2. Salesforce 用に設定した conf/sumologic.properties ファイルから、新しい設定セクションを運用システムにコピーします。
  3. SFDC バンドル (sumojanus-salesforce-3.1.0.tar.gz ファイル、Windows の場合は sumojanus-salesforce-3.1.0.zip) のみを運用システムの sumojanus フォルダに解凍します。
  4. 「Salesforce での認証」ステップで生成したトークン ファイル (salesforce.token)sumojanus-3.0/data フォルダにコピーします。

ステップ 8.スクリプト ソースの設定

Sumo Logic で、「スクリプト ソース」の手順に従ってスクリプト ソースを設定します。

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

  • Frequency (頻度): 
    • 日次ログ ファイルの場合、頻度を 6 時間ごとに設定します。
    • 1 時間ごとのログ ファイルの場合、頻度を 1 時間に設定します。 
  • Specify a timeout for your command (コマンドのタイムアウトを指定):
    • 日次ログ ファイルの場合、タイムアウトを 3 時間ごとに設定します。 
    • 1 時間ごとのログ ファイルの場合、タイムアウトを 1 時間に設定します。
  • Command (コマンド): /bin/bash
    • Unix 系のシステムの場合: /bin/bash
    • Windows の場合: Windows スクリプト 
  • Type a path to the script to execute (実行するスクリプトへのパスを入力):
    • Unix 系のシステムの場合: /opt/SumoCollector/sumojanus/bin/SumoJanus_SF.bash
    • Windows の場合: c:\Program Files\SumoCollector\sumojanus\bin\SumoJanus_SF.bash
  • 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\":\"([^\"]+)\"

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

{
   "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

  • この記事は役に立ちましたか?