1.グローバルオペレーションのイベント
1.1フィールドの割り当て(設定したイベント)
1.1.1。構文はじめに
構文:
SET_EVENT[[_]数字]_新字段 = 固定值
SET_EVENT[[_]数字]_新字段 = 表达式函数
説明
- 単一のフィールドの値を提供することで、フィールド名は
新字段
、存在する場合、それは既存のフィールド値を上書き -
新字段
:文字の制約がある中、英語_デジタル構図が、数字で始めることはできません。注意:中国の支援ではなく:
、ログインすることはできません。このようにtag
等、を参照することが一般的な手順などの要件を完了します。 - 式の関数は値を返しません
None
操作は無視されます - 返される値の任意のタイプの式(バックイベントに、例えば、数、文字列としてフォーマットされている)文字列に変換します
- 同じに設定すると、特定の状況下で、複数のフィールドを必要とする中間体の使用を必要とする
[[_]数字
プレースホルダを区別するために異なる値を作成します。 - 完全な式の機能情報、ご参照ください表現関数を
1.1.2。サンプル
例1:固定値を設定し
、新たなフィールドを追加するcity
値を上海
。
SET_EVENT_city = "上海"
例2:フィールドの値をコピー
表現の単一の関数を呼び出すことをv
既存のフィールド、ret
新しいフィールドに割り当てられた値result
。
SET_EVENT_result = v("ret")
実施例3:動的設定
フィールドからの関数呼び出し式組成物、ret
およびreturn
第一のフィールドに存在する値は、フィールドに戻り、その小文字に割り当てにresult
SET_EVENT_result = str_lower(v("ret", "return"))
実施例4:複数のセットフィールド値が
最初のフィールドの設定event_type
のデフォルト値を:
SET_EVENT_1_event_type = "login event"
いくつかの他の操作の後、フィールドがresult
あるfail
フィールドイベント、event_type
に設定されていますlogin failed event
:
# 中间一些其他操作
SET_EVENT_2_event_type = op_if(op_eq(v("ret"), "fail"), "login failed event", v("event_type"))
注意:これは、異なる番号の使用は、同じ名前の前にプレースホルダフィールドを行う必要です。
1.2フィールドエキス(抽出イベント)
1.2.1。構文はじめに
構文:
EXTRACT_EVENT[[_]数字]_字段 = 字符串
EXTRACT_EVENT[[_]数字]_字段 = 字段操作类函数
説明
- 単一の
字段
値はJSONは、フィールド値を含む、分割キーと値のペア、濃縮されたルックアップテーブルを展開し、典型的には、正規表現のような複数のフィールドを、値を抽出するように動作する、イベントが複数に分割されます。 - 文字列フィールドの操作は、クラスの関数である
REGEX
の速記。 - デフォルト値の複数をさらに参照して、存在する場合、または元のカバーフィールド空でない抽出されるフィールドの検査の抽出された値と上書きモード
-
字段
_中国、英作文が、数字で始めることはできません:文字の制約があります。中国人のためのサポートが、サポートしていません注::
それは丸太のためにこの方法ではありません、tag
参照することができ、操作するなど、一般的な操作の完全な要件。 - 式の関数は値を返しません
None
操作は無視されます - いくつかのケースでは、必要に応じ場合と同じ値の複数の引き出し電界、中間の使用を必要とする
[[_]数字
プレースホルダを区別するために異なる値を作成します。 - 完全なオペレーションフィールドクラスの機能は、参照フィールドベースの操作機能
1.2.2。サンプル
例1:抽出された正規表現値
フィールドからemail
ユーザー名を抽出するためにuser
、メール名の部門company
:
EXTRACT_EVENT_email = r"(?P<user>\w+)@(?P<company>\w+)\.com"
注:文字列フィールドの動作は、正規表現のクラス関数(あるREGEX
)速記、参照してより詳細が使用します。
例2:新しいフィールドをマッピングするフィールド値
フィールドに基づくlevel
値、機能は動作磁界のクラスを呼び出してLOOKUP
新しいフィールドをマッピングlevel_info
するには:
EXTRACT_EVENT_level = LOOKUP({"1": "info","2": "warning","3": "error", "*": "other"},"level_info")
実施例3:JSON展開
フィールドrequest_body
及びresponse_body
値を、関数は、動作フィールドクラスを呼び出すJSON
複数の値に自動的に(デフォルトの深さ10)を展開します。
EXTRACT_EVENT_request_body = JSON
EXTRACT_EVENT_response_body = JSON(depth=1)
パラメータなしでJSONより呼び出す簡単な方法であり、JSON
関数のパラメータ、特定の参照マニュアル。
実施例4:複数の抽出フィールドの値
まずフィールドresponse_body
展開JSON
、それらの特定の値を抽出するために、その後の正規表現:
EXTRACT_EVENT_1_response_body = JSON(depth=1)
EXTRACT_EVENT_2_response_body = r"trace_id=(?P<trace_id>[\w\-]+)"
注意:これは、異なる番号の使用は、同じ名前の前にプレースホルダフィールドを行う必要です。
1.3. 通用操作
1.3.1。構文はじめに
構文:
TRANSFORM_ANY_[占位符] = 操作
TRANSFORM_ANY_[占位符] = 操作列表
操作
三つの形式、上記2つの操作を含む、拡張形態、および第三の一般的操作事件操作类函数
:
字段赋值操作 = {"新字段名": 固定值或表达式函数, "另一个字段名": }
字段提取操作 = 字段输入, 字符串或字段操作类函数
一般操作 = 事件操作类函数
アクションリスト
などの複数の操作のリスト[操作1, 操作2, 操作3, ....]
から構成されるリストは、イベントを破棄するために操作しない限り、実装継続が続きます。
注意:複数の操作をしなければならない[]
同封。
説明
- フィールド割付:
{ key1: value1, key2: value2}
キーと値の形の複数の、複数の値の割り当てをサポートします。 - フィールド抽出操作:
输入, 操作
単一ペア、输入
専用フィールドには、例えば、することができないOSSLOOKUP
複数の入力をサポートしてマッピングを行います。 - 一般的な手順:ドロップイベント、特定のフィールドを保持または破棄などだけでなく、出力イベント:のような、イベントの通常動作をカバー
- 一般的な複数の動作は、異なる値を必要としない
占位符
、一般的にデジタル蓄積に、区別するために。 - 完全なイベント・クラス操作は詳細を参照し、情報を機能入射クラス機能の動作の詳細
1.3.2。サンプル
実施例1:フィールド割り当て複数の
複数のフィールドを割り当てるためには、式機能をサポートします。
TRANSFORM_ANY_1 = {"__topic__": "default topic", "tag:__type__": v("event_type"), "level": "1"}
実施例2:抽出されたフィールドの値
フィールドに基づくrequest_body
値、フィールドベースのコール機能の動作JSON
複数の値に拡張:
TRANSFORM_ANY_2 = "request_body", JSON(depth=1)
例3:一般的な手順は、
イベントフィールドをドロップするfield1
とfield2
:
TRANSFORM_ANY_3 = DROP_F(["field1", "field2"])
実施例4:動作する複数の
複数の動作が順に実行されます。
TRANSFORM_ANY_4 = [ {"email": "[email protected]"}, ("request_body", JSON) ]
実施例4:発現および機能ベースの操作機能の相互運用性
フィールドvalid
かどうかの値true
イベントを保持または廃棄します。
TRANSFORM_ANY_5 = op_if(op_eq(v("valid"), "true"), KEEP, DROP)
注意:場所KEEP
とDROP
イベントクラスの操作を識別保持し、破棄されます。
1.4一般的な運転条件に
1.4.1。構文はじめに
構文:
TRANSFORM_EVENT_占位符 = 条件操作
TRANSFORM_EVENT_占位符 = 条件操作列表
動作条件は、
条件は、すなわち、その動作の実装、又は全く操作を満たしている場合、運転条件と共通です。:
条件操作 = 条件, 操作
注意:どこ操作
も可能操作列表
詳細については、を参照してください。操作
条件は、条件
現在のイベント、特定の条件は次の3つの方法の形で発現を満たしているかどうかを決定するために使用されます。
- 固定条件标识
- {"字段名1", "正则表达式1"}
- {"字段名1", NOT("正则表达式1")} # NOT
- {"字段名1", "正则表达式1", "字段名2": "正则表达式2", ... } # AND
- 表达式函数
- 以上形式的列表,如:[ {"字段名1": "正则表达式1"}, {"字段名2": "正则表达式2"}, ... ] # OR
条件付き演算のリスト、
複数の条件操作
ようなリスト、[条件操作1, 条件操作2, 条件操作3, ....]
リストの設定。それぞれが各チェック条件操作
条件は、すなわち、アクチュエータの操作、または全く操作を満たします。チェックした後、次の続行する条件操作
ステップは、イベントを破棄しない限り、。
注意:リスト全体をしなければならない[]
動作条件のそれぞれが使用する必要があり、同封()
同封。
条件の構文
- 固定条件ロゴ:特定の事前定義された識別子の使用は、例えば
ANY
、ALL
などの任意のイベントであることすべてが一致し、その後の操作であろう識別する。 -
キーと値のペア:
{ key : value }
フィールドの値が正であり、完全な一致、フィールドの値の一つは、正規表現でなければならないことに注意があり、完全一致(開始から終了まで試合が)条件を満たしていると考えることができます。- 例:フィールドの
user
値が「私のpythonを愛する」、その後、正規表現「私は愛する」または「Pythonは」一致することができませんでした。 - 複数のキーチーム関係との間の関係は、全体がペアリング操作(リスト)を実行するために満たす必要があり、ANDです。
- 定期的に使用
NOT
動員、ロジックになりますnot
- 例:フィールドの
- することができ
表达式函数
、判定条件(デフォルトは空の文字列、なし、ブール値はFalse、番号0として値を返すなど、空のリストを表し満たされていない、そうでない場合に満足を示し表明しました。 -
発現された複数の論理的な組み合わせのリスト使用して
OR
意味を満たす、すなわち、ペアリング操作を行う(リスト)を有するように単純に- ORなお、AND、NOTなどの現在のバージョンは、任意の論理を入れ子にすることはできません。
- 複合決意ロジックを使用することができます
表达式函数
。
- 式関数リファレンス式の機能を
1.4.2。サンプル
実施例1:演算値が一致した後に
フィールドがresult
あるfailed
、またはfailure
、テーマに設定されたイベントlogin_failed_event
:
TRANSFORM_EVENT_1 = {"result": r"failed|failure"}, {"__topic__": "login_failed_event"}
実施例2:決意した再抽出フィールドの値
フィールドが場合request_body
存在し、非ヌル値であり、フィールドベースの操作機能を起動JSON
フィールドにはrequest_body
複数の値に拡張されます。
TRANSFORM_EVENT_2 = NO_EMPTY("request_body"), ("request_body", JSON)
本明細書で使用される、表現の特定の機能は、NO_EMPTY
フィールドの存在を示しrequest_body
、および非空を。
実施例3:高度な操作を再決定
フィールドときvalid
の値であるfailed
、ドロップイベント:
TRANSFORM_EVENT_3 = op_if(v("valid"), "failed"), DROP
実施例4:の運転状態の複数の
複数の動作が順番に実行されます。
TRANSFORM_EVENT_3 = [
(ANY, {"__topic__": "default_login"}),
( {"valid": "failed"}, {"__topic__": "login_failed_event"} )
]
なお、動作条件の複数用いて[]
動作条件の囲まれた、各々のために、使用されて()
封入されます。
1.5。条件に基づいて派遣業務を
1.5.1。構文はじめに
構文:
DISPATCH_EVENT_占位符 = 条件操作列表
説明
- フォームでの一般的な動作条件は、基本的には同じであることを
- 複数の前記
条件操作
各各チェックリストの、条件操作
条件を満たさない絶えず次チェック条件操作
ペアリング操作アクチュエータ(リスト)を満たすように、すなわち、それは、もはやその後の後に行われていない条件操作
アップ。
1.5.2。サンプル
例4:条件付き割り当て
フィールドに基づいてhttp_status
別のイベントのテーマを設定するには:
DISPATCH_EVENT_1 = [
({"http_status": r"2\d+"} , {"__topic__": "success_event"}),
({"http_status": r"3\d+"} , {"__topic__": "redirection_event"}),
({"http_status": r"4\d+"} , {"__topic__": "unauthorized_event"}),
({"http_status": r"5\d+"} , {"__topic__": "internal_server_error_event"}),
]
なお、動作条件の複数用いて[]
動作条件の囲まれた、各々のために、使用されて()
封入されます。
簡素化されたマクロ1.6共通操作イベント
1.6.1リテンション/ドロップイベント
構文
保持するかの条件を満たすようにイベントを破棄
KEEP_EVENT_占位符 = 条件
DROP_EVENT_占位符 = 条件
説明
- 条件:運転条件に及び一般的状態に一致リスト、基準とすることができる条件
1.6.2予約/ドロップフィールド
構文
フィールド名の条件を満たして保持するか破棄
KEEP_FIELDS_占位符 = 字符串或字符串列表
DROP_FIELDS_占位符 = 字符串或字符串列表
文字列または文字列のリスト
- 文字列:文字列は、ここを指し
正则表达式
、フィールド名が一致したときに、文字列を保持するか破棄します。 - リスト:表現
[]
のような正規表現文字列の囲まれたリスト:["abc", "xyz"]
- 提供する事前定義された良いの数
meta
識別フィールド名は、例えば、直接使用することができるF_TIME
時間フィールドが表すF_META
時間、テーマ、およびその他のフィールドを示しています。
説明
- 条件:運転条件に及び一般的状態に一致リスト、基準とすることができる条件
- イベントログサービスも隠しメタフィールドが含まれているため:含め
__time__
、__topic__
あなたが削除した場合など__time__
、イベント時間は現在の時間にリセットされますが、使用にはKEEP_FIELDS_
特別な注意が必要で、誤って削除しないでください。 - 一般的な
KEEP_FIELDS_
形式は次のとおりです。[F_TIME, F_META, F_TAGS, "f1", "f2" ]
1.6.3名前の変更フィールド
文法
ALIAS_xxx = {"现有字段名正则1": "新字段名1", "现有字段正则2": "新字段名2",}
RENAME_FIELDS_xxx = {"现有字段名正则1": "新字段名1", "现有字段正则2": "新字段名2",}
説明
-
ALIAS_
そして、RENAME_FIELDS_
違いはありません - ここでは、既存のフィールドの実際の名前がある
正则表达式
複数の一致フィールドがある場合、すべてのフィールドは、新しいフィールド名に変更され、新しいフィールド名の値は、特定され、未知のうちの一つです。ログがある場合に主に簡略化された統一フィールド名を持つデータソースの混合様々な解決します。
1.6.4出力イベント
私たちは、イベント出力の条件を満たしています
文法
OUTPUT_xxx = 条件
COUTPUT_xxx = 条件
説明
- 条件:運転条件に及び一般的状態に一致リスト、基準とすることができる条件
-
OUTPUT
状態出力イベント、後続の処理のためにないイベントを、(廃棄理解されるように)満たした後。 -
COUTPUT
イベントの条件を満たすために出力した後、イベントが(コピー出力として理解することができる)、治療をフォローアップしていきます。 -
事件类操作函数
OUTPUTは`与
よりカスタマイズされた動作をサポートCOUTPUT`。リファレンスイベントクラス操作関数
2.表現関数
発現は、典型的には、単一の関数呼び出しの、特定の値を返し、または式の組み合わせは、以下の幅広いカテゴリをカバーし、100から増加し続けました。
- 基本的な操作機能:フィールド値、制御、比較は、コンテナは、コンテンツ、マルチフィールドオペレーションフィールド、等の存在を決定し、決定され
- 伝達関数:基本的な型変換、デジタル変換
- 算術関数:計算多値比較演算、数学的計算、および他の数学的パラメータに基づいて
- 文字列関数:マルチフィールド操作、符号化/復号化、ソート、フラッシュバック、あるいは、従来の構造では、判断、セグメンテーション、フォーマット、および他の文字セットが決定される見つけます
- 日付時刻関数:取得の日付時刻スマート変換、取得日時属性、日付と時刻、取得のUnix時刻取得日時文字列、変更日 - 時間、変更日時、日付と時刻の比較
- 正規表現関数:フィールド抽出、判断力を合わせる、あるいは、分類をカット
詳細は、ユーザーマニュアルを参照してください。
3.機能のフィールドクラスの操作
入力フィールドの値に基づいて、操作、ノート:現在のフィールドは、関数や演算式機能ベースの相互運用性をサポートしていません。
以下の広いカテゴリーをカバーし、かつ増加し続けました:
- 通常の抽出カラム:通常のフルサポート、動的抽出フィールド名などを含みます
- CSV形式の抽出物が:標準のCSVをサポート
- 辞書マッピング:ダイレクト・フィールドのマッピング
- 外部OSSマルチカラムマッピング:データ強化は、広い外部OSSの関連付けからCSVをマッチング、増分リフレッシュをサポートしています。
- 外部データベースのマッピングマルチカラム:関連する外部データベースからデータ強化、ダイナミックリフレッシュ、広いマッチングをサポートしています。
- 外部Logstore多列マッピング:関連する外部logstoreからデータ強化は、増分リフレッシュ、部分一致をサポートしています。
- 自動KV:自動抽出KVは、また、カスタム区切り文字、自動脱出シーンをサポートしています
- JSONは自動的に拡張:サポート、配列など、JSONコンテンツを自動展開するカスタム・プロセスのサポートが開始されました。
- JSON-JMESフィルタ:JMESは、プロセスを選択した後、動的計算をサポートしています。
- (JSON配列や文字列に基づいて)スプリットイベント:文字列のイベントベースのアレイの分割またはJSONの配列
- 行(JSONに基づいて、文字列またはアレイ)の組み合わせ、複数:文字列またはJSONの配列に基づいてマルチフィールドマージアレイ
詳細は、ユーザーマニュアルを参照してください。
現場検査と上書きモードの値を抽出します
キーワード文字セット:
- この政策の実施方法は以下のとおりです。REGEX(ダイナミックキー名)、JSON、KV
- デフォルト:
[\u4e00-\u9fa5\u0800-\u4e00a-zA-Z][\w\-\.]*
- 非準拠の例:123 = ABC 1K = 200 { "123": "456"}、等
上書きモードモードパラメータを設定します。
-
サポートされている抽出方法:REGEX、KV、CSV、検索、JSON
("msg",REGEX(r"(\w+):(\d+)",{r"k_\1": r"v_\2"}, mode="fill-auto")
- 埋める - 主なフィールドが存在しないか、空になったとき
- 主なフィールドが存在しない場合に設定 - 追加
- 上書き - 常にセット
- /追加/埋める上書きオート - (null以外の値場合にのみ、新しい操作)
- デフォルト:フィル・オート
4.イベントのクラスの操作は、詳細機能します
直接操作イベント機能、
次のカテゴリをカバーします:
- KVマルチフィールド抽出
- イベントメタ:フィールドは破棄され、名前を変更
- イベント出力:コピー出力、出力が低下し、マルチターゲット構成、オーバーロードされた元のメタ、および他の追加の詳細タグ
注:イベントは、操作の特定の種類でサポートされて表現関数のようなリターン式関数として相互。
詳細は、ユーザーマニュアルを参照してください。
さらに参照して
ようこそスキャンコードは、直接タイムリーとアリクラウドエンジニアにリアルタイムの更新をサポートする公式のネイルグループ(11775223)に参加するには: