第1章: 快速 flex 解析工具
- 解析工具受众
- 特色和优点
- 解析工具流程
摘要
此文档可从 arcsight 产品文档中提供 pdf 格式, 以及发行说明、安装说明等!
若要向文档团队发送反馈, 请使用右下角的链接。
快速 flex 解析工具
解析工具受众
快速 flex 解析工具适用于将开发可与 arcsight 产品一起使用的解析器属性文件的用户。预计用户将具备正则表达式、解析器开发和 flex连接器框架方面的专业知识。
特色和优点
快速 flex 解析工具允许您生成适合在 flex连接器框架中使用的解析文件, 使您能够执行以下操作:
- 加载最大200MB的日志文件
- 在日志视图中搜索和过滤消息
- 检测日志文件中的syslog头
- 创建和重用令牌
- 构建令牌库
- 从标记构造标记过滤器
- 使用设备中的其他日志文件来处理基本正则表达式和令牌过滤器
- 根据令牌过滤器覆盖令牌正则表达式或使用原始令牌正则表达式
- 在一个位置更改令牌或令牌过滤器属性并将其全局应用
- 从工具中的不同位置切换到令牌过滤器编辑模式
- 导出令牌过滤器测试结果到文件以进行进一步分析
快速 flex 分析器工具提供了以下功能, 可帮助您分析日志文件并跟踪进度:
- 在Base Regex和Token Filter Manager中突出显示消息,指示令牌是否正在成功解析日志行
- 在日志视图中突出显示消息,指示是否成功解析行以及是否多个令牌过滤器正在解析特定消息
- 日志视图中的图形统计信息,用于跟踪分析日志文件的进度
- 测试你可以运行以检测你定义的解析是否有意义; 您可以深入查看测试结果,以确定测试可能失败的原因
解析工具工作流摘要
以下任务提供了有关如何使用快速 flex 解析工具创建适合 flex 连接器框架的解析器文件的高级说明。
1. 创建解析器文件项目
快速 flex 解析工具在项目的上下文中创建解析器文件。该项目包含令牌、基本正则表达式、令牌筛选器和基于日志文件内容的映射的定义。创建项目时, 您将加载日志文件并标识用于存储结果的文件夹。请参阅 "创建和打开分析器项目"。
2. 创建基本正则表达式
基本正则表达式 (也称为编写器) 用于处理文件或流中所有消息的标头。基本正则表达式是一个正则表达式, 对应于连接器解析器文件中的正则表达式。基本正则表达式必须与文件中的所有日志行匹配。基本正则表达式提供了进一步优化消息处理定义消息令牌筛选器的机会。编辑基本正则表达式, 直到处理所有消息。请参阅 "创建基本注册"。
3. 创建令牌和令牌筛选器
根据消息的内容创建令牌。令牌是标识消息中的数据字段或其他有用信息的标记。验证令牌是否适用于所有指定的消息。使用令牌生成令牌筛选器。令牌筛选器是消息或日志记录的标记形式。请参阅 "创建令牌"、"创建令牌筛选器" 和 "重写令牌 regex"。
4. 测试令牌筛选器
针对令牌筛选器测试日志行。目标是查看分析是否有意义, 或者与日志行的匹配是否有效。日志行通过基本正则表达式和令牌筛选器的组合进行分析。理想情况下, 每个日志行应该只有一个令牌筛选器匹配。如果日志行由多个令牌筛选器匹配, 则应解决此问题。根据需要, 使用现有令牌或创建新令牌创建令牌筛选器。快速 flex 分析器工具使用日志视图中的突出显示来标识日志行中与基本正则表达式和令牌筛选器匹配的部分。日志视图还标识与令牌筛选器匹配、与令牌筛选器不匹配或由多个令牌筛选器匹配的行。请参阅 "快速 flex 分析器工具日志视图"、"突出显示日志行中的模式" 和 "管理和测试令牌筛选器"。
5. 生成解析器属性文件
根据您创建的令牌、基本正则表达式、令牌筛选器和映射生成解析器属性文件。此文件可以导入到 flex连接器框架中。请参阅 "生成分析器文件"。
第2章: 创建和打开分析器项目
您可以在 "快速 flex 分析器工具载入页" 上为分析器文件项目执行这些任务:
- 创建分析器文件项目
- 打开分析器项目
- 查看工作流摘要
创建分析器文件项目
导航:Landing page>Create New
关于:
解析文件项目:
快速 flex 分析器工具在项目范围内创建一个解析器文件。该项目包含令牌、令牌筛选器及其各自基于日志文件内容的映射的定义。项目的结果是一个. 属性文件, 适用于在 flex连接器框架内分析日志文件的内容。
流程:
创建一个新项目:
- 单击 "Loanding页上的新建" 以打开 " Create New" 对话框。
- 选择 " Parser Project " 以创建解析器文件项目。
-
在 "Create New Project" 页中输入以下信息:
- 提供日志文件的供应商的名称
- (可选)生成日志文件的产品的名称
-
(可选)产品的版本号
注意: 定义的供应商和产品名称会自动映射到相应的字段。
如果未在项目开始时指定这些详细信息, 则可以在以后通过在 "日志视图" 中选择 "文件编辑项目属性" 来指定这些详细信息。
- 对于Parser项目:如果使用syslog日志文件,请选择Syslog File。
-
(可选)单击"Browse"以导航到日志文件。
如果在项目开始时未选择日志文件, 则可以稍后通过在日志视图中选择 "File>Open Log File " 来选择该文件。
仅适用于解析器文件项目:
-
注释和空日志行可以保留在上载的日志文件中。快速 flex 分析器工具标识这些行并显示它们, 但不将它们计入总日志行, 因为它们不需要分析。如果您有兴趣, 可以在 "不完整" 选项卡中查看注释。
-
选中 "parser project" 复选框, 并将 "syslog 文件" 复选框保留在上, 以确认日志文件具有 syslog 头, 然后再将其加载到该工具中。
-
解析器文件项目的日志文件大小限制为 200 mb。
-
- 单击 " Browse " 导航到要存储项目项目的位置。
- 单击 " Create "。日志文件将加载到日志视图中。
将创建一个 json 项目文件。文件的名称是前缀的串联, 用于指示文件是否属于解析器文件或 cef 验证项目 (pt 或 cef)、供应商名称、产品名称和版本号 (前缀 _ 供应商 _ 收货/version. json)。例如, cef_ vendorXYZ_productABC_1.json或pt_vendorUVW_productDEF_1.json。
打开解析器项目
导航:Log View>File>Open Project
选择 File>Open Project, 然后选择项目的名称。日志文件和任何关联的项目工件都将加载到快速 flex 分析器工具中。快速 flex 分析器工具项目名称具有格式<project_file_name>. json.</project_file_name>。
注意: 每个项目文件都包含指向日志文件位置的路径。如果快速 flex 分析器工具在该路径上找不到日志文件, 它会通知您, 并询问您是否要在打开项目之前浏览该日志文件。
查看工作流摘要
导航:Landing page>Quick Flex Overview
流程:
单击 " Quick Flex Overview " 以获得快速 flex 工作流的图形表示形式。
第3章: 创建令牌和筛选器
- Quick Flex Parser工具日志视图
- 为消息创建令牌过滤器
- 日志行中的高亮模式
- 管理和测试令牌过滤器
快速 flex 解析工具日志视图
当您创建新项目或打开现有项目时, 将打开 "快速 flex 分析器工具日志视图"。此视图显示日志文件消息以及应用于消息的令牌筛选器的数量。日志视图还显示令牌筛选器的统计信息以及筛选器分析的行数。
菜单栏包含以下内容:
- File: 包含用于创建新项目、打开现有项目、打开项目中的文件、导出、保存或另存为项目以及编辑项目属性的命令。
- Base Regex Editor: 单击以打开 "基本正则表达式编辑器", 您可以在其中创建和编辑基本正则表达式。请参阅 "创建基本注册"。
- Token Filter Editor: 单击以打开令牌筛选器编辑器, 您可以在其中创建和编辑令牌筛选器。请参阅 "创建令牌筛选器"。
- Token Manager: 单击以打开令牌管理器, 您可以在其中创建、更新和删除令牌。请参阅 "创建令牌"。
- Token Filter Manager: 单击以打开令牌筛选器管理器, 您可以在其中查看令牌筛选器状态, 启用或禁用令牌筛选器, 并测试选定的令牌筛选器。请参阅 "管理和测试令牌筛选器"。
- Help: 单击以访问联机帮助和两个工作流摘要。
"日志视图" 上方的功能区显示以下状态和命令:
-
Total Logs: 显示日志文件中的总行数。单击以在 "日志视图" 面板中显示日志文件的内容。
-
Base Parsed: 基本正则表达式成功分析的日志行数。单击以在 "日志视图" 面板中显示解析的行。
-
Base Unparsed: 基本正则表达式 click 不分析的日志行数, 以在 "日志视图" 面板中显示未分析的行。
- Complete: 由基本正则表达式和至少一个令牌筛选器分析的日志行数。单击以显示日志视图中的行。
- Incomplete: 基本正则表达式、令牌筛选器或两者都未分析的日志行数
- Next Unparsed Line: 单击以转到不由基本正则表达式或令牌筛选器分析的下一行。
- Go to: 输入行号或文本字符串以查找所需信息。
- Search by Log: 输入的文本将在整个日志行中搜索。
"设置图标
" 下拉列表包含以下选项:
- Show Syslog Header: 选择此选项可显示系统日志标头。请参阅 "突出显示日志线中的模式"。
- Visualize Stats: 选择此选项可以图形方式显示显示在顶部工具栏中的统计信息。
在 "日志视图" 面板中, " Log Message " 列显示日志文件中的消息。" Matched Token Filter " 列显示与日志行匹配的令牌筛选器的数量。最初, 它显示0。在构造和应用令牌筛选器时, 此值将更改以表示正在分析特定日志行的令牌筛选器的数量。
通过从日志行中选择特定行, 可以开始为项目定义令牌和令牌筛选器。此操作将打开令牌筛选器编辑器。请参阅 "创建令牌筛选器"。日志视图显示这些统计信息, 以跟踪您在分析日志文件时的进度:
- Token Filter Coverage: 指示由单个令牌筛选器、2个令牌筛选器和3个或更多令牌筛选器分析的日志行数
- Token Filter Stats: 显示覆盖大多数日志行的前10个筛选器的匹配消息数。
定义完基本正则表达式、令牌和令牌筛选器, 并对测试结果感到满意后, 单击 " Generate Parser " 以生成项目的解析器 (. 属性) 文件。请参阅 "生成分析器文件"。
为消息创建令牌筛选器
若要创建令牌筛选器, 请完成以下任务:
- 创建基本正则表达式
- 创建令牌
- 创建令牌过滤器
- 创建映射
- 覆盖令牌正则表达式
创建基本正则表达式
导航:Log View>Base Regex Editor
关于:
快速 flex 分析器工具会自动生成推荐的基本正则表达式, 以便在当前日志行中工作。如果不需要推荐的基正则表达式, 则可以使用有效的正则表达式覆盖日志行顶部的原始行。为了使基本正则表达式与其他日志行相匹配, 请在迭代过程中修改和测试基正则表达式。日志行突出显示指示正则表达式是否与该行匹配。如果正则表达式与行不匹配, 则会显示错误。
注意: 自动生成的正则表达式并不是手动键入基本正则表达式的替代品。建议通过添加或替换符合您的条件的表达式来改进基本正则表达式。
对于 syslog 文件, syslog 头部由连接器框架标识, 并在Log View中突出显示。您可以单击 " Syslog Header " 按钮来切换 " Syslog Header " 的视图。syslog 消息表示行的其余部分, 例如, 基本正则表达式和令牌筛选器不覆盖 syslog 标头。
指定基正则表达式 (也称为编写器)。连接器使用基正则表达式将标头与日志消息的正文分开。标头被视为日志行中所有消息共有的部分。在创建和应用令牌筛选器来处理消息的其余部分之前, 必须创建成功处理所有日志行的基本正则表达式。
日志行的正则表达式正确后, 单击 Tokenize 创建基本正则表达式令牌。编辑正则表达式时, 快速 flex 分析器工具将尽力保留以前创建的令牌属性 (如名称、类型和赋值)。在将基正则表达式标记添加到基正则表达式的情况下, 将不会保留添加的标记之后的标记属性。除了生成的正则表达式, 您可以编辑快速 flex 分析器工具Assigments给令牌的任何默认值。
流程:
- 在日志视图上单击 " Base Regex Editor "。将打开 "基本正则表达式编辑器"。
-
在 " Base Regex " 字段中定义消息的基本正则表达式。
注意:
-
至少, 基本正则表达式必须定义 (. *)。
-
必须先创建并保存至少两个基本正则表达式令牌, 然后才能创建消息令牌。
-
快速 flex 解析工具预计基本正则表达式至少包含一个Capture(捕获)组。
-
快速 flex 分析器工具使用括号来表示捕获的元素。若要将括号表示为文字字符, 必须使用反斜杠字符转义它。例如: "\ ("。
-
以下是在快速 flex 分析器工具中必须转义的字符列表: [, ], (,), |, {. }。
-
单击 Tokenize(令牌化)。快速 flex 解析工具打开一个弹出窗口, 其中包含突出显示的正则表达式的建议令牌列表。您可以接受建议的令牌或关闭弹出窗口。如果您接受建议的令牌, 则会突出显示标记化的正则表达式选择。
注意:
-
除非正则表达式有效并成功处理基本正则表达式编辑器中的整个日志行, 否则 " Tokenize" 按钮将不会变为活动状态。
-
在标记已标记的基本正则表达式时, 该工具会尝试重用未从早期会话更改的任何令牌。保留以前使用的令牌可以节省时间, 并且在使用编辑器时效率更高。
-
单击 " Tokenize " 后, 当您将光标放在正则表达式中时, 日志行的相应部分将突出显示, 有关令牌的信息将显示在 "令牌详细信息" 中。请参阅 "在基本正则表达式编辑器中突出显示"。
-
单击 " Tokenize " 后, 可以检查令牌与日志行的关系。单击 " Matching Details " 可显示一个表, 其中列出了每个令牌、为令牌定义的正则表达式以及它所匹配的日志行的部分。
-
编辑有关令牌的信息。从基本令牌列表中选择一个令牌。在 "Token Details" 区域中提供以下信息:
- Token Name-编辑Token Name。
-
Type-从下拉列表中选择 " Type "。有关令牌类型的说明, 请参阅 "arcsight 令牌类型"。
注意: 如果选择 "时间戳", 将打开 "格式" 字段, 并使用默认的时间格式。您可以输入时间格式或单击搜索按钮以选择预定义的格式。请参阅 "日期和时间格式符号"。
- Regex-检查令牌的正则表达式。此字段由为 Base Regex字段中的标记定义的正则表达式填充。只有通过编辑 Base Regex字段, 才能更改Regex字段中的值。
- Description-(可选)输入文本以描述令牌。
- Assignment-(可选)从下拉列表中选择一个Assignment。请参阅 " ArcSight Assignments"。选择分配后, "Type" 将自动填充相关的默认值。例如, 当您选择 "UserName" 作为 " Assignment" 时," Type " 将显示 "String"。
-
单击 Save Token。令牌的名称将显示在Base Token List 中。
注意: 该工具验证映射的类型匹配。
-
从下拉列表中选择Message ID Token 和Message Token。这将被转换为解析器文件中的子消息。
注意: 如果您只想使用基本正则表达式处理日志文件, 则不需要此步骤。
Message ID Token下拉列表包含为项目创建的令牌。将这些令牌之一与Message Token相关联, 以标识子消息。
Message ID Token不是必需的, 但它是可取的, 因为如果消息令牌可以与令牌筛选器相关, 则分析性能会得到提高。
-
Additional Data-(可选)Additional Data开关在解析器属性文件additionaldata.enabled = true / false中生成设置。 true设置告诉SmartConnectors收集所有未使用的基本正则表达式标记(即未映射到任何内容的标记)。 例如,如果对象标记TokenABC的Additional Data开关设置为true,则将创建附加映射addionaldata.TokenABC = TokenABC。 此值不会出现在解析器属性文件中,但它将出现在导出的数据中或ESM视图中。
如果您不希望SmartConnectors自动收集未使用的令牌,则始终可以选择在执行映射时分配其他数据。 例如,您可以在解析器属性文件中输入类似于以下内容的内容:additonaldata.ANY_CUSTOM_NAME = TokenABC。
- 检查日志视图, 以确保基本正则表达式在创建任何令牌之前成功处理所有行。如果基正则表达式不分析所有行, 则生成的解析器属性文件将无法正确分析它们。请参阅 "在日志视图中突出显示"。
创建令牌
导航:Log View>Token Manager或右键单击 "令牌筛选器编辑器" 中原始日志消息的选定部分
关于:
令牌是标识消息中的数据字段或其他有用信息的标记。通常情况下, 标记的名称将是它所应用到的字段的名称。令牌的属性应用于使用令牌的每个筛选器。如果更改令牌的属性, 则更改将反映在使用令牌的每个筛选器中。
流程:
令牌管理器包含已定义的令牌列表以及可以在其中创建或编辑消息令牌的区域。只能在令牌管理器中创建消息令牌。若要创建基本正则表达式令牌, 请使用基本正则表达式编辑器。请参阅 "创建基本注册"。
使用以下方法之一打开令牌管理器:
- 在日志视图中选择令牌管理器。
- 使用顶部工具栏打开 "Token Manager"。在 "日志视图" 面板中选择一条消息。该消息显示在令牌筛选器编辑器的 " Raw Log " 工作区中。选择并右键单击邮件的一部分。令牌管理器将作为弹出窗口打开。在令牌管理器中提供以下信息。
- Token Name-在 " Token Details "或"Create New Token" 表中输入Token Name。
-
Type -(可选)从下拉列表中选择 " Type "。有关令牌类型的说明, 请参阅 "Arcsight 令牌类型"。
注意: 如果选择 " Time Stamp ", 将打开 " Format " 字段, 并使用默认的时间格式。您可以输入时间格式或单击搜索按钮以选择预定义的格式。请参阅 "日期和时间格式符号"。
-
Regex-编辑令牌的 Regex表达式。创建令牌时, 其初始值为默认正则表达式: \\S+。验证编辑后的令牌正则表达式是否处理选定的消息段。
注意:Quick Flex Parser Tool不支持在regex表达式中使用捕获符号((...))或可选符号(?...?)。 请改用"Capture" 捕获和"Mandatory" 强制切换按钮。
- (可选)设置 "捕获" 和 "强制" 切换按钮的值:
- Capture—设置为 true 以捕获与令牌正则表达式匹配的值作为反向引用。默认值为 false。
- Mandatory—如果消息中必须存在令牌值, 则设置为 true。默认值为 false。
- Description-(可选)输入令牌的文本说明。
- Assignment-(可选)从下拉列表中选择"Assignment"。 请参阅"ArcSight Assignment"。 选择分配后,"Type"将自动填充相关的默认值。 例如,当您选择"user name"作为"Assignment"时,"Type"将显示"String"。
- .单击"Save"以保存令牌。 令牌的名称显示在令牌列表Token List中。
- 重复步骤 1-7, 直到定义了满足所有日志行的令牌。
创建令牌筛选器
导航:Log View>Token Filter Editor
关于:
令牌筛选器是消息或日志记录的标记形式。它用于创建解析器文件和执行各种属性。令牌筛选器包含日志文本, 并忽略所有特殊字符。
流程:
- 使用顶部工具栏选择 "Token Filter Editor"。日志行显示在 " Token Filter Editor " 的 " Original Log " 和 " Token Filter " 字段中。
- Message/Filter ID--您可以在Filter ID中编辑令牌筛选器。此值必须是准备由当前正在构建的令牌筛选器分析的每个日志行的 id。此字段将按照工具的最佳建议自动填充。
-
Token Filter--在Token Filter中右键单击选中日志行中要赋值的字符串,会打开一个弹出"Select Tokens from the list"窗口, 其中包含可用令牌的列表。您可以创建、编辑或删除令牌:
- 单击"+New"可以创建新令牌,或在列表中选择要编辑的令牌。 请参阅"创建令牌"。
- 单击 "X Delete" 从列表中删除选定的令牌。
- 启用Token Details可查看有关所选令牌的详细信息。如有必要, 您可以编辑详细信息。
- 如果令牌定义应覆盖令牌正则表达式,则在令牌详细信息中启用"Override Regex"覆盖正则表达式。 请参阅"覆盖令牌正则表达式"。
- 将映射分配给令牌。请参阅 "创建映射"。
-
单击"Apply"将令牌添加到"Token Filter"字段。 Quick Flex Parser Tool突出显示与过滤器中定义的正则表达式匹配的日志行部分(请参阅"突出显示日志行中的模式")。
注意:
-
令牌的显示顺序以及添加到令牌过滤器的任何空格或标点符号非常重要。
-
Quick Flex Parser Tool使用括号表示捕获的元素。 要将括号表示为文字字符,必须使用反斜杠字符对其进行转义。 例如: "\("。
-
以下是必须在Quick Flex Parser Tool中转义的字符列表:[, ], (,), |, {. }。
- 如果您对令牌筛选器的结果感到满意, 请单击 "Save"。
创建映射
导航:Log View>Base Regex Editor 或Token Filter Editor
关于:
映射描述了建立日志消息字段和ArcSight模式字段之间关系的关系或过程。 映射描述了令牌如何映射到ArcSight产品中的字段,例如Logger,ArcMC,Express等。 可以将多个映射与字段关联。
流程:
- 单击 "+ new" 创建新映射, 或从列表中选择要编辑的现有映射。
- 从下拉列表中选择一个Assignment。查看ArcSight Assignments。
- 如果 "分配" 字段设置为 "其他数据", 则会显示 " Additional Data Name " 字段。
- (可选)输入令牌的文本说明。
- 从下拉列表中选择一个Operation。请参阅 "Arcsight 操作"。
- 输入所选操作所需的任何参数。请参阅 "Arcsight 操作"。
- 单击 " Save Mapping " 将映射添加到 "映射列表" 字段。
重写令牌正则表达式
导航:Log View>Token Manager
关于:
有时, 消息的语法不支持令牌使用的正则表达式。但是, 如果不希望修改适用于所有其他消息的令牌正则表达式, 则可以重写令牌正则表达式, 以允许令牌定义中的异常。重写到令牌的正则表达式具有以下特征:
- 重写仅适用于包含带有覆盖的令牌的令牌过滤器
- 重写不会修改令牌集中的令牌属性
流程:
- 在令牌管理器弹出窗口上启用 " Override Regex " 选择器。
- 编辑 " New Regex " 字段中的正则表达式。请注意, 无法编辑弹出窗口中的其他字段。
- 保存令牌。令牌定义将被新的正则表达式覆盖, 并保存在令牌列表中。
突出显示日志行中的模式
Quick Flex Parser Tool使用突出显示来指示日志行中的模式何时与令牌、基本令牌过滤器或令牌过滤器中定义的正则表达式匹配。 该工具以不同方式应用突出显示,具体取决于您是在日志视图,令牌过滤器编辑器还是基本正则表达式编辑器中。
- 日志视图中的突出显示
- 令牌过滤器编辑器中的突出显示
- 基本正则表达式编辑器中的突出显示
在日志视图中突出显示
快速 flex 分析器工具在 "日志视图" 窗口中应用相应的突出显示, 以区分基本正则表达式筛选器和令牌筛选器:
- Base regex - 创建并保存基本正则表达式时,可以单击日志视图上的"刷新"以查看日志行上的基本正则表达式。 如果基本正则表达式模式提供与日志行的部分匹配,则该行的匹配部分将从行中的第0个字符到第N个字符以紫色突出显示。
- Token Filter - 如果所选的令牌过滤器模式与整个日志行匹配,则整行将以绿色突出显示。 但是,如果基本正则表达式对该行也有效,则对于基本令牌过滤器匹配,日志行将以紫色突出显示,并且对于令牌过滤器匹配,该行的其余部分将突出显示为蓝色。
- Syslog标题突出显示:
|
已选择Syslog文件 |
使用Syslog文件 |
突出显示 |
|
Yes |
Yes |
Yes |
|
Yes |
No |
No |
|
No |
Yes |
No |
|
No |
No |
No |
下面是解析器日志视图在完成和刷新基本正则表达式时的外观的图像。一些令牌筛选器已分配给日志行:

在令牌筛选器编辑器中突出显示
快速 flex 解析工具根据其正则表达式模式将突出显示应用于基本正则表达式和令牌筛选器的日志行。
在基本正则表达式编辑器中突出显示
单击Tokenize 后, 将光标放在基正则表达式中的令牌中时, 日志行的相应部分将突出显示。如果日志行具有该正则表达式所需涵盖的内容, 则会显示有关令牌的信息。
如果将光标放在基正则表达式中的令牌中, 并且突出显示不会显示在日志行中, 则表示该标记不存在于日志行中。
管理和测试令牌筛选器
您可以在令牌过滤器管理器中执行以下操作:
- 令牌过滤器列表选项卡上的管理令牌过滤器
- 令牌过滤器测试选项卡上的测试令牌过滤器
管理令牌过滤器
导航:Log View>Token Filter Manager>Token Filter List
关于:
使用 " Token Filter Manager " 的 " Token Filter List " 列表选项卡可以查看已创建的令牌筛选器的内容和状态。对于每个令牌筛选器, 该表显示筛选器中使用的令牌, 以及当前是否用于分析日志文件及其匹配的日志行数。
令牌筛选器在列表中的位置很重要。Quick Flex Parser Tool将令牌筛选器从上到下应用于日志文件中。通常, 令牌过滤器从最具体到最不具体排序。
流程:
对于令牌过滤器列表选项卡中的每个令牌过滤器,您可以执行以下操作:
- 查看包含令牌过滤器的令牌列表。
- 查看每个令牌过滤器匹配的日志行数以及当前是否用于解析日志文件。
- 启用或禁用令牌过滤器。
- 单击"上移"或"下移",更改列表中所选标记过滤器的位置。
- 双击令牌过滤器名称或单击"编辑"以显示令牌过滤器的定义。
- 选择令牌过滤器,然后单击"删除"以从项目中删除令牌过滤器。
- 根据日志文件测试令牌过滤器的有效性。 请参阅"测试令牌过滤器"。
测试令牌过滤器
导航:Log View>Token Filter Manager>Token Filter Test
关于:
使用Token Filter Manager的Token Filter Test选项卡,根据日志文件测试基本正则表达式和令牌过滤器的性能。 您可以测试单个令牌过滤器或任何过滤器组合。
令牌过滤器测试区域显示令牌过滤器列表,令牌过滤器包含的令牌及其状态:Enable,Disable或无效。 您可以选择过滤器并单击Display Results以在结果区域中针对日志文件显示过滤器的性能。 单击"Export Results"将结果保存为CSV格式的文件。
注意: 只有在选择 "基本 regex" 筛选器、单个筛选器或所有筛选器的情况下, 才能导出结果。
"结果" 区域显示网格, 这些网格标识筛选器中使用的令牌、它们映射到的架构事件以及应用的任何分配。它还显示网格, 用于标识所选令牌筛选器的匹配行和不匹配行。"结果" 区域的每个部分都可以单独导出到 csv 格式文件中。
流程:
您可以在令牌过滤器测试选项卡中执行以下操作:
选择Base Regex过滤器,然后单击Display Results以显示以下信息。单击"Export导出"将"Unmatched Results不匹配的结果"保存为CSV格式的文件。
- Multi-header match-此网格显示基本正则表达式中的标记名称以及任何关联的分配名称和架构字段的值。
- Match Results against Base Regex—此网格显示基本正则表达式中使用的标记以及与之关联的任何模式元素和分配。 附加网格显示与基础正则表达式匹配的原始日志行及其内容。
- Unmatched Results against Base Regex—此网格显示与基本正则表达式不匹配的日志行。
从筛选器列表中选择一个令牌筛选器,然后单击Display Results以显示以下信息。 单击"导出"将"基于行匹配"结果保存为CSV格式文件。
- Multi-header match—此网格显示令牌筛选器和基本正则表达式中的令牌名称以及任何关联的赋值名称和架构字段的值。
- Match Results against<token name>—此网格显示所选令牌筛选器中使用的令牌以及与之关联的任何架构元素和分配。另一个网格显示筛选器中每个令牌匹配的消息部分。
- Matched Based on Line—此网格显示所选令牌筛选器匹配的消息列表。
选择多个令牌筛选器, 然后单击 " Display Results " 以显示以下信息。Export对于此方案不可用。
-
Matched Lines against All Filters—此网格显示由多个令牌筛选器匹配的消息的列表。
在网格中选择一行以打开 "详细信息" 弹出窗口, 其中列出了每个令牌筛选器中使用的令牌的值。
选择所有令牌筛选器, 然后单击 " Display Results " 以显示以下信息。单击 " Export " 将 " Unmatched Lines " 保存到 csv 格式文件。
- Matched against Selected Token Filters —此网格显示由多个令牌筛选器匹配的消息的列表。
- Unmatched Lines—此网格显示任何令牌筛选器都不匹配的消息的列表。单击 "在不匹配的行上查看"。该行将在令牌筛选器编辑器中打开, 您可以在其中继续处理消息。
生成分析器文件
导航:Log View>Generate Parser
关于:
Quick Flex Parser Tool可以生成适合在ArcSight FlexConnector框架中使用的解析器文件。解析器文件包含令牌、基本正则表达式、令牌筛选器和令牌映射的定义。
生成解析器文件的最低要求是成功分析日志文件的基本正则表达式。
流程:
- 单击日志视图中的"Generated Parser"以生成解析器文件。 您可以修改生成的内容并将其复制到单独的文件中。
- 单击"Export"以保存解析器属性文件。 默认情况下,该文件将保存为<project_ name> .sdkrfilereader.properties,用于非syslog项目,syslog项目保存为<project_name> .subagent.sdkrfilereader.properties。
导出文件
导航:File > Export
关于:
通过导出项目令牌、令牌筛选器和映射的定义, 以便它们可以在其他项目中使用, 可以节省时间和精力。导出的文件保存为具有. json 扩展名的 json 文件。导出的文件采用. csv 格式, 包含日志行和长行号。
流程:
- 从"令牌"列表中选择一个令牌,或从"过滤器"列表中选择一个令牌过滤器。
- 选择File>Export。
- 选择是否要导出令牌或令牌过滤器。
- 输入导出文件的名称(不需要文件扩展名)。
- 导航到要在Windows资源管理器中保存导出的令牌或令牌过滤器的位置。 单击OK。
ArcSight令牌类型
令牌类型很重要, 因为令牌只能映射到具有匹配类型的 arcsight 事件字段。"arcsight 控制台用户指南" 中的 "参考指南" 中的 "数据字段" 下列出了事件字段及其类型。
|
类型 |
意途 |
格式 |
|
Integer |
数字从-214483648 到214743647。 |
n/a |
|
IPAddress |
ipv4 地址 (例如: 1.1.1.1)。对于支持 ipv6 的解析器, 这可以是 ipv4 或 ipv6 地址 (例如: fdeb:f59b:2e13:56c9:xxxx:xxxx:xxxx:xxxx)。 |
n/a |
|
Long |
数字从-9223372036854775808到9223372036854775807。 |
n/a |
|
MacAddress |
以太网MAC地址格式为:00-06-3E-22-51-B9或00:06:3E:22:51:B9。 |
n/a |
|
String |
任何自由形式的字符序列。 |
n/a |
|
TimeStamp |
日期、时间或日期和时间。 |
日期格式 (请参阅 "日期和时间格式符号") |
日期和时间格式符号
在快速 flex 分析器工具中定义了以下日期和时间格式:
|
Symbol |
Meaning |
Presentation |
Examples |
|
G |
Era designator |
(Text) |
AD |
|
y |
Year |
(Number) |
2016 or 06 |
|
Y |
Week year |
Year |
2016;16 |
|
M |
Month in year |
(Text & Number) |
July or Jul or 07 |
|
w |
Week in year |
(Number) |
27 |
|
W |
Week in month |
(Number) |
2 |
|
D |
Day in year |
(Number) |
129 |
|
d |
Day in month |
(Number) |
10 |
- MMM dd HH:mm:ss.SSS zzz
- MMM dd HH:mm:ss.SSS
- MMM dd HH:mm:ss zzz
- MMM dd HH:mm:ss
- MMM dd yyyy HH:mm:ss.SSS zzz
- MMM dd yyyy HH:mm:ss.SSS
- MMM dd yyyy HH:mm:ss zzz
- MMM dd yyyy HH:mm:ss
- ddMMyyyy HH:mm:ss
- MM-dd-yyyy HH:mm:ss
- yyyy-MM-dd HH:mm:ss.SSS
- yyyy-MM-dd HH:mm:ss
例如, 对于此格式: yyyyy-mm-dd hhh:mm
在不打算解释为日期格式字符的文本周围使用单引号。对于日期 (如: 2016.07.04 ad 在 12:08:56 pdt) 中使用此示例。
yyyy.MM.dd G 'at' HH:mm:ss z
使用两个单引号插入单引号。使用此示例的日期如下: Wed, Jul 4, '16。
EEE, MMM d, ''yy
此表包含日期和时间格式符号:
|
Symbol |
Meaning |
Presentation |
Examples |
|
F |
Day of week in month |
(Number) |
2 (indicating 2nd Wed. in July) |
|
E |
Day in week |
(Text) |
Tuesday or Tue |
|
u |
Day number of week |
(1=Monday, ..., 7=Sunday) |
Number |
|
a |
Am/pm marker |
(Text) |
AM or PM |
|
H |
Hour in day (0~23) |
(Number) |
0 |
|
k |
Hour in day (1~24) |
(Number) |
24 |
|
K |
Hour in am/pm (0~11) |
(Number) |
0 |
|
h |
Hour in am/pm (1~12) |
(Number) |
12 |
|
m |
Minute in hour |
(Number) |
30 |
|
s |
Second in minute |
(Number) |
55 |
|
S |
Millisecond |
(Number) |
978 |
|
z |
Time zone |
General time zone |
Pacific Standard Time or PST or GMT-08:00 |
|
Z |
Time zone |
RFC 822 time zone |
-0800 (indicating PST) |
|
X |
Time zone |
ISO 8601 time zone |
-08; -0800; -08:00 |
第4章: Arcsight Assignment(赋值)
Assignment(赋值)可以是映射或规则。 映射从连接器框架映射到ArcSight事件字段,例如event.sourceAddress。 令牌的类型必须与ArcSight事件字段的类型匹配,以便激活分配验证。
有关某些字段范围的进一步说明,请参阅此表后面的编号范围注释(n)。
规则提供用户与值映射到的ArcSightESM架构字段之间的间接级别。 有关更多信息,请参阅"Quick Flex Parser工具规则"。
Quick Flex Parser Tool中的Assignments下拉列表包含映射和规则。 此表列出了ArcSight映射。 有关规则的说明,请参阅"Quick Flex分析器工具规则"。
|
ArcSight规则,映射和架构名称 |
类型 |
长度 |
范围 |
|
ACL Name (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Additional Data (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
AV Engine Version (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Application Protocol event.applicationProtocol |
String |
31 |
n/a |
|
Base Event Count event.baseEventCount |
Integer |
n/a |
0 -> 231-1 |
|
Bytes In event.bytesIn |
Long |
n/a |
0 -> 231-1 |
|
Bytes Out event.bytesOut |
Long |
n/a |
0 -> 231-1 |
|
Category Behavior event.categoryBehavior |
String |
1023 |
n/a (1) |
|
Category Device Group event.categoryDeviceGroup |
String |
1023 |
n/a (1) |
|
Category Object event.categoryObject |
String |
1023 |
n/a (1) |
|
Category Outcome event.categoryOutcome |
String |
1023 |
n/a (1) |
|
Category Significance event.categorySignificance |
String |
1023 |
n/a (1) |
|
Category Technique event.categoryTechnique |
String |
1023 |
n/a (1) |
|
Crypto Signature event.cryptoSignature |
String |
512 |
n/a |
|
Custom URI event.customURI |
String |
- |
n/a (2) |
|
Destination Account (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Destination Address (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Destination Address event.destinationAddress |
IPAddress |
n/a |
IPv4 (3) |
|
Destination Dns Domain event.destinationDnsDomain |
String |
255 |
n/a |
|
Destination Host (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Destination Host Name event.destinationHostName |
String |
1023 |
n/a |
|
Destination Mac Address event.destinationMacAddress |
MacAddress |
n/a |
MAC (4) |
|
Destination Nt Domain event.destinationNtDomain |
String |
255 |
n/a |
|
Destination Port event.destinationPort |
Integer |
n/a |
0 ->65535 |
|
Destination Process Name event.destinationProcessName |
String |
1023 |
n/a |
|
Destination Service Name event.destinationServiceName |
String |
1023 |
n/a |
|
Destination Translated Address event.destinationTranslatedAddress |
IPAddress |
n/a |
IPv4 (3) |
|
Destination Translated Port event.destinationTranslatedPort |
Integer |
n/a |
0 -> 65535 |
|
Destination Translated Zone URI event.destinationTranslatedZoneURI |
String |
- |
n/a (2) |
|
Destination User Id event.destinationUserId |
String |
1023 |
n/a |
|
Destination User Name event.destinationUserName |
String |
1023 |
n/a |
|
Destination User Privileges event.destinationUserPrivileges |
String |
1023 |
n/a |
|
Destination Zone URI event.destinationZoneURI |
String |
- |
n/a (2) |
|
Device Action event.deviceAction |
String |
63 |
n/a |
|
Device Address (rule) |
See "Quick Flex Parser Tool Rules". |
||
|
Device Address event.deviceAddress |
IPAddress |
n/a |
IPv4 (3) |
|
Device Custom Date 1 event.deviceCustomDate1 |
TimeStamp |
n/a |
n/a (5) |
|
Device Custom Date 1 Label event.deviceCustomDate1Label |
String |
1023 |
n/a |
|
Device Custom Date 2 event.deviceCustomDate2 |
TimeStamp |
n/a |
n/a (5) |
|
Device Custom Date 2 Label event.deviceCustomDate2Label |
String |
1023 |
n/a |
|
Device Custom IPv6 Address 1 event.deviceCustomIPv6Address1 |
IPv6 Address |
n/a |
IPv6 (8) |
|
Device Custom IPv6 Address 1 Label event.deviceCustomIPv6Address1Label |
String |
1023 |
Should be "Device IPv6 Address". See also "Device Address or Host" in "Quick Flex Parser Tool Rules". |
|
Device Custom IPv6 Address 2 event.deviceCustomIPv6Address2 |
IPv6 Address |
n/a |
IPv6 (8) |
|
Device Custom IPv6 Address 2 Label event.deviceCustomIPv6Address2 Label |
String |
1023 |
Should be "Source IPv6 Address". See also "Source Address or Host" in "Quick Flex Parser Tool Rules". |
|
Device Custom IPv6 Address 3 event.deviceCustomIPv6Address3 |
IPv6 Address |
n/a |
IPv6 (8) |
|
Device Customer IPv6 Address 3 Label event.deviceCustomerIPv6Address3Label |
String |
1023 |
Should be "Destination IPv6 Address". See also "Destination Address or Host" in "Quick Flex Parser Tool Rules". |
|
Device Custom Number 1 event.deviceCustomNumber1 |
Long |
n/a |
- 263 -> 263-1 |
|
Device Custom Number 1 Label event.deviceCustomNumber1Label |
String |
1023 |
n/a |
|
Device Custom Number 2 event.deviceCustomNumber2 |
Long |
n/a |
- 263 -> 263-1 |
|
Device Custom Number 2 Label event.deviceCustomNumber2Label |
String |
1023 |
n/a |
|
Device Custom Number 3 event.deviceCustomNumber3 |
Long |
n/a |
-263 -> 263-1 |
|
Device Custom Number 3 Label event.deviceCustomNumber3Label |
String |
1023 |
n/a |
|
Device Custom String 1 event.deviceCustomString1 |
String |
1023 (4.x) 4000 (5.x) |
n/a |
|
Device Custom String 1 Label event.deviceCustomString1Label |
String |
1023 |
n/a |
|
Device Custom String 2 event.deviceCustomString2 |
String |
1023 (4.x) 4000 (5.x) |
n/a |
|
Device Custom String 2 Label event.deviceCustomString2Label |
String |
1023 |
n/a |
|
Device Custom String 3 event.deviceCustomString3 |
String |
1023 (4.x) 4000 (5.x) |
n/a |
|
Device Custom String 3 Label event.deviceCustomString3Label |
String |
1023 |
n/a |
|
Device Custom String 4 event.deviceCustomString4 |
String |
1023 (4.x) 4000 (5.x) |
n/a |
|
Device Custom String 4 Label event.deviceCustomString4Label |
String |
1023 |
n/a |
|
Device Custom String 5 event.deviceCustomString5 |
String |
1023 (4.x) 4000 (5.x) |
n/a |
|
Device Custom String 5 Label event.deviceCustomString5Label |
String |
1023 |
n/a |
|
Device Custom String 6 event.deviceCustomString6 |
String |
1023 (4.x) 4000 (5.x) |
n/a |
|
Device Custom String 6 Label event.deviceCustomString6Label |
String |
1023 |
n/a |
|
Device Dns Domain event.deviceDnsDomain |
String |
255 |
n/a |
|
Device Domain event.deviceDomain |
String |
1023 |
n/a |
|
Device Event Category event.deviceEventCategory |
String |
1023 |
n/a |
|
Device Event Class Id event.deviceEventClassId |
String |
1023 |
n/a |
|
Device External Id event.deviceExternalId |
String |
255 |
n/a |
|
Device Facility event.deviceFacility |
String |
1023 |
n/a |
|
Device Host Name event.deviceHostName |
String |
63 |
n/a |
|
Device Host (rule) |
See "Quick Flex Parser Tool Rules". |
||
|
Device Inbound Interface event.deviceInboundInterface |
String |
15 |
n/a |
|
Device Mac Address event.deviceMacAddress |
MacAddress |
n/a |
MAC (4) |
|
Device Nt Domain event.deviceNtDomain |
String |
255 |
n/a |
|
Device Outbound Interface event.deviceOutboundInterface |
String |
15 |
n/a |
|
Device Payload Id event.devicePayloadId |
String |
128 |
n/a |
|
Device Process Name event.deviceProcessName |
String |
1023 |
n/a |
|
Device Product event.deviceProduct |
String |
63 |
n/a |
|
Device Receipt Time event.deviceReceiptTime |
TimeStamp |
n/a |
n/a (5) |
|
Device Severity event.deviceSeverity |
String |
63 |
n/a |
|
Device Time Zone event.deviceTimeZone |
String |
255 |
n/a |
|
Device Translated Address event.deviceTranslatedAddress |
IPAddress |
n/a |
IPv4 (3) |
|
Device Translated Zone URI event.deviceTranslatedZoneURI |
String |
- |
n/a (2) |
|
Device Vendor event.deviceVendor |
String |
63 |
n/a |
|
Device Version event.deviceVersion |
String |
31 |
n/a |
|
Device ZoneURI event.deviceZoneURI |
String |
- |
n/a (2) |
|
End Time event.endTime |
TimeStamp |
n/a |
n/a (5) |
|
External Id event.externalId |
String |
40 |
n/a |
|
File Create Time event.fileCreateTime |
TimeStamp |
n/a |
n/a (5) |
|
File Hash event.fileHash |
String |
255 |
n/a |
|
File Id event.fileId |
String |
1023 |
n/a |
|
File Modification Time event.fileModificationTime |
TimeStamp |
n/a |
n/a (5) |
|
File Name event.fileName |
String |
1023 |
n/a |
|
File Path event.filePath |
String |
1023 |
n/a |
|
File Permission event.filePermission |
String |
1023 |
n/a |
|
File Size event.fileSize |
Long |
n/a |
0 -> 263-1 |
|
File Type event.fileType |
String |
1023 |
n/a |
|
Flex Date 1 event.flexDate1 |
TimeStamp |
n/a |
n/a (5) |
|
Flex Date 1 Label event.flexDate1Label |
String |
128 |
n/a |
|
Flex Number 1 event.flexNumber1 |
Long |
n/a |
- 263 -> 263-1 |
|
Flex Number 1 Label event.flexNumber1Label |
String |
128 |
n/a |
|
Flex Number 2 event.flexNumber2 |
Long |
n/a |
-2 63 -> 263-1 |
|
Flex Number 2 Label event.flexNumber2Label |
String |
128 |
n/a |
|
Flex String 1 event.flexString1 |
String |
1023 |
n/a |
|
Flex String 1 Label event.flexString1Label |
String |
128 |
n/a |
|
Flex String 2 event.flexString2 |
String |
1023 |
n/a |
|
Flex String 2 Label event.flexString2Label |
String |
128 |
n/a |
|
Group (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Instance (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Message event.message |
String |
1023 |
n/a |
|
Name event.name |
String |
512 |
n/a (9) |
|
Object (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Old File Create Time event.oldFileCreateTime |
TimeStamp |
n/a |
n/a (5) |
|
Old File Hash event.oldFileHash |
String |
255 |
n/a |
|
Old File Id event.oldFileId |
String |
1023 |
n/a |
|
Old File Modification Time event.oldFileModificationTime |
TimeStamp |
n/a |
n/a (5) |
|
Old File Name event.oldFileName |
String |
1023 |
n/a |
|
Old File Path event.oldFilePath |
String |
1023 |
n/a |
|
Old File Permission event.oldFilePermission |
String |
1023 |
n/a |
|
Old File Size event.oldFileSize |
Long |
n/a |
0 -> 263-1 |
|
Old File Type event.oldFileType |
String |
1023 |
n/a |
|
Raw Event event.rawEvent |
String |
4000 |
n/a (7) |
|
Request Client Application event.requestClientApplication |
String |
1023 |
n/a |
|
Request Context event.requestContext |
String |
2048 |
n/a |
|
Request Cookies event.requestCookies |
String |
1023 |
n/a |
|
Request Method event.requestMethod |
String |
1023 |
n/a |
|
Request Url event.requestUrl |
String |
1023 |
n/a |
|
Rule Name (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Signature Version (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Source Account (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Source Address (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Source Address event.sourceAddress |
IPAddress |
n/a |
IPv4 (3) |
|
Source Dns Domain event.sourceDnsDomain |
String |
255 |
n/a |
|
Source Host (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
|
Source Host Name event.sourceHostName |
String |
1023 |
n/a |
|
Source Mac Address event.sourceMacAddress |
MacAddress |
n/a |
MAC (4) |
|
Source Nt Domain event.sourceNtDomain |
String |
255 |
n/a |
|
Source Port event.sourcePort |
Integer |
n/a |
0 -> 65535 |
|
Source Process Name event.sourceProcessName |
String |
1023 |
n/a |
|
Source Service Name event.sourceServiceName |
String |
1023 |
n/a |
|
Source Translated Address event.sourceTranslatedAddress |
IPAddress |
n/a |
IPv4 (3) |
|
Source Translated Port event.sourceTranslatedPort |
Integer |
n/a |
0 -> 65535 |
|
Source Translated Zone URI event.sourceTranslatedZoneURI |
String |
- |
n/a (2) |
|
Source User Id event.sourceUserId |
String |
1023 |
n/a |
|
Source User Name event.sourceUserName |
String |
1023 |
n/a |
|
Source User Privileges event.sourceUserPrivileges |
String |
1023 |
n/a |
|
Source Zone URI event.sourceZoneURI |
String |
- |
n/a (2) |
|
Start Time event.startTime |
TimeStamp |
n/a |
n/a (5) |
|
Transport Protocol event.transportProtocol |
String |
31 |
n/a (6) |
|
Virus Name (rule) |
See "Quick Flex Parser Tool Rules". |
|
|
范围说明
- 虽然可以使用FlexConnector属性文件设置这些字段,但建议的方法是创建分类文件。有关可能值的更多信息,请参阅"控制台帮助"或"ArcSight控制台用户指南"中的"类别"主题。另请参阅FlexConnector开发人员指南中的"FlexConnectors和分类"。
- 尽管可以使用FlexConnector属性文件设置URI字段,但这些文件实际上是指向数据库中资源的链接。因此,建议使用networkmodel和客户设置功能设置这些字段。
- 这是IPv4地址(从0.0.0.0到255.255.255.255)或IPv6地址(XXXX:XXXX:XXXX:XXXX:XXXX:XXXX)。
- 这是MAC地址:XX:XX:XX:XX:XX:XX或XX-XX-XX-XX-XX-XX。
- 这是自1970年1月1日以来以毫秒为单位存储的时间戳。
- 选项包括:TCP,UDP,ICMP,IGMP,ARP。
- 将PreserveRawEvent设置为Yes以使连接器自动保留从设备接收的原始事件日志。使用默认值"",您可以配置此字段。要在ArcSight控制台界面中查找PreserveRawEvent字段,请转至Connectorsresource树> Configure> Defaulttab> Content> Processing部分> PreserveRawEvent。
-
对于不支持IPv6的解析器,IPv6字段(deviceCustomIPv6Address1,2和3)应始终使用1表示设备,2表示源,3表示目标。如果设置了IPv6地址字段,则会自动设置它们的标签,但如果ArcSight控制台解析器明确设置它们,则应使用上面显示的确切字符串。
对于支持IPv6的解析器,IPv6字段(deviceCustomIPv6Address1,2和3)可以包含IPv4或IPv6地址。实际上,很少使用这些字段。如果是,则应将标签设置为适当的值。
- 名称字段是必填字段。
第5章: 快速 flex 解析工具规则
映射规则提供用户与值映射到的ArcSight ESM架构字段之间的间接级别。值来自令牌,令牌的正则表达式在令牌过滤器中使用时捕获的值,或者作为令牌或令牌过滤器一部分的操作的结果。
映射规则提供:
- 支持常见操作,因此您无需在每个令牌过滤器或解析器中重复实现它们
- 模式字段的用户友好名称
- 能够更改值应用于模式的方式,而无需用户更改令牌过滤器或解析器
选择简单地写入模式字段的映射和具有操作的映射之间存在区别。大多数用户只会进行映射。
当映射规则具有操作时,可用操作在"ArcSight操作"中描述。在这种情况下,映射规则支持以下用途:
- 必须以与模式字段相关的某种方式测试和修改该值
- 必须根据ArcSight映射约定选择目标模式字段。它支持
- 当没有要映射到的自然模式字段时的情况的一致映射
- 当值可能映射到不同位置时,支持ArcSight模式的复杂性,下表介绍了Quick Flex Parser Tool中可用的映射规则。
|
Rule Name |
Description and Arguments |
|
ACL Name |
定义访问控制列表(ACL)的名称。 参数:
|
|
Additional Data |
允许您在执行映射时指定自定义附加数据名称。 例如,在映射Token0时,可以输入CUSTOM_NAME作为参数。以下内容将出现在解析器属性文件中: additonaldata.CUSTOM_NAME = Token0 |
|
AV Engine Version |
定义反病毒引擎版本。 参数:
|
|
Destination Account |
标识事件的目标帐户。如果帐户名称包含Windows域,则会将域名从帐户名称中分离出来。域名将写入event.destinationNtDomain。 参数:
|
|
Destination Address or Host |
事件的目标目标; 通常这将是主机地址或主机名。规则评估目标是地址还是主机名,并将其映射到适当的字段。 参数: 有三种可能的映射:
|
|
Device Address or Host |
设备是发生事件的系统,或者是从中检索事件的系统。规则评估值模式并将值映射到适当的字段。 参数: 有三种可能的映射:
|
|
Group |
组可以是应用程序或操作系统作为组引用的任何内容。 TheArcSight事件架构不支持组,因此如果必须定义组,请使用这些约定来处理值。 参数:
|
|
Instance |
实例是不同事件的表示。如果产品支持实例,请使用这些约定来映射值: 参数:
|
|
Object |
通用对象。任何没有自然规则的对象。使用这些约定来映射值:参数:
如果未定义,则"对象名称"将映射到event.deviceCustomString6Label。 |
|
Rule Name |
规则名称的任何实例。例如,这可以是防火墙规则,映射规则等。使用这些约定来映射值: 参数:
|
|
Signature Version |
这通常是IDS(入侵检测系统)签名版本号。 参数:
|
|
Source Account |
触发事件的源的帐户。如果帐户名称包含Windows域,则会将域名从帐户名称中分离出来。域名将写入event.destinationNtDomain。 参数:
|
|
Source Address or Host |
作为事件原点或事件发生位置的系统或设备的地址。 参数: 有三种可能的映射:
|
|
Virus Name |
产品分配给病毒的名称。 参数:
|
第6章: CEF验证
本节包含以下主题:
- CEF验证功能和优势
- CEF合规性工作流程摘要
CEF验证功能和优点
CEF验证工具可帮助您为设备创建符合CEF的日志文件。用于CEF验证的日志文件最多可包含2000行,而不会影响工具的性能。该工具通过执行以下操作简化了您的工作:
- 确认CEF头字段正确。
- 如果它们不正确,则可以在工具中添加注释以更改设备中的设置。
- 确认CEF扩展名中的CEF字段名称是否正确。
- 如果在扩展中进行了更正,则该工具会将更改应用于日志文件中具有相同模式的所有行。
- 允许您更改CEF键以匹配在行扩展中可以看到它们的类型。
- 在分配给CEF密钥时验证字段类型。
- 仅验证设备允许使用的密钥(如字段名称缩写)(Event Producer)。 SmartConnector(事件使用者)可以使用其他密钥。
- 允许您创建映射到其他数据分配的新密钥。
- 生成描述CEF头字段和CEF字段名称是否正确的报告,并记录您对CEF扩展所做的任何更改。您可以使用该报告调整设备设置,生成日志文件并开始下一次迭代。
- 支持日志文件中行的Syslog格式。 Syslog标题描述了标准
- Syslog行的开头,包括日期和主机。
CEF合规性工作流摘要
以下任务提供了有关如何使用快速 flex 分析器工具来验证日志文件是否符合 cef 标准的高级说明。
1. 创建 cef 合规性项目
创建一个项目来加载日志文件并标识存储结果的文件夹。
2. 查看标题值
在View Header Values窗口中,所有CEF标头都将被解析为它们自己的列。 解析由连接器完成。 此窗口的目的是检查和评论值是否合适并与供应商的正确数据类型和术语相匹配。
3. 评估CEF扩展
单击"警告详细信息"图标以查看正在编辑的行的警告详细信息和说明。
- 在"验证CEF扩展"窗口中,右键单击一个键/值对以选择适当的匹配并编辑该键。这样做的目的是使键/值对具有匹配的数据类型,以便可以映射每个键的值,并且在将日志送入连接器时不会引起警告。
- 列表菜单中提供了键。如果您有未列出的密钥,请创建一个附加数据密钥,该密钥将添加到(最初为空)附加数据密钥列表中。
-
您可以将密钥更改为可能更适合其所代表的值的另一个密钥。
注意:有关可用CEF密钥的完整说明,请参阅Protect 724上的"实施ArcSight公共事件格式(CEF)"。
- 编辑日志行时,后端会记录日志行的模式。完成编辑并应用更改后,日志文件中的其他日志行将应用相同的更改。
- 即在此窗口中所做的更改将在生成的报告中记录。
4. 查看更改
- 重复上述步骤,直到没有日志警告或您对更改表示满意为止。
- 单击"刷新"以执行先前在CEF扩展窗口中完成的编辑,以应用于所有其他模式匹配日志行。
5. 生成报告
- 生成的报告包含"标题值"窗口中的注释。
- 生成的报告包括CEF扩展窗口中完成的所有编辑。 每个编辑都包含使用的原始日志行,原始和新密钥以及从编辑到特定原始日志行的其他日志行。
6. 将更改应用于设备
根据生成的报告中的信息, 将更改应用于设备。应用更改可能与 cef 标头和某些关键模式相关。
第7章: CEF 验证日志视图
导航:Landing page>Create New>Log View 或Landing page>Open Files>Log View
创建新项目或打开现有项目时,将打开CEF验证日志视图。该视图包含以下面板:
- CEF验证日志视图显示日志行,突出显示syslog头和CEF头或只是CEF头。它显示每个日志行的状态。如果它有警告图标,则可能需要解决一些警告。如果单击该图标,将打开"验证CEF扩展"窗口,您可以在其中查看日志行并对其进行修改。
- 单击"日志视图"窗口"状态"列中的"警告
"图标,打开"验证CEF扩展"窗口。右键单击日志行的一部分以将键指定给该行。分配键时,线条部分的颜色会发生变化。如果日志行有效,则绿色复选标记表示已验证。 - 您还可以单击"警告详细信息
"图标以打开另一个窗口,其中列出了该特定日志行的每个警告的警告和说明。
有关如何在CEF验证工具中使用突出显示的更多信息,请参阅"了解日志行中的颜色突出显示"。
CEF验证日志视图工具栏
CEF验证日志视图工具栏包含以下内容:
- File:包含用于创建新项目,打开现有项目,在项目中打开日志文件,保存项目以及编辑项目属性的命令。
- View Header Values:单击以打开突出显示行的"查看标题值"窗口。 使用此窗口检查分配给每个日志行中组件的值是否正确。 请参阅"查看标题值"。
- Verify CEF Extension:单击以打开突出显示行的Verify CEF Extension窗口。 使用此窗口可将CEF密钥分配给日志消息中的组件。 请参阅"验证CEF扩展"。
- Help:单击可访问在线帮助和两个工作流程摘要。
CEF 验证日志视图功能区
CEF验证日志视图功能区显示以下状态和命令:
- Total Log Lines:表示日志文件中的总行数。
- Lineswith warnings:表示有错误的行。
- Go to:输入一个行号以跳到该行。
- Search by Log:搜索日志文件中的单词或短语。
- Generate Report:单击以生成新日志文件和包含更改记录的报告。 请参阅"生成CEF验证报告"。
-
Gearbutton:单击齿轮按钮以显示以下选项:
- Show Syslog Header:启用此选项以显示syslog标头(默认)。 禁用时,将隐藏syslog标头。 请参阅"突出显示日志行中的模式"。
- Show CEF Header:启用此选项以显示CEF标头(默认)。 禁用时,CEF标头将被隐藏。 请参阅"突出显示日志行中的模式"。
如果文件包含syslog和CEF标头,CEF验证工具允许您隐藏或显示以下组合:
|
显示Syslog标题已启用(显示) |
显示启用CEF标头(显示) |
|
Syslog标头已禁用(隐藏) |
显示启用CEF标头(显示) |
|
Syslog标头已禁用(隐藏) |
显示禁用CEF标头(隐藏) |
- Refresh:单击以刷新工作视图的内容。
- Modified Log View:修改日志以解决错误后,选择显示日志视图。
创建 CEF验证项目和打开 CEF 日志文件
您可以在Quick Flex Parser Tool登录页面上为CEF验证项目执行以下任务:
- 创建CEF验证项目
- 打开CEF日志文件
- 查看工作流程摘要
创建 CEF验证项目
导航:Landing page>Create New
关于:
CEF验证项目:
快速 flex 分析器工具在项目范围内执行 CEF 验证。该项目包含原始日志文件和所做更改的报告。您可以使用生成的报告作为参考, 手动对 CEF 文件进行相应的更正, 并使其适合在 flex连接器框架中使用。
流程:
创建一个新项目:
- 单击"Landing page"上的"New"以打开"新建项目"对话框。
- 选择Verify CEF Log以创建CEF验证项目。
- 在"Create New"页面中输入以下信息:
- 提供日志文件的供应商的名称
- (可选)生成日志文件的产品的名称
- (可选)版本号产品
注意:定义的供应商和产品名称会自动映射到其对应的字段。
如果未在项目开头指定这些详细信息,则可以稍后通过在日志视图中选择File>Edit Project Properties来指定它们。
- 对于CEF验证项目:如果您正在使用syslog日志文件,请选择Syslog文件。
- (可选)单击"浏览"以导航到日志文件。
如果未在项目开头选择日志文件,则可以稍后通过在日志视图中选择File>Open Log File来选择该日志文件。
注意:ForCEF验证项目:
-
CEF验证项目日志文件大小限制为100 Mb。
-
选中VerifyCEF Log复选框,并保持Syslog File复选框,以便对Syslog文件进行CEF验证。
- 单击"浏览"以导航到要存储项目工件的位置。
- 单击"创建"。日志文件将加载到日志视图中。
创建一个JSON项目文件。该文件的名称是前缀的串联,用于指示文件是属于解析器文件还是CEF验证项目(pt或CEF),供应商名称,产品名称和版本号(prefix_vendor_product_version.json)。例如,cef_ vendorXYZ_productABC_1.json或pt_vendorUVW_productDEF_1.json。
打开 CEF日志文件
导航:Log View>File>Open Log File
选择File>Open Log File。 日志文件和任何关联的项目工件都会加载到Quick Flex Parser Tool中。
当您打开新的日志文件时,系统将提示您在上传新日志时将删除您目前所做的工作。 您将收到提示,以保存原始日志文件的生成报告,因为更改的密钥可能不适用于新日志文件。 每个新的日志文件都由连接器解释,可能会产生不同的结果。 按照提示保存您对原始日志文件所做的工作。
查看工作流摘要
导航:Landing page> CEF Compliance Overview
流程:
单击Quick Flex Overview以获取Quick Flex工作流程的图形表示。
有关详细信息,请参阅CEF合规工作流程摘要
View Header Values
导航:Log View>View header values
使用 "查看标头值" 窗口检查分配给标头中组件的值。
关于:
表中的第一列包含行号。 后续列包含标头中检测到的组件的值。 单击"添加注释"以将所需的任何注释添加到表中。 您可以随时打开和编辑评论。
如果您发现要更改的任何标题组件值,则必须返回设备进行更改,重新运行日志文件,然后将其重新加载到Quick Flex Parser Tool中。
验证 CEF 扩展
导航:Log View>Verify CEF Extension 或单击 "日志视图" 面板中日志行的 "状态" 列中的 "警告" 图标。
关于:
使用 "验证 CEF 扩展" 页将 CEF 键分配给日志行的某些部分, 使其符合连接器的预期。例如, 需要整数值的键不会与字符串值关联。"验证 CEF 扩展" 页在 "原始日志" 字段和 "修改的日志行" 字段中包含日志行的副本。
您可以将现有的 CEF 密钥分配给日志行的一部分。如果看不到满足您需要的 CEF 密钥, 则可以将其标记为其他数据。
流程:
- 在Verify CEF Extension窗口的Assign KeyValues字段中,突出显示该键并右键单击该键。 显示可用的CEF键列表。 它们按相应的完整事件字段名称的顺序排序。
- 应用CEF密钥列表中的一个密钥。
- 对要在行中更正的每个键执行此操作。 关键是"="符号前面的单词。
- 目前不支持MarkasAdditionalData。
- 完成处理行中的所有组件后,单击"应用"将其应用于"日志视图"窗口中的已修改面板。 您所做的键分配将应用于具有相同模式和键值的所有行。 正确处理(验证)的行将具有绿色复选标记。
警告详情
单击"警告详细信息"图标以查看正在编辑的行的警告详细信息和说明。
- 这是一个仅查看窗口,您可以在其中查看日志行号,然后递增警告行号。 例如,对于第15行的日志,可能会有警告15.1,15.2,15.3等。
- 将此窗口与"验证CEF扩展"窗口并排打开,以查看详细信息并解决警告消息。
生成 CEF验证报告
导航:Log View>Generate Report
关于:
Quick Flex Parser Tool可以生成报告,以提供有关项目中所做更改的数据。
报告数据包括项目信息,如下所示:
- 项目的产品,供应商和版本
- 项目中使用的日志文件
- Header评论
- 扩展注释,包括日志行号,日志行和注释
- 扩展修改,包括原始和修改的日志行,受影响的日志行,新旧键的示例
报告示例:
Vendor: myVersion
Product: myProduct
Version: myVersion
Log file used: C:\Users\auser\Documents\Parser Tool Documents\Version 1.1\qfpt_ demo\cefErrorsSyslog.log Header Comments:
change device versions from 2.1 to 2.2 Extension Comments:
Line #6: suser=hello@hello.com duser=fedf@dfdf.com messg=Social Security Numbers deviceCustomNumber1=1 deviceCustomNumber1Label=MatchCount
Comment: messg wasn't cef key CEF Extension Modifications:
Example of original key pattern, using line #1: src=1.1.1.1 dst=2.2.2.2 spt=4380 dpt=80 proto=TCP
Lines numbers modified: 1,5,9
Old key: src, New key: dst
Example of modified key pattern, using line #1: dst=1.1.1.1 dst=2.2.2.2 spt=4380 dpt=80 proto=TCP
Example of original key pattern, using line #10: suser=hi@hello.com duser=fredf@dfdf.com messg=Social Facebook Numbers deviceCustomNumber1=6 deviceCustomNumber1Label=MatchCount
Lines numbers modified: 6,10
Old key: messg, New key: deviceInboundInterface
Example of modified key pattern, using line #10: suser=hi@hello.com duser=fredf@dfdf.com deviceInboundInterface=Social Facebook Numbers deviceCustomNumber1=6 deviceCustomNumber1Label=MatchCount
流程:
1. 单击日志视图中的 "生成报告" 以生成报告。
了解日志行中的颜色突出显示
在日志视图中,必须验证的行显示组件为未突出显示或以下列颜色突出显示:
解析器项目:
syslog=peach
base regex=blue
submessage=green匹配时。 否则,没有突出显示。
CEF项目:
syslog=peach
CEF header=purple
有关如何解决日志行中的警告的信息,请参阅"验证CEF扩展"。
syslog头突出显示:
|
Syslog File Selected |
Syslog File Used |
Highlighting |
|
Yes |
Yes |
Yes |
|
Yes |
No |
No |
|
No |
Yes |
No |
|
No |
No |
No |
附录 A: Arcsight 操作
下表描述了将标记映射到ArcSight事件字段时可以使用的所有操作。
主要在令牌映射到ArcSight事件字段时使用操作。
参数中的值具有以下含义:
- token_name - 令牌的名称,例如Token0,TimeToken。
- expression - 可以是令牌名称,带引号的字符串或null; 例如,TimeToken、Receipt Time、或,,。
- (string)constant-引用的字符串,例如"string constant"。
- null - 一个空值,例如,,。
-
regex_expression - 一个正则表达式。 必须括在括号中,例如(\ s +)。
注意: 快速 flex 分析器工具不支持嵌套操作。
|
操作 |
返回类型 |
定义和注释 |
|
__BASE64Decode |
String |
该参数是单个 base-64 编码字符串, 该字符串被解码为字节, 然后使用平台的默认字符集转换为字符串。 |
|
__byteArrayToIPAddress |
IPAddress |
此操作将 ipv4 或 ipv6 地址的字节数组表示形式作为参数, 并返回 ip地址对象。此操作只能用于支持 ipv6 的解析器。 |
|
__byteArrayToIPv6 |
IPAddress |
此参数返回存储为 ip过来地址对象的 ipv6 地址。使用此参数映射到事件字段或可以具有 ipv6 地址类型的其他字段。仅在不支持 ipv6 的解析器中使用此操作。对于支持 ipv6 的解析器, 请使用 _ bytearaytoip 地址操作。 |
|
__byteArrayToIPv6String |
String |
该参数返回存储在字节数组中的 ipv6 地址的字符串表示形式。 |
|
__concatenate |
String |
参数可以是文字字符串或各种类型的其他值。 结果是一个字符串,其中包含连接在一起的所有这些参数。 __concatenate("Active",protocol," Ports: ",portnum) __concatenate("CompanyName: [", CompanyName,"]") __concatenate("PF: ",PassOrBlock) |
|
__concatenateDeleting |
String |
最后一个参数是一个包含要删除的字符集的文字字符串。 其他参数可以是文字字符串或各种类型的其他值。 结果是一个字符串,它包含连接在一起的所有这些参数(除了最后一个),从非文字参数中删除指定的字符。 例如,如果参数是"Literal","Foobar"和"r"(其中第一个和第三个参数是文字的),那么结果将是"LiteralFooba"。 请注意,"Foobar"中的"r"已删除,但"Literal"中的"r"未删除。 |
|
__contains |
Boolean |
此操作搜索另一个字符串中的一个字符串, 如果找到该字符串则返回 true, 否则返回 false。例如, 像__contains(stringInWhichToSearch, stringToFind) |
|
__containsFromList |
Boolean |
此操作尝试将字符串 (在中搜索的第一个操作数) 与逗号分隔字符串列表匹配, 并在找到字符串匹配时返回 true。否则返回 false。例如, __containsFromList(stringInWhichToSearch , firstStringToFind, secondStringToFind) |
|
__convertMSDNSURL |
String |
此操作将转换窗体中的 microsoft dns url: (n)nchars(m)mchars(0) To a normal URL: nchars.mchars |
|
__createLocalTimeStampFromSecondsMicrosZone |
TimeStamp |
参数是2个长整数和一个字符串。 第一个参数是自1970年1月1日以来的秒数,而第二个参数是秒内的微秒数。 这些组合成一个TimeStamp。 如果第三个参数是有效的时区名称,则相对于该时区的1970年1月1日解释秒数。 否则使用GMT。 目前,微秒的一些精度已经丢失。 |
|
__createLocalTimeStampFromGMTSecondsMillis |
TimeStamp |
这两个参数是每个长整数。第一个是自 1970年1月1日 gmt 以来的秒数, 第二个是第二个 gmt 内的毫秒数。它们被合并成一个时间戳。__ createLocalTimeStampFromGMTSecondsMillis(tv_sec,tv_ msec) |
|
__createLocalTimeStampFromGMTSecondNanoseconds |
TimeStamp |
这两个参数是每个长整数。第一个是自1970年1月1日格林尼治标准时间以来的秒数, 第二个是第二个秒内的纳秒数。它们被合并成一个时间戳。目前, 纳秒的一些精度已经丢失。 |
|
__createLocalTimeStampFromNanoSeconds |
TimeStamp |
该参数是一个长整数。它是自1970年1月1日格林尼治标准时间以来的纳秒数。它被转换为时间戳。目前, 纳秒的一些精度已经丢失。 |
|
__createLocalTimeStampFromNTP |
TimeStamp |
该参数是一个字符串。它应包含自 1970年 gmt 以来小数点前的秒数, 以及小数点后的微秒数。它们被合并成一个时间戳。 |
|
__createLocalTimeStampFromSecondsSinceEpoch |
TimeStamp |
该参数是单个长整数, 即自 1970年1月1日 gmt 以来的秒数。它被转换为时间戳, 小数秒设置为零。 __createLocalTimeStampFrom SecondsSinceEpoch(srcTimestamp) |
|
__createOptionalTimeStampFromString |
TimeStamp |
参数是两个字符串。第一个字符串是默认情况下在 yyyyy-MM-dd HH:mm:ss 格式中指定的日期和时间。第二个可选参数指定第一个字符串的格式 (如果它需要与默认值不同)。如果第一个字符串的值为 null, 则不会映射任何内容。否则, 将使用为第二个参数指定的格式 (如果存在) 或默认格式映射值。 |
|
__createRuleFiringInfo |
String |
此操作采用任意数量的参数。每个都可以是文本字符串, 也可以是其他类型的值。结果只是将参数连接在一起作为一个长字符串, 在参数之间用逗号。不是文本字符串的参数将转换为字符串。 |
|
__createSafeLocalTimeStamp |
TimeStamp |
第一个参数是一个字符串, 它是要分析的日期时间, 而第二个参数是一个文本字符串, 它是一种格式 (与日期、时间和时间戳标记的格式相同)。该字符串将被解析并作为时间戳返回。大多数错误都会导致返回当前时间。 |
|
__createTimeStamp |
TimeStamp |
第一个参数是 "日期", 第二个参数是 "时间"。它们被合并为一个返回的单一时间戳。一切都被认为是在当地时间。 __createTimeStamp(date,time) |
|
__createTimeStampByHexEncodedTime |
TimeStamp |
该参数是一个由12个十六进制数字组成的字符串, 每年各 2个 (0 表示 1970)、月 (0-11)、天 (131)、hou (0-11)、分钟 (0-11) 和秒 (0-11)。毫秒隐式设置为零, 数字被解释为本地时间。返回生成的时间戳。 |
|
__createTimeStampByStartTimeElapsed |
TimeStamp |
参数为2个字符串。第一个是 ddMMyyyyy:mm 格式的开始时间, 而第二个是以 HH:mm:ss 格式运行的时间。结果是结束时间的时间戳, 假设开始时间是本地时间。 |
|
__createTimeStampForOpsecStartTime |
TimeStamp |
该参数是ddMMMyyyy中的单个字符串 HH:mm:ss格式。 它被解析并产生 返回TimeStamp,解释为本地时间。 |
|
__createTimeStampStringFromSecondsMicros |
String |
参数为2个长整数。第一个参数是自 1970年1月1日 gmt 以来的秒数, 第二个参数是第二个参数内的微秒数。这些组合到一个时间戳中, 然后合并成一个字符串。微秒的一些精度目前已经丢失。 |
|
__currentTimestampInSeconds |
Long |
任何参数都将被忽略。当前时间 (表示为自 1970年1月1日 gmt 以来的秒数) 将作为一个长整数返回。 |
|
__divide |
Integer |
第一个参数是分子, 第二个参数是分母。结果是一个整数, 其中的分子值除以分母, 四舍五入到最接近的整数。 |
|
__doubleToAddress |
IPAddress |
这与数字 to-地址操作相同, 只是该参数是双精度浮点数。 __doubleToAddress(DestIP) |
|
__extractNTDomain |
String |
唯一的参数是一个字符串。如果它包含反斜杠, 则返回字符串中最多但不包括该反斜杠的部分。否则, 将返回整个字符串。 |
|
__extractNTUser |
String |
唯一的参数是窗体 "domain \ user" 中的字符串, 其中域是 nt 域, 用户是 nt 用户名。返回用户名。如果字符串中没有反斜杠, 则返回它将保持不变。 |
|
__extractProtocol |
String |
唯一的参数是一个字符串。如果字符串包含任何定义的协议字符串 (tcp、icmp、udp、igmp 或 rtsp), 则只返回该字符串 (搜索不区分大小写, 并返回找到的第一个协议)。如果找不到任何协议字符串, 则返回整个字符串。 |
|
__firstOfPositiveInteger |
Integer |
此操作采用任意数量的整数参数。返回第一个为正的。如果未找到任何正参数, 则返回 null。 |
|
__foundScanHostName |
String |
在大多数情况下, 将返回主机名。例外的是, 如果字符串为 "[未知]", 则返回 null。 |
|
__getCVEStringFor |
String |
唯一的参数是字符串,它应该是CVE标识符。 返回的是"CVE | id",其中id是标识符。 请注意,分隔符是垂直条。 |
|
__getDeviceDirection |
Enumeration (Integer) |
唯一的参数是字符串。 如果它是定义的入站字符串之一(例如,"in"或"incoming"),则返回入站常量(0)。 如果它是定义的出站字符串之一(例如,"outbound"或"=>"),则返回出站常量(1)。 否则返回未知常量(Integer.MIN_VALUE, - 2147483648)。 |
|
__getIPv4AddressEmbeddedInIPv6Address |
IPAddress |
该操作提取并返回嵌入在IPv6地址中的IPv4地址。 返回参数是IPv4地址。 输入参数是字节数组格式的IPv6地址。 要将IPv4地址分配给非IPv6感知解析器中的IPv4地址事件字段: __getIPv4AddressEmbeddedInIPv6Address (__ stringToIPv6Address ("::ffff:10.14.11.140")) |
|
__getIpV6AddressFromHighLow |
String |
此运算符采用由十进制数组成的两个字符串参数,并返回IPv6地址的字符串表示形式。 这些数字是IPv6地址的前四个和后四个段的十进制表示。 |
|
__getLongMACAddressByHexString |
MacAddress |
该参数是一个12个字符的十六进制字符串,转换为MAC地址。 |
|
__getLongMACAddressByString |
MacAddress |
唯一的参数是字符串。 它是一个MAC地址,是一个由冒号或短划线分隔的6部分十六进制地址。 它被退回。 |
|
__getManhuntPriority |
String |
这两个参数都是长整数,第一个表示严重性,第二个表示可靠性。 结果是一个包含两个值的乘积的字符串,除以256。 |
|
__getNormalizedOS |
String |
唯一的参数是字符串。 在来自AUP文件的地图中查找此字符串。 如果找到,则返回结果。 否则返回"/ Operating System / param"形式的字符串,其中param是参数字符串,任何斜线都用短划线替换。 例如,"OS / 2"将变为"/ Operating System / OS-2"(除非OS / 2出现在os.mappings.csv映射中,在这种情况下将返回该值)。 |
|
__getNotZeroPort |
Integer |
唯一的参数是字符串。 如果它为null,不是有效整数或零,则返回null。 否则(它是一个有效的非零整数),返回数值。 |
|
__getOriginator |
Enumeration (Integer) |
唯一的参数是字符串。 如果字符串是"Source",则结果是源常量(0)。 如果字符串是 "目的地",结果是目的地常数(1)。 否则返回未知常量(Integer.MIN_VALUE,2147483648)。 |
|
__getOriginatorFromSourcePort |
Enumeration (Integer) |
参数是Integer(端口号)和文字整数。 如果两者都不为null且端口小于第二个(文字)参数中指定的限制,则返回目标常量(1)。 否则返回源常量(0)。 |
|
__getProtocolName |
String |
唯一的参数是Integer,它将转换为匹配协议的字符串,如RFC 1700中所定义。如果参数为null,则返回null。 如果参数超出范围,则数字本身将作为字符串返回。 |
|
__getProtocolNameFromString |
String |
此操作类似于getProtocolName操作,但参数是字符串而不是整数。 如果字符串不包含有效整数,则返回不变的字符串。 |
|
__hexStringToAddress |
IPAddress |
这与noDotStringFormatToAddress操作类似,不同之处在于参数是十六进制的。 换句话说,它应该是8个十六进制数字,其中每组2个数字是IP地址的一部分,零填充且没有点。 例如,"C0A80A0C"将成为IP地址192.168.10.12。 仅对IPv4和IPv6地址的IPv6感知解析器使用此操作。 |
|
__hexStringToLong |
Long |
一个字符串参数表示十六进制值。 如果它以'0x'或'$'开头,那么在解析值之前会删除它们。 结果以长整数形式返回。 |
|
__hexStringToIPV6Address |
IPAddress |
对于不支持IPv6的解析器,此运算符将由十六进制数字组成的32个字符的字符串作为输入,并将其转换为IPv6地址。 如果长度为8个字符,就像IPv4地址一样,则返回值为null。 任何其他输入大小都会导致异常。 对于支持IPv6的解析器,此操作已过时,不应使用。 |
|
__hexStringToString |
String |
参数是单个字符串,应包含十六进制数字。 它被转换为一个字节数组(每个字节两个十六进制数字),然后使用UTF-8编码(RFC 3629)将其转换为字符串。 如果输入为null,则结果也为null。 |
|
__hourMinuteSecondsToSeconds |
Long |
参数是单个字符串,格式为HH:mm:ss。 持续时间转换为秒并返回。 |
|
__ifAorBThenElse |
String |
有五个参数。 每个都可以是文字字符串或常规字符串(尽管其他类型转换为字符串)。 如果第一个参数等于第二个参数或第一个参数等于第三个参数,则返回第四个参数。 否则,返回第五个参数。 |
|
__ifGreaterOrEqual |
String |
这四个参数是字符串。 如果前两个参数中的任何一个为null,则返回null并记录错误。 否则,将这两个参数解析为整数并进行比较。 任何解析错误都将值视为零。 如果第一个参数在数值上大于第二个参数,则返回第三个参数。 否则,返回第四个参数。 |
|
__ifPositive |
String |
有三个参数。 如果第一个(整数)操作数为正,则返回第二个(字符串)操作数; 否则,返回第三个(字符串)操作数。 |
|
__ifThenElse |
String |
有四个参数。 每个都可以是文字字符串或常规字符串(尽管其他类型转换为字符串)。 比较前两个参数,如果它们相等,则返回第三个参数作为结果。 否则(如果前两个参数不同),则返回第四个参数。 |
|
__ifThenElseAddress |
IPAddress |
有四个参数。 前两个参数是字符串。 比较前两个参数,如果它们相等,则返回第三个参数作为结果。 否则(如果前两个参数不同),则返回第四个参数。 |
|
__ifTrueThenElse |
String |
有三个参数。 第一个是布尔值(true或false),如果为true,则返回第二个参数; 如果布尔值为false,则返回第三个参数。 |
|
__integerConstant |
Integer |
该参数是单个文字整数,返回。 如果传递的是不是有效整数的文字字符串,则返回null。 |
|
__integerToLong |
Long |
该参数是一个整数,转换为长整数并返回。 如果参数为null,则返回值也是如此。 |
|
__length |
Integer |
此操作检索操作数字符串的长度。 |
|
__longToDot4QuadAddress |
String |
该参数是单个长整数,它以与numberToAddress操作相同的方式转换为IP地址,但随后转换为4部分虚线字符串。 例如,16909060将成为字符串"1.2.3.4"。 |
|
__longToInteger |
Integer |
该参数是一个长整数,转换为整数(可能截断它)并返回。 如果参数为null,则返回值也是如此。 |
|
__longToString |
String |
此操作返回长对象的字符串表示形式。 可选的第二个操作数是基数(整数,最小值为2)。 可选的第三个操作数是最小长度(整数,最小值为0),如果需要实现最小长度,结果将用零填充左边。 这在使数字与字符串相当时很有用。 |
|
__longToTimeStamp |
TimeStamp |
该参数是一个长整数,是GMT 1970年1月1日以来的毫秒数。 它被转换为TimeStamp。 |
|
__noDot4QuadStringsToAddress |
IPAddress |
参数是4个字符串,每个字符串都是十进制数字,并且按正常顺序排列IP地址。 例如,字符串"192","168","10","12"将成为IP地址192.168.10.12. __noDot4QuadStringsToAddress (src_ip1,src_ ip2,src_ip3,src_ip4) |
|
__noDotStringFormatToAddress |
IPAddress |
该参数是一个12位十进制数字的字符串,其中每组3位数字是IP地址的一部分,零填充且没有点。 例如,"192168010012"将成为IP地址192.168.10.12。 |
|
__numberToAddress |
IPAddress |
该参数是单个长整数,它被转换为IP地址,其中最重要的字节对应于地址的最右边部分。 例如,16909060将成为IP地址1.2.3.4。 __numberToAddress(IPAddress) |
|
__oneOf |
String |
此操作采用任意数量的标记名称或表达式。 每个都可以是文字字符串或常规字符串。 返回第一个非null而不是zerolength的。 |
|
__oneOfAddress |
IPAddress |
对于不支持IPv6的解析器,此操作仅返回第一个非空IPv4地址。 对于支持IPv6的解析器,此操作将返回第一个非空IPv4或IPv6地址。 |
|
__oneOfDateTime |
TimeStamp |
参数是任意数量的TimeStamp标记。 返回第一个非空的标记。 |
|
__oneOfHostName |
String |
对于非IPv6感知解析器,此操作与oneOf操作类似,但跳过任何看起来像IP地址的参数(4个十进制数字,由3个句点分隔)。 对于支持IPv6的解析器,此操作与oneOf操作类似,但跳过任何看起来像IPv4或IPv6地址的参数。 |
|
__oneOfInteger |
Integer |
这类似于oneOf操作,但结果将被解析为整数并返回。 如果该值不是有效数字,则返回null。 |
|
__oneOfLong |
Long |
这与oneOf操作类似,但结果将被解析为长整数并返回。 如果该值不是有效数字,则返回null。 |
|
__oneOfMac |
MacAddress |
这类似于oneOf操作,但结果被解析为MAC地址(六个八位字节的十六进制表示,用冒号分隔)并返回。 例如,00:08:74:4C:7F:1D。 如果该值不是有效的MAC地址,则返回null。 |
|
__oneOfNetBIOSName |
String |
这类似于oneOf操作,除了在返回结果之前删除一个或两个前导反斜杠(如果存在)。 |
|
__parseMultipleTimeStamp |
TimeStamp |
第一个参数是包含时间戳值的令牌名称,以字符串形式传递。 如果为null,则返回null。 否则,第二个和任何其他参数是包含常量时间戳格式的令牌名称(如Java的SimpleDateFormat类所定义)。 它们用于尝试解析第一个参数。 在没有抛出异常的情况下,第一个工作的结果将作为TimeStamp返回。 如果所有格式都不起作用,则抛出异常。 |
|
__parseMutableTimeStamp |
TimeStamp |
该参数是单个字符串,可以采用以下格式之一: MMM dd HH:mm:ss MMM dd HH:mm:ss.SSS zzz MMM dd HH:mm:ss.SSS MMM dd HH:mm:ss zzz MMM dd yyyy HH:mm:ss MMM dd yyyy HH:mm:ss.SSS zzz MMM dd yyyy HH:mm:ss.SSS MMM dd yyyy HH:mm:ss zzz 如果在成功之前调用了此操作,则首先尝试相同的格式。 如果使用前四种格式之一(不包括一年),则按照setYearToCurrentYear操作的描述更改年份。 如果没有格式工作,则会向日志写入致命错误并返回null。 |
|
__parseMutableTimeStampSilently |
TimeStamp |
这与_parseMutableTimeStamp操作相同,只是当没有格式工作时,不会向日志写入致命错误。 |
|
__parseSignedLong |
Long |
这与safeToLong操作相同,只是允许使用前导"+"符号。 |
|
__product |
Integer |
每个参数都是整数变量或字符串常量,可以是浮点值。 结果是一个整数,其参数的乘积值乘以一起并四舍五入到最接近的整数。 |
|
__regexToken |
String |
此操作将两个字符串作为参数。 第一个是要解析的字符串。 第二个是正则表达式(文字字符串)。 如果正则表达式为空或null,则结果与第一个参数相同。 否则,使用正则表达式解析要解析的字符串,并将第一个匹配组(括号内的表达式)作为字符串返回。 例如,如果参数是"foobar"和"fo +(o。*)(r)",则结果将是"oba"。 __regexToken(proto,".*?/(.*)") |
|
__regexTokenAsAddress |
IPAddress |
对于不支持IPv6的解析器,此操作类似于regexToken操作:它接受两个字符串参数,然后将结果(预期为四部分点分十进制格式)从字符串转换为IP地址。 也就是说,如果参数是"foo / 192.168.10.12 / bar"和"[a-z] + \ /([0- 9 \。] +)\ / bar",结果将是IP地址192.168.10.12。 __regexTokenAsAddress (dst,"(.*?)[: ].*") 对于支持IPv6的解析器,此操作可以返回IPv4和IPv6地址。 |
|
__regexTokenAsInteger |
Integer |
这类似于regexToken操作,也使用2个字符串参数,但结果然后从字符串转换为整数(如果它不是有效数字,则返回null)。 __regexTokenAsInteger (port,".*?:(\\d+)") __regexTokenAsInteger (dst,".*?:(\\d+)[: ].*") |
|
__regexTokenAsLong |
Long |
这类似于regexToken操作,也使用2个字符串参数,但结果然后从字符串转换为长整数(如果它不是有效数字则为null)。 |
|
__regexTokenFindAndJoin |
String |
有五个字符串参数。 第一个参数是要处理的字符串。 第二个是具有至少一个捕获组的正则表达式。 第三个是可选的连接分隔符。 第四个和第五个分别是可选字符串,用于预先添加和附加到最终结果。 该操作重复尝试在要处理的字符串中查找正则表达式,每次从最后一次找到正则表达式的末尾开始。 每次找到它时,正则表达式中的捕获组将添加到结果中,并在它们之间使用连接分隔符。 最后,如果它们不为null,则添加prepend和append字符串。 |
|
__regexTokenNoWarning |
String |
此操作与regexToken操作类似。 主要区别在于:1)正则表达式必须匹配整个字符串,而不仅仅是在其中找到,2)如果正则表达式不匹配,则不记录警告。 |
|
__replaceAll |
String |
这三个参数都是字符串。 第一个是起始字符串,第二个是正则表达式,第三个是替换字符串。 在起始字符串中找到的正则表达式的每个位置都替换为替换字符串,并返回结果。 请注意,替换字符串可以包含对正则表达式中捕获组的引用,形式为"$ n",其中n为0到9。 |
|
__replaceFirst |
String |
这三个参数都是字符串。 第一个是起始字符串,第二个是正则表达式,第三个是替换字符串。 在起始字符串中找到正则表达式的第一个位置,它由替换字符串替换,并返回结果。 请注意,替换字符串可以包含对正则表达式中捕获组的引用,形式为"$ n",其中n为0到9。 |
|
__reverseDottedDecimalAddress ByteOrder |
String |
该参数是作为字符串传递的IP地址,必须具有正好3个点字符。 结果是以字符串形式返回的IP地址,但按顺序颠倒了4个部分。 例如,传递'2.1.168.192'将导致返回'192.168.1.2'。 |
|
__safeToDate |
TimeStamp |
此操作与createOptionalTimeStampFromString操作类似,不同之处在于如果发生错误,则返回null。 |
|
__safeToInteger |
Integer |
参数是单个字符串,它将转换为整数,如果字符串不是有效数字,则为null。 对于使用" - "指定整数字段(例如Microsoft Windows XP SP2 Personal Firewall)上的空值的日志格式很有用。 __safeToInteger(bytes) __safeToInteger(srcPort) |
|
__safeToLong |
Long |
参数是单个字符串,转换为长整数,如果字符串不是有效数字,则返回null。 __safeToLong(time_taken) |
|
__safeToRoundedLong |
Long |
该参数是一个字符串,它被解析为一个数字(可以有一个小数部分),然后四舍五入到最近的长整数并返回。 如果字符串不是有效数字,则返回null。 |
|
__setYearToCurrentYear |
TimeStamp |
该参数是单个TimeStamp,其年份被强制设置为当前年份加上或减去1(部分取决于syslog.future.limit属性)。 这用于没有定义年份的TimeStamps。 |
|
__signedNumberToAddress |
IPAddress |
该参数是一个长整数,作为IP地址返回,但字节顺序反转。 |
|
__simpleMap |
String |
有n + 1或n + 2参数。 第一个参数是要在地图中查找的字符串。 接下来的n个参数是地图,以字符串文字的形式,每个字符串文字都有一个键,一个等号和一个值。 如果键与第一个参数匹配,则返回该键的值。 如果最终参数是单个字符,则将其用作分隔符而不是等号。 例如,如果参数是(除了第一个之外的所有文字):"Foo","Bar = 17","Foo = 34",则返回值将为"34"。 如果没有键匹配,则返回null。 __simpleMap(FileInfected,"0=No", "1=Yes","=") __simpleMap(Type,"8=Success", "16=Failure") |
|
__split |
String |
此操作需要三个参数。 第一个是要拆分的字符串(一个字符串)。 第二个是分隔符(文字字符串)。 第三个是索引(一个字面整数)。 如果分隔符或索引为空或null,则结果与第一个参数相同。 否则,要分割的字符串将在分隔符的出现位置拆分,并返回index'th字符串。 例如,如果参数是"要拆分的字符串",""(空格)和"2",则结果将为"字符串"。 |
|
__splitAsAddress |
IPAddress |
对于不支持IPv6的解析器,此操作类似于拆分操作:它需要三个字符串参数,然后将结果(预期为四部分点分十进制格式)从字符串转换为IP地址。 也就是说,如果参数是"foo / 192.168.10.12 / bar","/"和2,则结果将是IP地址192.168.10.12。 对于支持IPv6的解析器,此操作会将结果转换为IPv4或IPv6地址。 |
|
__splitAsInteger |
Integer |
这类似于拆分操作,也使用3个字符串参数,但结果然后从字符串转换为整数(如果它不是有效数字,则返回null)。 |
|
__splitAsLong |
Long |
这类似于拆分操作,也使用3个字符串参数,但结果然后从字符串转换为长整数(如果它不是有效数字,则为null)。 |
|
__stringConstant |
String |
这需要一个字符串文字参数,并返回它。 __stringConstant("Example") |
|
__stringToIPv6Address |
IPAddress |
在不支持IPv6的解析器中,此操作将IPv6地址的字符串表示形式作为输入,并返回IPv6地址类型的值。 不应在支持IPv6的解析器中使用此操作。 而是使用IP地址令牌解析器或直接将IPv6地址字符串映射到事件字段。 |
|
__stringTrim |
String |
该参数是一个字符串,返回时删除了任何前导或尾随空白字符。 |
|
__subtract |
Integer |
这两个参数必须是整数变量,或者可以是浮点值的字符串常量。 结果是一个整数,第一个参数的值减去第二个参数并四舍五入到最接近的整数。 |
|
__sum |
Integer |
每个参数必须是整数变量,或者可以是浮点值的字符串常量。 结果是一个整数,其中参数总和的值加在一起并四舍五入到最接近的整数 |
|
__toHex |
String |
参数是一个长整数和一个文字整数。 第一个参数的值转换为十六进制并返回,填充到第二个参数指定的位数,并以"0x"开头。 请注意,奇数长度向下舍入,如果指定的长度不足,则第一个参数的某些位将丢失。 例如,参数为65535和8,结果为"0x0000FFFF"。 使用65535和3的参数,结果为"0xFF"(3向下舍入为2,并且65535的高位丢失)。 |
|
__toLongTimeStamp |
Long |
该参数是单个字符串,是yyyy-MM-dd HH:mm:ss格式的日期和时间。 解析该字符串,将其解释为本地时间,并将返回的结果日期作为自格林威治标准时间1970年1月1日以来的长整数毫秒数。 |
|
__toLowerCase |
String |
该参数是单个字符串,转换为小写并返回。 __toLowerCase(protocol) |
|
__toUpperCase |
String |
该参数是单个字符串,转换为大写并返回。 __toUpperCase(protocol) |
|
__useCurrentYear |
TimeStamp |
该参数是单个TimeStamp,返回时其年份更改为当前年份。 计算在当地时区完成,这将影响年底附近的结果。 __useCurrentYear(date) |
注意:
1.对于__ifThenElse操作,可以替换以下任何操作:token_ name |"constant"| operation | regex_expression | null。
"图标,打开"验证CEF扩展"窗口。右键单击日志行的一部分以将键指定给该行。分配键时,线条部分的颜色会发生变化。如果日志行有效,则绿色复选标记表示已验证。
"图标以打开另一个窗口,其中列出了该特定日志行的每个警告的警告和说明。
浙公网安备 33010602011771号