Packetbeat 快速入门:安装和配置

编辑

Packetbeat 快速入门:安装和配置

编辑

了解像 Packetbeat 这样的网络数据包分析系统的价值的最佳方法是在您自己的流量上尝试它。

本指南介绍如何快速入门网络数据包分析。您将学习如何

  • 在您要监控的每个系统上安装 Packetbeat
  • 指定要嗅探的网络设备和协议
  • 将数据包数据解析成字段并将其发送到 Elasticsearch
  • 在 Kibana 中可视化数据包数据
Packetbeat Overview dashboard

开始之前

编辑
  • 您需要 Elasticsearch 来存储和搜索数据,以及 Kibana 来可视化和管理数据。

    为了快速入门,启动我们托管的 Elasticsearch 服务的部署。Elasticsearch 服务可在 AWS、GCP 和 Azure 上使用。免费试用

  • 在大多数平台上,Packetbeat 需要 libpcap 数据包捕获库。根据您的操作系统,您可能需要安装它

    sudo apt-get install libpcap0.8

步骤 1:安装 Packetbeat

编辑

您可以在专用服务器上安装 Packetbeat,从镜像端口或监控端口获取流量,或者您可以在现有的应用程序服务器上安装它。

要下载并安装 Packetbeat,请使用适合您系统的命令

curl -L -O https://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-8.16.0-amd64.deb
sudo dpkg -i packetbeat-8.16.0-amd64.deb

显示的命令适用于 AMD 平台,但 ARM 包也可用。有关可用包的完整列表,请参阅下载页面

其他安装选项

编辑

步骤 2:连接到 Elastic Stack

编辑

需要连接到 Elasticsearch 和 Kibana 才能设置 Packetbeat。

packetbeat.yml中设置连接信息。要找到此配置文件,请参阅目录布局

指定您的 Elasticsearch 服务的cloud.id,并将cloud.auth 设置为有权设置 Packetbeat 的用户。例如

cloud.id: "staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw=="
cloud.auth: "packetbeat_setup:YOUR_PASSWORD" 

此示例显示了一个硬编码密码,但您应该将敏感值存储在密钥存储库中。

要了解有关所需角色和权限的更多信息,请参阅授予用户访问受保护资源的权限

您可以将数据发送到其他输出,例如 Logstash,但这需要额外的配置和设置。

步骤 3:配置嗅探

编辑

packetbeat.yml中,配置要从中捕获流量的网络设备和协议。

  1. 设置嗅探器类型。默认情况下,Packetbeat 使用pcap,它使用 libpcap 库,并在大多数平台上都能工作。

    在 Linux 上,将嗅探器类型设置为af_packet以使用内存映射嗅探。此选项比 libpcap 更快,并且不需要内核模块,但它是 Linux 特定的

    packetbeat.interfaces.type: af_packet
  2. 指定要从中捕获流量的网络设备。例如

    packetbeat.interfaces.device: eth0

    在 Linux 上,指定packetbeat.interfaces.device: any以捕获安装 Packetbeat 的服务器发送或接收的所有消息。any设置在 macOS 上不起作用。

    要查看可用设备的列表,请运行

    packetbeat devices

    有关这些设置的更多信息,请参阅流量嗅探

  3. protocols部分,配置 Packetbeat 可以找到每个协议的端口。如果您使用任何非标准端口,请在此处添加它们。否则,请使用默认值。

    packetbeat.protocols:
    
    - type: dhcpv4
      ports: [67, 68]
    
    - type: dns
      ports: [53]
    
    - type: http
      ports: [80, 8080, 8081, 5000, 8002]
    
    - type: memcache
      ports: [11211]
    
    - type: mysql
      ports: [3306,3307]
    
    - type: pgsql
      ports: [5432]
    
    - type: redis
      ports: [6379]
    
    - type: thrift
      ports: [9090]
    
    - type: mongodb
      ports: [27017]
    
    - type: cassandra
      ports: [9042]
    
    - type: tls
      ports: [443, 993, 995, 5223, 8443, 8883, 9243]

要测试您的配置文件,请更改到安装 Packetbeat 二进制文件的目录,并使用以下指定的选项在前台运行 Packetbeat:sudo ./packetbeat test config -e。确保您的配置文件位于 Packetbeat 预期的路径(请参阅目录布局),或者使用-c标志指定配置文件的路径。根据您的操作系统,运行此测试时您可能会遇到文件所有权问题。有关更多信息,请参阅配置文件所有权和权限

有关配置 Packetbeat 的更多信息,另请参阅

步骤 4:设置资源

编辑

Packetbeat 附带用于解析、索引和可视化数据的预定义资源。要加载这些资源

  1. 确保packetbeat.yml中指定的用户有权设置 Packetbeat
  2. 从安装目录运行

    packetbeat setup -e

    -e是可选的,它将输出发送到标准错误而不是配置的日志输出。

此步骤加载写入 Elasticsearch 的推荐索引模板,并部署用于在 Kibana 中可视化数据的示例仪表板。

需要连接到 Elasticsearch(或 Elasticsearch 服务)才能设置初始环境。如果您使用不同的输出,例如 Logstash,请参阅手动加载索引模板加载 Kibana 仪表板

步骤 5:启动 Packetbeat

编辑

在启动 Packetbeat 之前,请修改packetbeat.yml中的用户凭据,并指定有权发布事件的用户

要启动 Packetbeat,请运行

sudo service packetbeat start

如果您使用init.d脚本启动 Packetbeat,则无法指定命令行标志(请参阅命令参考)。要指定标志,请在前台启动 Packetbeat。

另请参阅Packetbeat 和 systemd

Packetbeat应该开始将数据流式传输到Elasticsearch。

步骤6:在Kibana中查看您的数据

编辑

Packetbeat自带预构建的Kibana仪表盘和UI,用于可视化日志数据。您在运行setup命令时已加载这些仪表盘。

要打开仪表盘:

  1. 启动Kibana

    1. 登录您的Elastic Cloud帐户。
    2. 导航到部署中的Kibana端点。
  2. 在侧边导航栏中,点击发现。要查看Packetbeat数据,请确保已选择预定义的packetbeat-*数据视图。

    如果在Kibana中没有看到数据,请尝试将时间过滤器更改为更大的范围。默认情况下,Kibana显示过去15分钟的数据。

  3. 在侧边导航栏中,点击仪表盘,然后选择要打开的仪表盘。

这些仪表盘仅供示例使用。我们建议您自定义它们以满足您的需求。

要在概览仪表盘中填充客户端位置地图,请按照使用geoIP信息丰富事件中描述的步骤操作。

下一步是什么?

编辑

现在您的数据已流式传输到Elasticsearch,学习如何统一您的日志、指标、正常运行时间和应用程序性能数据。

  1. 通过安装和配置其他Elastic Beats来摄取来自其他来源的数据

    Elastic Beats 用于捕获

    Metricbeat

    基础设施指标

    Filebeat

    日志

    Winlogbeat

    Windows事件日志

    Heartbeat

    正常运行时间信息

    APM

    应用程序性能指标

    Auditbeat

    审计事件

  2. 使用Kibana中的可观测性应用程序搜索所有数据

    Elastic应用程序 用于

    指标应用程序

    探索关于您整个生态系统中系统和服务的指标

    日志应用程序

    实时跟踪相关的日志数据

    正常运行时间应用程序

    监控您应用程序和服务的可用性问题

    APM应用程序

    监控应用程序性能

    SIEM应用程序

    分析安全事件