UDP Source

支持的管道类型:

  •  Data Collector

UDP Source源从一个或多个UDP端口读取消息。要将多个线程用于管道处理,请使用UDP Multithreaded Source。有关两个来源之间差异的讨论,请参见比较UDP Source源。

UDP Source为每条消息生成一条记录。UDP Source 可以处理收集的消息,NetFlow 5和NetFlow 9消息以及以下类型的syslog消息:

  • RFC 5424
  • RFC 3164
  • 非标准通用消息,例如没有版本数字的RFC 3339日期

在处理NetFlow消息时,该阶段会根据NetFlow版本生成不同的记录。处理NetFlow 9时,将基于NetFlow 9配置属性生成记录。有关更多信息,请参见NetFlow数据处理。

源也可以读取二进制或基于字符的原始数据。

配置UDP Source时,可以指定要使用的端口以及批处理大小和等待时间。当epoll可用时,您可以指定用于增加数据包到管道吞吐量的接收器线程数。

您还可以为数据指定数据格式,然后配置所有相关属性。

处理原始数据

使用“Raw/Separated Data”数据格式可以使UDP Source源从二进制或基于字符的原始数据生成记录。

处理原始数据时,源可以为其接收的每个UDP数据包生成一条记录。或者,如果指定分隔符,则源端可以从每个UDP数据包生成多个记录。

生成多个记录时,可以指定多个值的行为:一个仅包含第一个值的记录,一个包含所有值作为列表的记录,或每个值包含一个记录的多个记录。

您可以选择指定用于数据的输出字段。如果未指定,则源端将原始数据写入根字段。

您可以使用“Raw/Separated Data”数据格式将原始数据写入到一个字段中,然后使用Data Parser处理器对其进行处理。这使您可以保留原始数据以供其他使用。

接收线程

接收器线程用于将数据从UDP源系统传递到源端。默认情况下,源使用单个接收器线程。

当Data Collector在启用了epoll的计算机上运行时,可以将UDP Source源配置为使用其他接收器线程。Epoll需要本机库,并且仅在Data Collector在最新版本的64位Linux上运行时才可用。启用多个接收器线程时,可以同时增加可以传递到源端的数据量。

若要使用其他接收方线程,请选择“Use Native Transports (epoll)”属性,然后配置“Number of Receiver Threads”。

配置UDP Source

配置UDP Source源以处理来自UDP Source的消息。

  1. 在“Properties”面板的“General选项卡上,配置以下属性:
    一般属性 描述
    Name 阶段名。
    Description 可选说明。
    On Record Error 该阶段的错误记录处理:

    • Discard-放弃记录。
    • To Error-将记录发送到管道以进行错误处理。
    • Stop Pipeline-停止管道。
  2. 在“UDP”选项卡上,配置以下属性:
    UDP属性 描述
    Port 侦听数据的端口。使用简单或批量编辑模式,单击 添加图标以列出其他端口。

    要侦听低于1024的端口,必须由具有root特权的用户运行Data Collector。否则,操作系统不允许Data Collector绑定到端口。

    注意:没有其他管道或进程已经可以绑定到侦听端口。侦听端口只能由单个管道使用。
    Use Native Transports (epoll) 指定是否对每个端口使用多个接收器线程。使用多个接收器线程可以提高性能。

    您可以使用epoll来使用多个接收器线程,当Data Collector在最新版本的64位Linux上运行时,该线程可以使用。

    Number of Receiver Threads  每个端口要使用的接收器线程数。例如,如果您为每个端口配置2个线程,并将源配置为使用3个端口,则源总共使用6个线程。

    当epoll在Data Collector计算机上可用时,用于增加将数据传递到源端的线程数。

    默认值为1。

    Data Format UDP传递的数据格式:

    • collectd
    • NetFlow
    • syslog
    • Raw/separated data
    Max Batch Size (messages) 批量包含并一次通过管道的最大消息数。接受的值最高为 Data Collector的最大批处理大小。

    默认值是1000。

    Batch Wait Time (ms) 发送部分或空批次之前要等待的毫秒数。
    Packet Queue Size  要保留在数据包队列中以进行处理的最大数据包数。
    Number of Worker Threads  源端用来执行管道处理的线程数。
  3. 在“syslog选项卡上,定义数据的字符集。
  4. 在“collectd选项卡上,定义以下collectd的属性:
    collectd属性 性质
    TypesDB File Path 用户提供的types.db文件的路径。覆盖默认的types.db文件。
    Convert Hi-Res Time & Interval 将收集的高分辨率时间格式间隔和时间戳转换为UNIX时间(以毫秒为单位)。
    Exclude Interval 从输出记录中排除间隔字段。
    Auth File 可选身份验证文件的路径。使用认证文件接受签名和加密的数据。
    Charset 数据的字符集。
  5. 对于raw data,在“Raw/Separated Data选项卡上,定义以下属性:
    原始/分隔数据属性 描述
    Data Separator 可选的数据分隔符,用于将UDP数据包分隔为多个值。使用Java Unicode语法\u<字符代码>指定字节文字。

    例如,默认换行符表示为: \u000A

    Raw Data Mode 要处理的原始数据类型:二进制或字符串数​​据。
    Charset 字符串数据使用的字符集。
    Output Field Path 原始数据的可选输出字段。当不使用原始数据时,源端会将原始数据写入根字段。
    Multiple Values Behavior

    当数据分隔符中的数据从UDP数据包生成多个值时采取的操作:

    • First Value Only-返回带有第一个值的一条记录。
    • All Values as a List-返回一条记录,其中所有值都在列表中。
    • Split into Multiple Records-返回多个记录,每个值一个记录。
  6. 对于NetFlow 9数据,在NetFlow 9选项卡上,配置以下属性:

    处理早期版本的NetFlow数据时,将忽略这些属性。

    Netflow 9属性 描述
    Record Generation Mode 确定要包含在记录中的值的类型。选择以下选项之一:

    • Raw Only
    • Interpreted Only
    • Both Raw and Interpreted
    Max Templates in Cache 模板缓存中存储的最大模板数。有关模板的更多信息,请参见缓存NetFlow 9模板。

    对于无限的缓存大小,默认值为-1。

    Template Cache Timeout (ms) 缓存空闲模板的最大毫秒数。超过指定时间未使用的模板将从缓存中逐出。有关模板的更多信息,请参见 缓存NetFlow 9模板。

    无限期缓存模板的默认值为-1。