# ログメッセージのカスタマイズ

Workatoでは、S3、Splunk、Datadogなどのセキュリティおよびイベント管理アプリケーションにストリーミングする前に、オーディットログメッセージをカスタマイズすることができます。これにより、特定の形式で送信したり、イベントメッセージをカスタマイズして必要に応じて適用することができます。たとえば、イベントログが自動的に宛先アプリケーションで処理されるように、ソースアプリケーション(たとえば Workato)と環境メタデータ(stagingproductionなど)を含める必要がある場合があります。

アカウント設定 > デバッグタブでは、オーディットログストリーミング > ログメッセージのカスタマイズセクションで、JSON形式を使用してカスタムログメッセージを作成することができます。カスタムフィールドとともに、Workatoオーディットログのプレースホルダを使用してJSON構造を定義します。Workatoは、イベントがストリーミングされる前にプレースホルダの値を実際のログメッセージで置換します。

# サポートされているプレースホルダ

Workatoは、次のプレースホルダをサポートしています:

プレースホルダ 説明
{{{log_message}}} JSON形式のオーディットログイベントメッセージ 例を参照
{{{log_message_str}}} エスケープされたJSON文字列としてのオーディットログイベントメッセージ。Grafana Lokiに送信されるログには必須です。 例を参照
{{{now}}} タイムスタンプ 2023-06-02T01:30:01.002-04:00
{{{now_utc}}} ミリ秒単位のタイムスタンプ 1685683801002.2139
{{{now_utc_micro}}} マイクロ秒単位のタイムスタンプ 1685683801002213
{{{now_utc_nano}}} ナノ秒単位のタイムスタンプ 1685683801002214000

JSONキー

現在、プレースホルダをJSONオブジェクトで使用する場合、各キーは値内のプレースホルダの名前と一致する必要があります。たとえば、プレースホルダ {{{log_message_str}}} を使用する場合、キーに "log_message_str" という名前を付ける必要があります:

{
	"log_message_str": {{{log_message_str}}},
	"now_utc_micro": {{{now_utc_micro}}}
}

# カスタムログメッセージの例

次の例では、sourceenvironmentserviceフィールドをDatadogに送信し、メッセージが自動的に適切なバケットにルーティングおよび保存されるようにしています。

{{{log_message}}} は、WorkatoがJSON形式の実際のオーディットログイベントメッセージに置き換えるために使用するプレースホルダです。

{
  "source": "workato",
  "environment": "staging",
  "hostname": "workato_cloud",
  "service": "emp_onboarding",
  "log_message": {{{log_message}}}
}

有効なJSONが必要です

有効なJSONを定義してください。JSONが無効であるか、{{{log_message}}}または{{{log_message_str}}}のプレースホルダを含まない場合、Workatoはデフォルトのログメッセージをカスタマイズせずに送信します。

以下の画像は、Datadogログエクスプローラでログメッセージがどのように表示されるかを示しています。

カスタムオーディットログメッセージフィールドカスタムオーディットログメッセージフィールド

レシピ開始イベントのカスタムオーディットログメッセージカスタムレシピ開始アクティビティオーディットログメッセージ

正常に完了したジョブのカスタムジョブ履歴オーディットログメッセージカスタムジョブ履歴オーディットログメッセージ

# Grafana Loki用のカスタムログメッセージの例

Grafana Loki HTTP API (opens new window)では、ログメッセージを文字列として送信する必要があるため、{{{log_message_str}}}プレースホルダを{{{log_message}}}の代わりに使用する必要があります。

Loki APIでは、文字列としてフォーマットされたナノ秒単位のタイムスタンプが必要です。タイムスタンプが文字列に変換されるように、"{{{now_utc_nano}}}"プレースホルダをダブルクォートで囲んで使用します。

カスタムオーディットログメッセージのJSON構造を次のようにフォーマットします:

{
  "streams": [
    {
      "stream": {
        "label": "workato"
      },
      "values": [
          ["{{{now_utc_nano}}}", {{{log_message_str}}}]
      ]
    }
  ]
}

Lokiに送信されるカスタムログメッセージの例:

{
	"streams": [
		{
			"stream": {
				"label": "workato"
			},
			"values": [
				[
					"1685687453790827508",
					"{\"event\":\"recipe_started\",\"details\":{\"run_once\":false,\"request\":{\"ip_address\":\"76.100.203.123\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36\"}},\"user\":{\"id\":1234567,\"external_id\":null,\"email\":\"[email protected]\",\"name\":\"Example User\",\"environment_id\":1234567,\"environment_type\":\"dev\",\"account_id\":1234567,\"account_name\":\"Example User\"},\"team\":{\"id\":1234567,\"external_id\":null,\"email\":\"[email protected]\",\"name\":\"Example User's team\",\"environment_id\":1234567,\"environment_type\":\"dev\",\"account_id\":1234567,\"account_name\":\"Example User\"},\"resource\":{\"type\":\"Flow\",\"id\":16983123,\"name\":\"Cat Fact Generator\",\"path\":\"Home/AI Testing\",\"folder_id\":9020123},\"timestamp\":\"2023-06-02 06:30:53 UTC\"}"
				]
			]
		}
	]
}


Last updated: 2024/2/13 16:59:53