FCEFPARSER

解析 ArcSight 通用事件格式 (CEF) 日志文件。该解析器将值直接加载到列名称与源数据键相匹配的任何表列中。该解析器可将加载到 Flex 表中的数据存储在单个 VMap 中。

该解析器仅可用于 Flex 表。所有 Flex 解析器均会将数据作为单个 VMap 存储在 LONG VARBINAR_raw__ 列中。如果某个数据行过大而无法适应该列,该数据行将被拒绝。Vertica 在加载带 NULL 指定列的数据时支持 NULL 值。

语法

FAVROPARSER ( [parameter‑name='value'[,...]] )

参数

delimiter
单字符分隔符。

默认值: ' '

record_terminator
单字符记录终止符。

**默认 **** 值: **newline

trim
布尔值,指定是否从标题名和键值中去掉空格。

默认值: true

reject_on_unescaped_delimiter
布尔值,指定是否拒绝包含非转义分隔符的行。CEF 标准不允许出现此类行。

默认值: false

示例

以下示例演示了为 CEF 数据创建 Flex 表的示例,该表包含两个实际列,eventIdpriority

  1. 创建 Flex 表 cefdata

    => create flex table cefdata();
    CREATE TABLE
    
  2. 使用 Flex 解析器 fcefparser 加载一些基本的 CEF 数据:

    => copy cefdata from stdin parser fcefparser();
    Enter data to be copied followed by a newline.
    End with a backslash and a period on a line by itself.
    >> CEF:0|ArcSight|ArcSight|2.4.1|machine:20|New alert|High|
    >> \.
    
  3. 使用 maptostring() 函数查看 cefdata Flex 表的内容:

    => select maptostring(__raw__) from cefdata;
                      maptostring
    -------------------------------------------------------------
     {
       "deviceproduct" : "ArcSight",
       "devicevendor" : "ArcSight",
       "deviceversion" : "2.4.1",
       "name" : "New alert",
       "severity" : "High",
       "signatureid" : "machine:20",
       "version" : "0"
    }
    
    
    (1 row)
    
  4. cefdata Flex 表中选择一些虚拟列:

    
    = select deviceproduct, severity, deviceversion from cefdata;
     deviceproduct | severity | deviceversion
    ---------------+----------+---------------
     ArcSight      | High     | 2.4.1
    (1 row)
    

    有关详细信息,请参阅 通用事件格式 (CEF) 数据

    另请参阅