2022.11.08

イベントログの保存期間を延ばしてみよう!後編

はじめに

本ブログは「イベントログの保存期間を延ばしてみよう!前編」の後編になります。
まだ、前編をご覧になられていない方は是非ご覧ください!

前編の振り返り

前編では
1.イベントモニタリングの有効化とEvent Monitoring Analyticsの利用開始
2.事前確認
3.長期保存用のデータセットを作成
について説明しました。

後編では残りの
4.長期保存を行うためのデータフローを作成
5.長期保存用のダッシュボードを作成
について説明します。

設定の流れ

4.長期保存を行うためのデータフローを作成

長期保存を行うためのデータフローを作成していきます。
[データマネージャ] > [データフローを管理] > [データフローとレシピ] > [データフロー] > [データフローを作成]の順に押下し、データフローを作成しましょう。

データフローを作成する準備が整いました。
これから5つの処理をデータフローに追加していきます。

この画面に5つの処理を追加していきます。

まず最初に使用するデータセットを読み込みます。
データ変換機能の左から4つ目の[edgemart]を押下し、元データセット(LoginWithUsers)と長期保存用のデータセット(LoginWithUsers2023)をそれぞれ読み込みます。

[ノード名]、[データセット]を設定・選択後、[作成]を押下します。

2つ目の処理はデータフローの実行日時と元データセット(LoginWithUsers)にある項目"TIMESTAMP"の日数差を算出した結果を保持する項目(列)を追加する処理になります。

データ変換機能の左から7つ目の[computeExpression]を押下後、[ノード名]・[ソース]を設定・選択し[+項目を追加]を押下します。
※[ソース]には元データセット(LoginWithUsers)を読み込んだノードを選択してください。

[名前]、[表示ラベル]を設定しSAQL式に以下の数式を追加します。
追加後、[保存] > [作成]の順に押下してください。
number_to_string(date_diff("day", toDate(TIMESTAMP, "yyyyMMddHHmmss"), now()), "#")
日数差_計算式

3つ目の処理では、2つ目の処理を行った結果、日数差が2日のイベントログのみを抽出します。

データ変換機能の右から5つ目の[filter]を押下後、[ノード名]、[「ソース]、[検索条件]を設定・選択し[保存]を押下します。
検索条件式は{2の処理で設定した表示ラベル名}:EQ:2となります。
※[ソース]には2つ目の設定で追加したノードを選択してください。

ここまで、データの読み込み > 日数差の計算 > 日数差が2日のイベントログを抽出する処理の順で設定を行ってきました。

11/3にデータフローを動かした際の処理の流れ

4つ目の処理では3つ目の処理で抽出したイベントログを長期保存用のデータセット(LoginWithUsers2023)に追加します。

データ変換機能の左から5つ目の[append]を押下後、[ノード名]、[ソース]を設定・選択後、[ディスジョイントスキーマを許可]にチェックをし[作成]を押下します。
※[ソース]には長期保存用のデータセット(LoginWithUsers2023)を読み込んだノードとと3つ目の設定で追加したノードの2つを選択してください。

最後の処理は4つ目の処理で追加した結果を長期保存用のデータセット(LoginWithUsers2023)に反映します。

データ変換機能の右から2つ目の[sfdcRegister]を押下後、[ノード名]、[ソースノード」]を設定・選択します。
※[ソースノード]には4つ目の設定で追加したノードを選択してください。

長期保存用のデータセットの[別名]、[名前]については対象データセットの[▼] > [編集]から確認することができます。
[別名]はAPI参照名、[名前]は表示ラベル名になります。

以下のようにノードが配置されていることを確認したら、[データフロー]を押下しデータフローの作成は完了となります。

作成したデータフローが毎日実行されるようにスケジュール設定をしましょう。

作成したデータフローの[▼] > [スケジュール]を押下し毎日実行するようにスケジュールします。

Salesforceヘルプを確認すると、前日のイベントログをCRM Analyticsへの取り込むデータフローの実行時間をAM8時~AM9時の間に実行することを推奨しています。
Event Monitoring Analytics の日次データフローのスケジュール

今回作成したデータフローは上記のデータフローが完了した後に実行させる必要があるため、AM9時以降の時間で設定します。

スケジュール設定後、次回実行日が設定した翌日になっていれば完了です。
これで長期保存を行うためのデータフローの作成は終了です!

また、複数のデータセットを長期保存したい場合には、4の設定作業を繰り返し、データフロー(Long Term EventMonitoring)に追加してください。

5.長期保存用のダッシュボードを作成

いよいよ、最後の作業になります。

2.事前確認にて確認したダッシュボード(Logins)のコピーを作成します。

対象のダッシュボードを開き、[▼] > [新規タブにコピー]を押下します。
コピーが完了したら、コピー後のダッシュボード名を変更後、[保存]を押下します。

コピーを実施したダッシュボード(Logins2023)にて、以下のコマンドを入力しJSON編集画面モードに切り替えます。
切り替え後、JSONをすべてコピーし、テキストエディタに貼り付けます。
command + E(Mac)
Control + E(Windows)
JSON編集画面切り替えコマンド
以下のdatasetsセクションの情報を置換していきます。
"datasets": [
        {
            "id": "0Fb5h000000xX8lCAE",
            "label": "LoginWithUsers",
            "name": "LoginWithUsers",
            "url": "/services/data/v56.0/wave/datasets/0Fb5h000000xX8lCAE"
        }
    ]
datasetsセクション_変更前
長期保存用のデータセットのidlabelnameを確認しそれぞれ一括置換を実施していきます。

今回使用するLoginWithUsers2023では以下の値が設定されています。
・id:0Fb5h0000003Yi6CAE
・label:LoginWithUsers2023
・name:LoginWithUsers2023
LoginWithUsers2023の各値

テキストエディタでの一括置換終了後、datasetセクションの内容が変更されていることを確認してください。
"datasets": [
        {
            "id": "0Fb5h0000003Yi6CAE",
            "label": "LoginWithUsers2023",
            "name": "LoginWithUsers2023",
            "url": "/services/data/v56.0/wave/datasets/0Fb5h000000xX8lCAE"
        }
    ]
datasetsセクション_変更後
テキストエディタで一括変更を実施したJSONをすべてコピーし長期保存用のダッシュボード(LoginWithUsers)のJSONに上書き後、[完了]を押下します。

長期保存用のダッシュボードが正常に表示されていれば、長期保存用のデータセットを紐づけることに成功です!

翌日、4にて設定したスケジュール以降に2日前のイベントログが取得されていることをダッシュボードにて確認してください。
取得ができていれば上手く実行されています。

さいごに

設定作業お疲れ様でした!

今回はイベントログの蓄積をデータフローを使用し設定しましたが、レシピを使用しても実装可能だと考えられるので、実際に試してみたいと思います。

前編・後編と最後までお読みいただきありがとうございました。
57 件
     
  • banner
  • banner

関連する記事