packetbeat 没有捕获大型 http POST 数据包

packetbeat is not catching large http POST packets

我正在使用 packetbeat 和 ELK(Elasticsearch、Logstash、Kibana)来监控我的服务器 http 数据包,它工作得很好但是我注意到 packetbeat 没有捕获大型 HTTP POST 以下是我的请求packetbeat.yml 文件

interfaces:
  device: any

############################# Protocols #######################################
protocols:
  dns:
    ports: [53]
    include_authorities: true
    include_additionals: true
  http:
    ports: [80, 8080, 8000, 5000, 8002]
  memcache:
    ports: [11211]
  mysql:
    ports: [3306]
  pgsql:
    ports: [5432]
  redis:
    ports: [6379]
  thrift:
    ports: [9090]
  mongodb:
    ports: [27017]

output:
  ### Logstash as output
  logstash:
    # The Logstash hosts
    hosts: ["localhost:5044"]


############################# Shipper #########################################

shipper:
############################# Logging #########################################
logging:

  files:
    rotateeverybytes: 10485760 # = 10MB

如果 HTTP 流变得大于 ~10MB,那么 Packetbeat drops it

最大大小在 TCP_MAX_DATA_IN_STREAM 常量中定义,无法在运行时更改。

如果您为 Packetbeat 启用调试,您应该能够通过在日志中查找 "Stream data too large, dropping TCP stream" 来确认流正在被丢弃。 运行 Packetbeat -d "http" 以启用此调试输出。