すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:ログを別の保存先にエクスポートするにはどうすればよいですか?

最終更新日:Aug 29, 2024

このトピックでは、ログを異なる保存先にエクスポートする方法について説明します。 ログのフィールドは、保存先によって異なります。

背景情報

ログを異なる保存先にエクスポートする場合、ログのフィールドは保存先によって異なります。 この例では、生ログ内のフィールドは、f1、f2、f3、f4、およびf5である。

  • ログをターゲット1にエクスポートするには、f1とf2を破棄し、f3、f4、f5を保持します。

  • ログをターゲット2にエクスポートするには、f3とf4を破棄し、f1、f2、f5を保持します。

設定例

生ログ

__time__ : 1591754815
f1: GET
f2: https
f3: aliyun
f4: 200
f5: standard

変換構文

説明

次の例で使用されているデータ変換関数の詳細については、「関数の概要」をご参照ください。

  1. e_set関数を使用して、tag: target1, target2という名前の新しいフィールドをログに追加します。

  2. e_split関数を使用して、タグフィールドに基づいてログを2つのログに分割します。 一方のログにはtag: target1フィールドが含まれ、もう一方のログにはtag: target2フィールドが含まれます。

  3. tag: target1フィールドを含むログからf1とf2を破棄し、e_output関数を使用してf3、f4、およびf5をtarget1にエクスポートします。 後続の変換ルールは、tag: target1フィールドを含むログに対しては実行されません。

  4. tag: target2フィールドを含むログからf3とf4を破棄します。

e_set("tag", "target1, target2")
e_split("tag")
e_if(e_search("tag==target1"), e_compose(e_drop_fields("f1", "f2", regex=False), e_output("target1")))
e_drop_fields("f3", "f4", regex=False)
e_output("target2")

フィールドをtarget1にエクスポート

__time__ : 1591754815
f3: aliyun
f4: 200
f5: standard

target2にフィールドをエクスポート

__time__ : 1591754815
f1: GET
f2: https
f5: standard

不適切な設定

次の変換構文を使用すると、f3、f4、およびf5がtarget1にエクスポートされます。 次に、target1は、データをターゲット2にエクスポートするための入力として使用されます。 その結果、f1とf2はtarget2にエクスポートされません。 しかし、target2はf1およびf2を含むと予想される。

e_drop_fields("f1", "f2", regex=False)
e_coutput("target1")
e_drop_fields("f3", "f4", regex=False)
e_output("target2")