配置要监控的进程编辑

packetbeat.yml 配置文件部分是可选的,但配置进程可以使 Packetbeat 不仅向您显示流量流经的服务器,还可以显示进程。Packetbeat 甚至可以向您显示在同一主机上运行的两个进程之间的流量,当您在同一服务器上运行许多服务时,这将特别有用。默认情况下,进程丰富功能处于禁用状态。

当 Packetbeat 启动时,以及之后定期,它会扫描进程表以查找与配置文件匹配的进程。对于这些进程中的每一个,它会监控其打开了哪些文件描述符。当捕获到新数据包时,它会读取活动 TCP 和 UDP 连接的列表,并将相应的连接与文件描述符列表进行匹配。

所有这些信息都可通过系统接口获得:Linux 中的 /proc 文件系统和 Windows 上的 IP Helper API (iphlpapi.dll),因此 Packetbeat 不需要内核模块。

进程监控目前仅在 Linux 和 Windows 系统上受支持。Packetbeat 在检测到其他操作系统时会自动禁用进程监控。

示例配置

packetbeat.procs.enabled: true

启用进程监控后,它将丰富所有其源或目标是本地进程的事件。当连接的服务器端或客户端属于本地进程时,将向事件添加 source.process 和/或 destination.process 字段。

配置选项编辑

您可以在 packetbeat.yml 配置文件的 monitored 部分指定以下进程监控选项以自定义进程名称

process编辑

进程的名称,它将显示在已发布的交易中。该名称不必与可执行文件的名称匹配,因此您可以随意选择更具描述性的名称(例如,使用 "myapp" 而不是 "gunicorn")。

cmdline_grep编辑

用于在运行时识别进程的名称。当 Packetbeat 启动时,以及之后定期,它会扫描进程表以查找与为该选项指定的数值匹配的进程。匹配操作针对从 /proc/<pid>/cmdline 读取的进程命令行进行。

shutdown_timeout编辑

Packetbeat 在关闭时等待的时间。默认情况下,此选项被禁用。Packetbeat 将等待 shutdown_timeout,然后关闭。它不会跟踪是否之前已发送所有事件。

示例配置

packetbeat.shutdown_timeout: 5s

overwrite_pipelines编辑

默认情况下,如果已存在具有相同 ID 的管道,则不会更新 Ingest 管道。如果启用了此选项,Packetbeat 将在每次建立新的 Elasticsearch 连接时覆盖管道。

默认值为 false