このトピックでは、ログを異なる保存先にエクスポートする方法について説明します。 ログのフィールドは、保存先によって異なります。
背景情報
ログを異なる保存先にエクスポートする場合、ログのフィールドは保存先によって異なります。 この例では、生ログ内のフィールドは、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変換構文
次の例で使用されているデータ変換関数の詳細については、「関数の概要」をご参照ください。
e_set関数を使用して、
tag: target1, target2という名前の新しいフィールドをログに追加します。e_split関数を使用して、タグフィールドに基づいてログを2つのログに分割します。 一方のログには
tag: target1フィールドが含まれ、もう一方のログにはtag: target2フィールドが含まれます。tag: target1フィールドを含むログからf1とf2を破棄し、e_output関数を使用してf3、f4、およびf5をtarget1にエクスポートします。 後続の変換ルールは、tag: target1フィールドを含むログに対しては実行されません。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: standardtarget2にフィールドをエクスポート
__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")