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 通信时用于客户端身份验证的证书密钥路径。