packetbeat配置分析

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 packetbeat配置分析,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

packetbeat配置分析

packetbeat

interface

device

要从中捕获流量的网络设备。指定的设备会自动设置为混杂模式,这意味着 Packetbeat 可以捕获来自同一 LAN 上其他主机的流量。

当接口为any时,不会为混杂模式。

支持设备编号,可以通过列出所有设备来选择相应的编号。

也可以通过配置这会将捕获设备设置为与 Packetbeat 启动时识别的第一个默认路由相关联的设备。default_route将从 IPv4 或 IPv6 中选择第一个默认路由,并优先选择 IPv4 路由,而只会从指定的设备中进行选择。选择的接口在选择后不会改变。

snaplen

要捕获的数据包的最大大小。默认值为 65535,对于几乎所有网络和接口类型都足够大。如果您嗅探物理网络接口,最佳设置是 MTU 大小。但是,在虚拟接口上,接受默认值会更安全。

type

  • pcap:它使用 libpcap 库并适用于大多数平台,但它不是最快的选择,也是默认的选项。
  • af_packet:它使用内存映射嗅探。此选项比 libpcap 更快,并且不需要内核模块,但它是特定于 Linux 的。

该选项也称为“内存映射嗅探”,它利用了 Linux 特定的 。对于专用服务器和在现有应用程序服务器上部署 Packetbeat 时,这可能是最佳嗅探模式。

它的工作方式是内核和用户空间程序都映射同一个内存区域,并且在这个内存区域中组织了一个简单的循环缓冲区。内核将数据包写入循环缓冲区,用户空间程序从中读取。poll 系统调用用于获取第一个可用数据包的通知,但剩余的可用数据包可以通过内存访问简单地读取。

可以进一步调整嗅探器以使用更多内存以换取更好的性能。循环缓冲区的大小越大,需要的系统调用就越少,这意味着消耗的 CPU 周期就越少。缓冲区的默认大小为 30 MB,但您可以像这样增加它:

packetbeat.interfaces.device: eth0
packetbeat.interfaces.type: af_packet
packetbeat.interfaces.buffer_size_mb: 100

在 Linux 上,如果您尝试优化 Packetbeat 的 CPU 使用率,我们建议您尝试该选项。

如果您使用嗅探器,您可以通过指定以下选项来调整其行为:

buffer_size_mb

在内核和用户空间之间使用的共享内存缓冲区的最大大小。更大的缓冲区通常会降低 CPU 使用率,但会消耗更多内存。此设置仅适用于 嗅探器类型。默认值为 30 MB。

packetbeat.interfaces。设备:eth0 
packetbeat.interfaces。类型:af_packet 
packetbeat.interfaces。buffer_size_mb:100

auto_promisc_mode

Packetbeat在启动时会自动将接口置于混杂模式。此选项不适用于接口设备。默认选项为 false,需要手动设置混杂模式。警告:在某些情况下(例如节拍崩溃),即使在节拍关闭后,混杂模式仍可保持启用状态。

packetbeat.interfaces.device: eth0
packetbeat.interfaces.type: af_packet
packetbeat.interfaces.buffer_size_mb: 100
packetbeat.interfaces.auto_promisc_mode: true

with_vlans

Packetbeat 会自动生成一个 ,用于仅捕获它希望找到已知协议的端口上的流量。例如,如果您为 HTTP 配置了端口 80,为 MySQL 配置了端口 3306,Packetbeat 会生成以下 BPF 过滤器:.

但是,如果流量包含 标记,则 Packetbeat 生成的过滤器无效,因为偏移量移动了四个字节。要解决此问题,您可以启用该选项,该选项会生成如下所示的 BPF 过滤器

bpf_filter

Packetbeat 会自动生成一个 ,用于仅捕获它希望找到已知协议的端口上的流量。例如,如果您为 HTTP 配置了端口 80,为 MySQL 配置了端口 3306,Packetbeat 会生成以下 BPF 过滤器:.

packetbeat.interfaces.device: eth0
packetbeat.interfaces.bpf_filter: "net 192.168.238.0/0 and port 80 or port 3306"

注意:设置此项将会禁用 BPF 过滤器的自动生成。如果您使用此设置,您有责任使 BPF 过滤器与本节中定义的端口保持同步。

internal_networks

如果指定了该选项,则在监控网络分路器或镜像端口时,Packetbeat 将尝试对与网络边界相关的不打算用于此主机的流量的网络方向性进行分类。中指定的任何 CIDR 块都被视为外围的内部,而落在这些 CIDR 块之外的任何 IP 地址都被视为外部。

当 Packetbeat 在位于网络边界(例如防火墙或 VPN)的设备上运行时,这很有用。请注意,这只影响网络流量的方向性如何分类。

ignore_outgoing

多台机器删除重复项

Flow

enabled

如果设置为 true,则启用流支持。设置为 false 以禁用网络流支持,而无需删除或注释掉流部分。默认值是true。

timeout

超时配置流的生命周期。如果在超时时间窗口内没有收到流的数据包,则流被终止并报告。默认值为 30 秒。

period

配置报告间隔。所有流量都在同一时间点报告。可以通过将值设置为 -1 来禁用定期报告。如果禁用,流在超时后仍会报告。默认值为 10 秒。

fields

您可以指定用于向输出添加附加信息的可选字段。例如,您可以添加可用于过滤日志数据的字段。字段可以是标量值、数组、字典或这些的任何嵌套组合。默认情况下,您在此处指定的字段将分组在输出文档中的子字典下。要将自定义字段存储为顶级字段,请将选项设置为 true。如果在通用配置中声明了重复字段,则其值将被此处声明的值覆盖。

fields_under_root

如果此选项设置为 true,则自定义 将作为顶级字段存储在输出文档中,而不是分组在子字典下。如果自定义字段名称与 Packetbeat 添加的其他字段名称冲突,则自定义字段会覆盖其他字段。

tags

将与协议事件一起发送的标签列表。此设置是可选的。

processors

应用于协议生成的数据的处理器列表。

有关在配置中指定处理器的信息,请参阅​

keep_null

如果此选项设置为 true,则具有值的字段将在输出文档中发布。默认情况下,设置为。

index

覆盖流事件发布到的索引。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/137605.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!