前提
Salesforce Shieldの契約が必要。
Salesforce Shieldの契約でEvent Monitoring Analyticsが10ライセンス付帯するが、このライセンスだけではAnalyticsに5000万行しか保存することができない。CRM Analyticsを契約することで上限を増やすことができる。
設定手順
- イベントモニタリングの有効化
- 設定 > セキュリティ > イベントモニタリング > イベントモニタリング設定
- 「Analyticsアプリケーションでイベントログデータを表示」をオンに設定
- 「イベントログファイルを生成」をオンに設定
- 設定 > セキュリティ > イベントモニタリング > イベントモニタリング設定
- 権限セットの割り当て
- イベントモニタリングAnalyticsを使用するユーザに下記の権限セットを付与。
- Event Monitoring Analytics ユーザ
- Event Monitoring Analytics 管理者
- イベントモニタリングAnalyticsを使用するユーザに下記の権限セットを付与。
- CRM Analyticsの有効化
- 設定 > 機能設定 > 分析 > Analytics > 始めましょう
- 「CRM Analyticsを有効化」をクリック。
- 設定 > 機能設定 > 分析 > Analytics > 始めましょう
- Analytics Studioの起動
- ここまでの設定でアプリケーションランチャーに「Analytics Studio」が表示されるようになるので、クリックする。表示されない場合は画面の再読み込みを行う。
- Event Monitoring Analyticsのアプリケーションを作成する。
- 作成ボタンから「アプリケーション」を選択する。テンプレートから「Event Monitoring Analytics App」を選択する。画面の指示に従って設定を行う。
- CRM Analyticsの契約がないとすぐにレコード数上限に達するので、ログ保持期間の設定には注意。
- 作成されるのに30分ほど時間がかかる。
- Event Monitoring Analyticsのスケジュールを設定する
- 「Analytics Studio」の右上の歯車アイコンをクリックして、「データマネージャ」を選択。
- 左下の「データフローを管理」をクリック。
- 「データフローとレシピ > データフロー > EventMonitoring eltDataflows」の▼をクリックし、スケジュールの設定をクリックする。
- スケジュールモードをイベントベースに設定し、「Salesforceローカル接続の同期」を設定した状態で保存する。
- 接続タブをクリックし、SFDC_LOCALの▼からスケジュールを設定。
エラー対応
Something went wrong while executing the FlattenRole node: parent_field does not have any data (all rows have null value): ParentRoleId
ロール階層が0または1階層しかないと発生する。2階層のダミーのロールを作成することで回避可能。
詳細は下記のKnown Issueを参照。
参考
- Event Monitoring Analytics アプリケーションの Salesforce 権限の設定
- CRM Analytics の制限
- セキュリティアドオン – Salesforce Shield | セールスフォース・ジャパン
- Event Monitoring Analytics アプリケーション
- Event Monitoring Analytics アプリケーション | Salesforce Trailhead
- イベントモニタリングのログデータを出力する - Qiita
- イベントログファイルを出力するプラグイン作成→Salesforce CLIのsfプラグインを作成する - Qiita