packetbeat не перехватывает большие пакеты HTTP POST
Я использую packagebeat вместе с 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
1 ответ
Решение
Если поток HTTP становится больше ~10 МБ, Packetbeat удаляет его.
Максимальный размер определяется в константе TCP_MAX_DATA_IN_STREAM, которую нельзя изменить во время выполнения.
Если вы включите отладку для Packetbeat, вы сможете подтвердить, что поток отбрасывается, посмотрев "Поток данных слишком велик, отбрасывает поток TCP" в ваших журналах. Запустите Packetbeat с -d "http"
чтобы включить этот отладочный вывод.