カスタムログメッセージ
監査ログメッセージは、Amazon S3、Splunk、Datadogなどの外部の宛先にストリーミングする前にカスタマイズできます。
たとえば、カスタマイズしたログメッセージにソースアプリケーションとEnvironmentメタデータを含めると、イベントログが宛先アプリケーションで自動的に処理されます。
カスタムログメッセージの作成
カスタムログメッセージを作成するには、次の手順を完了します。
ワークスペース管理者 > 設定 > ログストリーミングに移動します。
ログメッセージをカスタマイズフィールドを見つけ、JSONを使用してカスタムログメッセージを入力します。 プレースホルダーを使用して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}}}
}カスタムログメッセージの例
次の例では、メッセージが自動的にルーティングされ、正しいバケットに保存されるように、source、environment、serviceフィールドを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ではログメッセージを文字列として送信する必要があるため、{{{log_message}}}ではなく{{{log_message_str}}}プレースホルダーを使用する必要があります。
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\"}"
]
]
}
]
}最終更新日: