Logstash Netflow 模块
编辑Logstash Netflow 模块
编辑在 7.4.0 版本中已弃用。
已替换为 Filebeat Netflow 模块,该模块符合 Elastic 通用模式 (ECS)
Logstash Netflow 模块简化了网络流数据的收集、规范化和可视化。只需一个命令,该模块即可解析网络流数据,将事件索引到 Elasticsearch 中,并安装一套 Kibana 仪表板,让您可以立即开始探索数据。
Logstash 模块支持 Netflow 版本 5 和 9。
什么是流数据?
编辑Netflow 是一种从具备功能的网络设备流式传输的数据记录类型。它包含有关遍历设备连接的信息,包括源 IP 地址和端口、目标 IP 地址和端口、服务类型、VLAN 以及可以编码到帧和协议标头中的其他信息。使用 Netflow 数据,网络运营商不仅可以监控网络中传输的数据量,还可以了解流量的来源、去向以及它属于哪些服务或应用程序。
入门
编辑Logstash Netflow 模块已被弃用,并已替换为 Filebeat Netflow 模块,该模块符合 Elastic 通用模式 (ECS)。
-
通过在 Logstash 安装目录中运行以下命令来启动 Logstash Netflow 模块
bin/logstash --modules netflow --setup -M netflow.var.input.udp.port=NNNN
其中
NNNN
是 Logstash 将在其上侦听网络流量数据的 UDP 端口。如果未指定端口,Logstash 默认侦听端口 2055。--modules netflow
选项会启动一个可感知 Netflow 的 Logstash 管道进行摄取。--setup
选项在 Elasticsearch 中创建一个netflow-*
索引模式,并导入 Kibana 仪表板和可视化。运行--setup
是一次性的设置步骤。省略此选项以供模块后续运行,以避免覆盖现有的 Kibana 仪表板。此处显示的命令假定您正在本地主机上运行 Elasticsearch 和 Kibana。如果不是,则需要指定其他连接选项。请参阅配置模块。
-
在 Kibana 中探索您的数据
- 打开您的浏览器并导航到 https://127.0.0.1:5601。如果启用了安全性,则需要指定您在设置安全性时使用的 Kibana 用户名和密码。
- 打开Netflow:网络概览仪表板。
- 有关数据探索的其他详细信息,请参阅 探索您的数据。
探索您的数据
编辑一旦 Logstash Netflow 模块开始处理事件,您就可以立即开始使用打包的 Kibana 仪表板来探索和可视化您的网络流量数据。
您可以按原样使用仪表板,也可以对其进行定制以更好地满足现有用例和业务需求。
示例仪表板
编辑在概览仪表板上,您可以看到基本流量数据的摘要,并在深入研究以更深入地了解数据之前设置过滤器。
例如,在对话伙伴仪表板上,您可以看到任何对话中客户端和服务器的源地址和目标地址。
在流量分析仪表板上,您可以通过查看字节的流量来识别高容量的对话。
然后,您可以转到地理位置仪表板,在热图上可视化目的地和源的位置。
配置模块
编辑您可以通过在 logstash.yml
设置文件中指定设置,或者在命令行中覆盖设置来进一步优化 Logstash Netflow 模块的行为。
例如,以下 logstash.yml
文件中的配置将 Logstash 设置为侦听端口 9996 以获取网络流量数据
modules: - name: netflow var.input.udp.port: 9996
要在命令行中指定相同的设置,您可以使用
bin/logstash --modules netflow -M netflow.var.input.udp.port=9996
有关配置模块的更多信息,请参阅使用 Logstash 模块。
配置选项
编辑Netflow 模块提供了以下设置来配置模块的行为。这些设置包括特定于 Netflow 的选项以及所有 Logstash 模块都支持的常见选项。
在命令行中覆盖设置时,请记住在设置前加上模块名称,例如 netflow.var.input.udp.port
而不是 var.input.udp.port
。
如果未指定配置设置,Logstash 将使用默认值。
Netflow 选项
-
var.input.udp.port
-
- 值类型为 数字
- 默认值为 2055。
设置 Logstash 侦听网络流量数据的 UDP 端口。尽管 2055 是此设置的默认值,但某些设备使用 9995 到 9998 范围内的端口,其中 9996 是最常用的替代端口。
-
var.input.udp.workers
-
- 值类型为 数字
- 默认值为 2。
处理数据包的线程数。
-
var.input.udp.receive_buffer_bytes
-
- 值类型为 数字
- 默认值为 212992。
套接字接收缓冲区大小(以字节为单位)。如果 receive_buffer_bytes 大于允许的值,操作系统将使用允许的最大值。如果需要增加此允许的最大值,请参阅您的操作系统文档。
-
var.input.udp.queue_size
-
- 值类型为 数字
- 默认值为 2000。
这是在数据包开始丢弃之前可以在内存中保存的未处理的 UDP 数据包的数量。
常用选项
所有模块都支持以下配置选项
-
var.elasticsearch.hosts
-
- 值类型为 uri
- 默认值为 "localhost:9200"
设置 Elasticsearch 集群的主机。对于每个主机,您必须指定主机名和端口。例如,“myhost:9200”。如果给定一个数组,Logstash 将在 hosts 参数中指定的主机之间进行负载均衡。重要的是将 专用主节点 从主机列表中排除,以防止 Logstash 将批量请求发送到主节点。因此,此参数应仅引用 Elasticsearch 中的数据节点或客户端节点。
此处 URL 中存在的任何特殊字符都必须进行 URL 转义!这意味着例如 # 应输入为 %23。
-
var.elasticsearch.username
-
- 值类型为 字符串
- 默认值为 "elastic"
用于向安全的 Elasticsearch 集群进行身份验证的用户名。
-
var.elasticsearch.password
-
- 值类型为 字符串
- 默认值为 "changeme"
用于向安全的 Elasticsearch 集群进行身份验证的密码。
-
var.elasticsearch.ssl.enabled
-
- 值类型为 布尔值
- 此设置没有默认值。
启用与 Elasticsearch 集群的 SSL/TLS 安全通信。保留此项未指定将使用
hosts
中列出的 URL 中指定的任何方案。如果未指定显式协议,将使用纯 HTTP。如果此处显式禁用 SSL,如果 hosts 中给出了 HTTPS URL,则插件将拒绝启动。 -
var.elasticsearch.ssl.verification_mode
-
- 值类型为 字符串
- 默认值为 "strict"
与 Elasticsearch 通信时的主机名验证设置。设置为
disable
以关闭主机名验证。禁用此项会存在严重的安全问题。 -
var.elasticsearch.ssl.certificate_authority
-
- 值类型为 字符串
- 此设置没有默认值
用于验证与 Elasticsearch 通信时 SSL 证书的 X.509 证书的路径。
-
var.elasticsearch.ssl.certificate
-
- 值类型为 字符串
- 此设置没有默认值
用于在与 Elasticsearch 通信时进行客户端身份验证的 X.509 证书的路径。
-
var.elasticsearch.ssl.key
-
- 值类型为 字符串
- 此设置没有默认值
用于在与 Elasticsearch 通信时进行客户端身份验证的证书密钥的路径。
-
var.kibana.host
-
- 值类型为 字符串
- 默认值为 "localhost:5601"
设置用于导入仪表板和可视化的 Kibana 实例的主机名和端口。例如:“myhost:5601”。
-
var.kibana.scheme
-
- 值类型为 字符串
- 默认值为 "http"
设置用于访问 Kibana 实例的协议。选项为:“http” 或 “https”。默认值为 “http”。
-
var.kibana.username
-
- 值类型为 字符串
- 默认值为 "elastic"
用于向安全的 Kibana 实例进行身份验证的用户名。
-
var.kibana.password
-
- 值类型为 字符串
- 默认值为 "changeme"
用于向安全的 Kibana 实例进行身份验证的密码。
-
var.kibana.ssl.enabled
-
- 值类型为 布尔值
- 默认值为 false
启用与 Kibana 实例的 SSL/TLS 安全通信。
-
var.kibana.ssl.verification_mode
-
- 值类型为 字符串
- 默认值为 "strict"
与 Kibana 通信时的主机名验证设置。设置为
disable
以关闭主机名验证。禁用此项会存在严重的安全问题。 -
var.kibana.ssl.certificate_authority
-
- 值类型为 字符串
- 此设置没有默认值
用于验证与 Kibana 通信时 SSL 证书的 X.509 证书的路径。
-
var.kibana.ssl.certificate
-
- 值类型为 字符串
- 此设置没有默认值
用于在与 Kibana 通信时进行客户端身份验证的 X.509 证书的路径。
-
var.kibana.ssl.key
-
- 值类型为 字符串
- 此设置没有默认值
用于在与 Kibana 通信时进行客户端身份验证的证书密钥的路径。